/* ==========================================================================
   Maxelik, page fille « Site institutionnel » (classes si-), sur creation.css + site-vitrine.css
   Carte de commune, familles de structures, obligations, rôles éditoriaux, marchés publics, étapes
   ========================================================================== */

/* ---------- hero ---------- */
.si-hero-bg{object-position:50% 45%}

.si-card{position:relative;justify-self:end;width:100%;max-width:440px}
.si-card-in{display:grid;gap:10px;padding:14px;border-radius:0 0 var(--r) var(--r);background:#fff;box-shadow:0 50px 100px -40px rgba(0,0,0,.85)}
.si-c-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:var(--r);background:#0f3b6b;color:#fff;font-size:.8rem}
.si-c-nav .srch{padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.14);font-size:.7rem;color:#dbe9f7}
.si-c-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.si-c-tiles span{padding:20px 4px 8px;border-radius:var(--r);background:#eaf2fb;text-align:center;font-size:.7rem;font-weight:800;color:#0f3b6b}
.si-c-row{display:grid;grid-template-columns:1.2fr 1fr;gap:8px}
.si-c-ag,.si-c-doc{display:grid;gap:5px;padding:10px;border-radius:var(--r);background:var(--soft);font-size:.72rem;color:var(--ink-2)}
.si-c-ag b,.si-c-doc b{font-size:.78rem;color:var(--slate)}
.si-c-ag i,.si-c-doc i{font-style:normal;padding-left:8px;border-left:2px solid #9fc9ef}
.si-c-acc{padding:6px 10px;border-radius:var(--r);background:#f4f7fa;font-size:.68rem;font-weight:700;color:var(--ink-2)}
.si-card .sv-dot.d1{left:-10px;top:96px}.si-card .sv-dot.d2{right:-10px;top:170px}.si-card .sv-dot.d3{right:-10px;top:226px}.si-card .sv-dot.d4{left:-10px;top:268px}

/* ---------- pour quelles structures ---------- */
.si-who-s{background:linear-gradient(180deg,#f4f8fd 0%,#fff 80%)}
.si-fam{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.si-f{display:flex;flex-direction:column;gap:12px;padding:26px 24px;border-radius:var(--r);background:#fff;box-shadow:0 30px 60px -46px rgba(10,40,80,.5)}
.si-f.is-corp{background:var(--slate);box-shadow:0 30px 60px -36px rgba(10,40,80,.8);color:#c8d3d9}
.si-f-k{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--blue)}
.si-f-k .ico{width:22px;height:22px}
.si-f.is-corp .si-f-k{color:#7fd8ff}
.si-f.is-corp .si-f-k .ico .s{stroke:#e9f0f3}.si-f.is-corp .si-f-k .ico .fs{fill:rgba(255,255,255,.1)}
.si-f h3{font-size:1.15rem;line-height:1.3}
.si-f.is-corp h3{color:#fff}
.si-f>p:not(.si-f-k){font-size:.95rem;color:var(--ink-2)}
.si-f.is-corp>p:not(.si-f-k){color:#c8d3d9}
.si-f ul{list-style:none;margin:auto 0 0;padding:14px 0 0;border-top:1px solid #e6edf3;display:grid;gap:7px}
.si-f.is-corp ul{border-top-color:rgba(255,255,255,.14)}
.si-f li{position:relative;padding-left:20px;font-size:.92rem;font-weight:700;color:var(--slate)}
.si-f.is-corp li{color:#fff}
.si-f li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:2px;background:var(--grad)}
.si-vs{margin-top:22px;font-size:1rem;color:var(--ink-2)}
.si-vs a{color:var(--blue);font-weight:800}

/* ---------- obligations ---------- */
.si-obl-s{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(90% 80% at 90% 0%,#0b3a72 0%,#121c2b 55%,#0f171c 100%)}
.si-obl-s::after{content:"";position:absolute;z-index:-1;left:-8%;bottom:-16%;width:min(560px,46vw);aspect-ratio:1;background:url("img/maxelik-symbole.svg") no-repeat center/contain;opacity:.06;filter:brightness(3)}
.si-obl-head{display:grid;gap:14px;margin-bottom:clamp(28px,3.5vw,44px)}
.si-obl-head p{font-size:1.04rem;color:#cbd6dc}
.si-obl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.si-o{display:flex;flex-direction:column;gap:10px;padding:22px 22px 18px;border-radius:var(--r);background:rgba(255,255,255,.05)}
.si-o-tag{align-self:flex-start;padding:4px 10px;border-radius:999px;background:rgba(127,216,255,.14);font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#9fdcff}
.si-o-tag.is-hi{background:#f2b84b;color:#2a1d05}
.si-o h3{font-size:1.1rem;color:#fff}
.si-o p{font-size:.93rem;color:#c8d3d9;line-height:1.55}
.si-o small{margin-top:auto;padding-top:10px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;font-weight:700;color:#8fa3ad}
.si-obl-n{margin-top:20px;font-size:.95rem;color:#dbe4e8}

/* ---------- rubriques ---------- */
.si-tree-s{background:#fff}
.si-tree .sv-node{background:var(--soft)}
.si-tree .sv-node b{color:var(--slate)}
.si-tree .sv-node span{color:var(--ink-2)}
.si-tree .sv-root{background:var(--grad);box-shadow:0 20px 40px -20px rgba(0,131,255,.8)}
.si-tree .sv-root b,.si-tree .sv-root span{color:#fff}
.si-tree .sv-br-t{color:var(--blue)}
.si-tree .sv-root::after,.si-tree .sv-branches::before,.si-tree .sv-br::before{background:#9fc9ef}
.si-tree-n{margin-top:22px;font-size:.98rem;color:var(--ink-2)}

/* ---------- publication au quotidien ---------- */
.si-pub-s{background:var(--soft)}
.si-pub{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:start}
.si-pub-t{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.si-pub-t p{font-size:1.05rem;color:var(--ink-2)}
.si-roles{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.si-roles li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 16px;align-items:center;padding:16px 20px;border-radius:var(--r);background:#fff;box-shadow:0 22px 46px -34px rgba(19,40,60,.42)}
.si-roles b{color:var(--slate)}
.si-roles span{grid-column:1;font-size:.9rem;color:var(--ink-2)}
.si-roles em{grid-row:1 / span 2;grid-column:2;font-style:normal;padding:5px 12px;border-radius:999px;background:var(--slate);color:#fff;font-size:.78rem;font-weight:800}
.si-roles li:last-child em{background:var(--grad)}

/* ---------- exemples ---------- */
.si-gal-s{background:#fff}

/* ---------- marchés publics ---------- */
.si-mp-s{background:var(--slate-2)}
.si-mp{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.si-m{position:relative;display:grid;gap:10px;align-content:start;padding:24px 22px;border-radius:var(--r);background:rgba(255,255,255,.05)}
.si-m-n{font-size:2rem;font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1.2px #7fd8ff}
.si-m h3{font-size:1.1rem;color:#fff}
.si-m p{font-size:.94rem;color:#c8d3d9}
.si-mp-n{margin-top:20px;font-weight:700;color:#fff}

/* ---------- étapes ---------- */
.si-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.si-steps li{display:grid;gap:6px;align-content:start;padding:22px;border-radius:var(--r);background:#fff;box-shadow:0 22px 46px -34px rgba(19,40,60,.42)}
.si-steps span{font-size:.85rem;font-weight:900;color:var(--blue)}
.si-steps b{font-size:1.05rem;color:var(--slate)}
.si-steps p{font-size:.92rem;color:var(--ink-2)}
.si-met-n{margin-top:20px;font-size:.98rem;color:var(--ink-2)}

/* ---------- cités par les IA ---------- */
.si-ia-s{position:relative;isolation:isolate;overflow:clip;background:radial-gradient(90% 80% at 10% 0%,#0b3a72 0%,#121c2b 55%,#0f171c 100%)}
.si-ia-s::after{content:"";position:absolute;z-index:-1;right:-6%;top:-10%;width:min(520px,42vw);aspect-ratio:1;background:url("img/maxelik-symbole.svg") no-repeat center/contain;opacity:.06;filter:brightness(3)}
.si-ia{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,64px);align-items:start}
.si-chat{position:sticky;top:calc(var(--head-bar) + 40px)}
.si-chat{display:grid;gap:12px;padding:22px;border-radius:var(--r);background:#fff;color:var(--ink-2);box-shadow:0 50px 90px -50px rgba(0,0,0,.9)}
.si-chat-q{justify-self:end;max-width:86%;padding:12px 16px;border-radius:var(--r) var(--r) 2px var(--r);background:var(--slate);color:#fff;font-size:.9rem;line-height:1.45}
.si-chat-a{display:grid;gap:10px;max-width:92%;padding:14px 16px;border-radius:var(--r) var(--r) var(--r) 2px;background:var(--soft);font-size:.9rem;line-height:1.55}
.si-chat-src{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.78rem;font-weight:800;color:var(--blue)}
.si-chat-src span{padding:3px 8px;border-radius:999px;background:var(--grad);color:#fff;font-size:.7rem;letter-spacing:.04em;text-transform:uppercase}
.si-chat-ill{font-size:.72rem;color:var(--gray);text-align:right}
.si-ia-t>p:first-child{font-size:1.04rem;color:#cbd6dc}
.si-ia-l{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;counter-reset:ia}
.si-ia-l li{counter-increment:ia;display:block;padding:18px;border-radius:var(--r);background:rgba(255,255,255,.05);font-size:.9rem;color:#c8d3d9}
.si-ia-l li::before{display:block;margin-bottom:6px;content:counter(ia,decimal-leading-zero);font-size:.78rem;font-weight:900;letter-spacing:.1em;color:#7fd8ff}
.si-ia-l b{display:block;margin-bottom:6px;font-size:1rem;color:#fff}
.si-ia-n{margin-top:18px;font-size:.95rem;color:#dbe4e8}
.si-ia-n a,.si-ia-l a{color:#7fd8ff;font-weight:800}
.si-steps a{color:var(--blue)}
.sv-tier.is-nor a{color:#7fd8ff}
@media (max-width:900px){.si-ia{grid-template-columns:1fr}}
@media (max-width:560px){.si-ia-l{grid-template-columns:1fr}}

/* ---------- adaptations ---------- */
@media (max-width:1100px){.si-card{justify-self:start;max-width:520px}.si-fam,.si-obl,.si-mp{grid-template-columns:1fr 1fr}.si-steps{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.si-pub{grid-template-columns:1fr}}
@media (max-width:560px){.si-card{display:none}.si-fam,.si-obl,.si-mp,.si-steps{grid-template-columns:1fr}}
