/*
  DOMINIZ THEME — AG2I GLOBAL
  Usage: <link rel="stylesheet" href="/css/dominiz.css">
  Palette & composants pour tout le site (pages internes).
*/

:root{
  --bg:#0b0b0c;         /* Noir profond */
  --panel:#121214;      /* Noir adouci */
  --muted:#2a2a2e;      /* Gris foncé */
  --text:#f5f5f7;       /* Blanc cassé */
  --soft:#c9c9cf;       /* Gris clair */
  --gold:#d4af37;       /* Or DOMINIZ */
  --gold-2:#b7922d;     /* Or foncé */
  --link:#f5f5f7;
  --ok:#20c997; --warn:#ffc107; --bad:#ff6b6b;
  --radius:18px;
  --radius-sm:12px;
  --radius-lg:28px;
  --shadow:0 10px 30px rgba(0,0,0,.35);
  --shadow-sm:0 6px 18px rgba(0,0,0,.25);
  --shadow-lg:0 18px 50px rgba(0,0,0,.45);
  --border:1px solid rgba(212,175,55,.18);
}

/* ===== Reset & base ===== */
*{box-sizing:border-box}
html,body{height:100%}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,var(--bg),#121217 55%, #0b0b0c);color:var(--text);font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif}
img{max-width:100%;height:auto;vertical-align:middle}
svg{display:inline-block}

/* Links */
a{color:var(--link);text-decoration:none}
a:hover{opacity:.9}

/* Typography */
h1,h2,h3,h4{margin:0 0 .4em}
h1{font-size:38px;line-height:1.2}
h2{font-size:28px}
h3{font-size:20px}
p{margin:.6em 0;color:var(--soft)}
.small{font-size:.875rem;color:#aeb1b8}
.muted{color:#9ea1a8}
.kicker{color:var(--gold);text-transform:uppercase;font-size:12px;letter-spacing:1.2px}
.lead{color:var(--soft);font-size:18px}

/* Layout helpers */
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.row{display:flex;align-items:center;justify-content:space-between;gap:18px}
.grid{display:grid;gap:18px}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
section{padding:56px 0}

/* Spacing utilities (subset) */
.mt-0{margin-top:0}.mt-1{margin-top:6px}.mt-2{margin-top:12px}.mt-3{margin-top:18px}.mt-4{margin-top:26px}
.mb-0{margin-bottom:0}.mb-1{margin-bottom:6px}.mb-2{margin-bottom:12px}.mb-3{margin-bottom:18px}.mb-4{margin-bottom:26px}
.p-1{padding:8px}.p-2{padding:14px}.p-3{padding:22px}.p-4{padding:30px}

/* Flex utilities */
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:14px}.gap-3{gap:20px}

/* Radius & shadow */
.rounded{border-radius:var(--radius)}
.rounded-sm{border-radius:var(--radius-sm)}
.rounded-lg{border-radius:var(--radius-lg)}
.shadow{box-shadow:var(--shadow)}
.shadow-sm{box-shadow:var(--shadow-sm)}
.shadow-lg{box-shadow:var(--shadow-lg)}

/* ===== Header / Nav ===== */
.topbar{position:sticky;top:0;z-index:50;background:rgba(11,11,12,.75);backdrop-filter:blur(10px);border-bottom:1px solid rgba(212,175,55,.25)}
.brand{display:flex;align-items:center;gap:14px;padding:12px 0}
.brand img{width:44px;height:44px;border-radius:12px;box-shadow:var(--shadow)}
.brand h1{margin:0;font-size:18px;font-weight:700;letter-spacing:.3px}
nav.primary{display:flex;gap:10px;flex-wrap:wrap}
nav.primary a{padding:10px 14px;border:1px solid rgba(212,175,55,.18);border-radius:12px}
nav.primary a[aria-current="page"], nav.primary a.active{background:rgba(212,175,55,.08);border-color:rgba(212,175,55,.35)}

/* ===== Panels & Cards ===== */
.panel{background:radial-gradient(1200px 600px at -10% -10%, rgba(212,175,55,.08), transparent 60%), linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));border:var(--border);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}
.card{background:linear-gradient(180deg,var(--panel),#0f0f12);border:1px solid rgba(212,175,55,.14);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow)}
.card h3{margin:0 0 8px;font-size:18px;color:var(--gold)}
.card .meta{color:#9ea1a8;font-size:.9rem}

/* Hero */
.hero{position:relative;padding:80px 0}
.hero-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}
.title{font-size:40px;line-height:1.1;margin:.2em 0 .5em}
.actions{display:flex;gap:12px;margin-top:20px;flex-wrap:wrap}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;border:1px solid rgba(212,175,55,.25);cursor:pointer;transition:transform .08s ease,opacity .2s ease}
.btn:hover{transform:translateY(-1px)}
.btn:active{transform:translateY(0)}
.btn.cta{background:linear-gradient(180deg,var(--gold),var(--gold-2));color:#131313;border:none}
.btn.secondary{background:transparent}
.btn.ghost{background:transparent;border:1px dashed rgba(212,175,55,.35)}
.btn.ok{background:rgba(32,201,151,.15);border-color:rgba(32,201,151,.35);color:#22d3a6}
.btn.warn{background:rgba(255,193,7,.1);border-color:rgba(255,193,7,.35);color:#ffd66b}
.btn.bad{background:rgba(255,107,107,.12);border-color:rgba(255,107,107,.35);color:#ff9b9b}

/* Badges / Chips */
.badge{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:999px;border:1px solid rgba(212,175,55,.25);font-size:.85rem}
.badge.gold{background:rgba(212,175,55,.12);color:var(--gold);border-color:rgba(212,175,55,.35)}
.badge.ok{background:rgba(32,201,151,.12);color:#22d3a6;border-color:rgba(32,201,151,.35)}

/* Alerts */
.alert{padding:14px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#111214}
.alert.ok{border-color:rgba(32,201,151,.35);background:rgba(32,201,151,.08);color:#b6fff0}
.alert.warn{border-color:rgba(255,193,7,.35);background:rgba(255,193,7,.08);color:#ffe9a6}
.alert.bad{border-color:rgba(255,107,107,.35);background:rgba(255,107,107,.08);color:#ffc9c9}

/* Tables */
.table{width:100%;border-collapse:separate;border-spacing:0;background:linear-gradient(180deg,var(--panel),#0f0f12);border:1px solid rgba(212,175,55,.14);border-radius:14px;overflow:hidden}
.table th,.table td{padding:14px 16px;text-align:left}
.table thead th{background:rgba(212,175,55,.08);color:var(--gold);font-weight:600}
.table tbody tr+tr td{border-top:1px solid rgba(255,255,255,.04)}
.table tbody tr:hover{background:rgba(255,255,255,.02)}
.table .num{text-align:right}

/* Forms */
.label{display:block;margin:0 0 6px;color:#cfd1d6;font-size:.94rem}
.input,select,textarea{width:100%;background:#0f0f12;border:1px solid rgba(255,255,255,.12);color:var(--text);border-radius:12px;padding:12px 14px;outline:none;transition:border-color .2s ease, box-shadow .2s ease}
.input:focus,select:focus,textarea:focus{border-color:rgba(212,175,55,.45);box-shadow:0 0 0 3px rgba(212,175,55,.15)}
.input[disabled]{opacity:.6;cursor:not-allowed}
.help{font-size:.85rem;color:#9ea1a8;margin-top:6px}

/* Switch / checkbox */
.switch{position:relative;display:inline-block;width:44px;height:24px}
.switch input{display:none}
.slider{position:absolute;cursor:pointer;inset:0;background:#1a1a1d;border-radius:999px;transition:.2s;border:1px solid rgba(255,255,255,.12)}
.slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:2.5px;background:#fff;border-radius:999px;transition:.2s}
.switch input:checked + .slider{background:linear-gradient(180deg,var(--gold),var(--gold-2));border-color:transparent}
.switch input:checked + .slider:before{transform:translateX(20px)}

/* Tabs */
.tabs{display:flex;border-bottom:1px solid rgba(212,175,55,.25);gap:6px;flex-wrap:wrap}
.tab{padding:10px 14px;border:1px solid transparent;border-radius:10px 10px 0 0}
.tab.active{border-color:rgba(212,175,55,.25);background:rgba(212,175,55,.08);color:var(--gold)}

/* Breadcrumbs */
.breadcrumbs{display:flex;gap:8px;flex-wrap:wrap;color:#a8abb2}
.breadcrumbs a{opacity:.9}
.breadcrumbs .sep{opacity:.6}

/* Pagination */
.pagination{display:flex;gap:8px;align-items:center}
.page{padding:8px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px}
.page.active{border-color:rgba(212,175,55,.4);background:rgba(212,175,55,.08);color:var(--gold)}

/* Accordion (details/summary) */
.accordion{border:1px solid rgba(255,255,255,.12);border-radius:14px;overflow:hidden}
.accordion details{background:#0f0f12}
.accordion summary{cursor:pointer;padding:14px 16px;font-weight:600;color:var(--text);list-style:none}
.accordion summary::-webkit-details-marker{display:none}
.accordion .content{padding:0 16px 16px;color:var(--soft)}
.accordion details+details{border-top:1px solid rgba(255,255,255,.08)}

/* Timeline / Steps */
.timeline{position:relative;padding-left:26px}
.timeline:before{content:"";position:absolute;left:10px;top:0;bottom:0;width:2px;background:rgba(212,175,55,.35)}
.step{position:relative;margin:10px 0}
.step:before{content:"";position:absolute;left:-2px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--gold)}

/* Modal (baseline, requires small JS for toggling) */
.modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.55);z-index:100}
.modal.open{display:flex}
.modal .box{background:#101013;border:var(--border);border-radius:16px;max-width:640px;width:92%;padding:20px;box-shadow:var(--shadow-lg)}

/* Footer */
footer{border-top:1px solid rgba(212,175,55,.25);padding:30px 0 60px;color:var(--soft)}
.footgrid{display:grid;gap:16px;grid-template-columns:2fr 1fr 1fr}
.legal{font-size:12px;color:#8b8e95;margin-top:10px}

/* Tables: data variant */
.table.striped tbody tr:nth-child(odd){background:rgba(255,255,255,.02)}
.table.compact th,.table.compact td{padding:10px 12px}

/* Code blocks */
pre,code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
pre{background:#0f0f12;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:14px;overflow:auto}
code{color:#e3e6ed}

/* Callouts */
.callout{border-left:3px solid var(--gold);padding:10px 14px;background:linear-gradient(180deg,#0d0d10,#0f0f12);border-radius:8px}

/* Media object */
.media{display:flex;gap:14px}
.media .media-img{flex:0 0 56px}
.media .media-body{min-width:0}

/* Cards: list group */
.list{display:grid;gap:10px}
.list .item{display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:12px 14px;background:#0f0f12}

/* Sidebar layout (for inner pages) */
.layout{display:grid;grid-template-columns:260px 1fr;gap:22px}
.aside{position:sticky;top:76px;align-self:start}
.menu{display:grid;gap:8px}
.menu a{padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;opacity:.9}
.menu a.active{border-color:rgba(212,175,55,.45);background:rgba(212,175,55,.08);color:var(--gold)}

/* Breadcrumb header block */
.page-header{padding:28px;border:var(--border);border-radius:var(--radius);background:radial-gradient(1000px 500px at -10% -10%, rgba(212,175,55,.08), transparent 55%) }
.page-title{font-size:28px;margin:0}
.page-sub{color:#aeb1b8}

/* Print tweaks */
@media print{
  body{background:#fff;color:#000}
  .topbar,footer{display:none}
  .panel,.card,.page-header{border-color:#ccc;box-shadow:none;background:#fff}
}

/* Responsive */
@media (max-width: 1100px){.grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media (max-width: 900px){
  .hero-grid{grid-template-columns:1fr}
  .grid.cols-3{grid-template-columns:1fr}
  .grid.cols-2{grid-template-columns:1fr}
  .footgrid{grid-template-columns:1fr}
  .layout{grid-template-columns:1fr}
  .title{font-size:34px}
}
