/* Composants partagés par les pages et les plugins Azuriom. */
#app { font-family:system-ui,-apple-system,"Segoe UI",sans-serif; }
#app.stsite { --st-gutter:clamp(20px,1.5vw,32px); --sth-bg:var(--color-4,#150859); --sth-surface:#291345; --sth-raised:#352052; --sth-line:#634074; --sth-accent:var(--color-1,#fe7d2a); --sth-text:#f4f1e9; --sth-muted:#d1bedc; color:var(--sth-text); min-height:100vh; }
body:has(#app.stsite) { --bs-body-bg:#150859; --bs-body-color:#f4f1e9; --bs-emphasis-color:#fff; --bs-secondary-color:#d1bedc; --bs-tertiary-color:#b7a3c6; --bs-secondary-bg:#2b1647; --bs-tertiary-bg:#351b51; --bs-primary:#fe7d2a; --bs-primary-rgb:254,125,42; --bs-link-color:#ffb584; --bs-link-hover-color:#ffceae; --bs-border-color:#b880af40; --bs-border-radius:.75rem; background:#150859; }
#app.stsite .site-content-body { padding-bottom:0!important; min-width:0; }
#app.stsite #content { min-width:0; }
#app.stsite .card { --bs-card-bg:#291345; --bs-card-color:#f4f1e9; --bs-card-border-color:transparent; background:linear-gradient(145deg,#35184f,#24103f); color:#f4f1e9; border:0; border-radius:12px; box-shadow:0 12px 32px #10052130; }
#app.stsite :is(h1,h2,h3,h4,h5,h6) { font-family:inherit!important; }
#app.stsite :is(.card-header,.card-footer) { background:#ffffff03; border-color:#b880af30; }
#app.stsite .card-body { min-width:0; }
#app.stsite a:not(.btn):not(.sidebar-link) { color:#ffba90; }
#app.stsite .text-muted { color:#c9b8d5!important; }
body:has(#app.stsite) :is(.form-control,.form-select) { --bs-body-bg:#1d0c38; background-color:#1d0c38; color:#f5eefb; border-color:#825287; border-radius:8px; }
body:has(#app.stsite) :is(.form-control,.form-select):focus { border-color:#fe7d2a; box-shadow:0 0 0 3px #fe7d2a26; }
body:has(#app.stsite) .form-control::placeholder { color:#a995b9; }
#app.stsite .btn { border-radius:7px; }
body:has(#app.stsite) :is(.btn-primary,.btn-gradient) { --bs-btn-color:#200b31; --bs-btn-bg:#fe7d2a; --bs-btn-border-color:#ff9b68; --bs-btn-hover-color:#200b31; --bs-btn-hover-bg:#ff9a56; --bs-btn-hover-border-color:#ffb47d; background:linear-gradient(115deg,var(--color-1,#fe7d2a),var(--color-2,#fe2d4f)); color:#200b31; font-weight:700; box-shadow:0 5px 16px #b82d4926,inset 0 1px 0 #ffffff30; }
body:has(#app.stsite) :is(.btn-primary,.btn-gradient):is(:hover,:focus-visible) { background:linear-gradient(115deg,#ffa66b,#ff536e); box-shadow:0 7px 20px #c9324b40,inset 0 1px 0 #ffffff40; }
body:has(#app.stsite) .btn-outline-primary { --bs-btn-color:#ffb584; --bs-btn-border-color:#fe7d2a80; --bs-btn-hover-bg:#fe7d2a; --bs-btn-hover-color:#200b31; --bs-btn-hover-border-color:#fe7d2a; }
#app.stsite .table { --bs-table-bg:transparent; --bs-table-color:#f4edf9; --bs-table-border-color:#c791ba30; --bs-table-striped-bg:#ffffff04; --bs-table-hover-bg:#ffffff08; }
#app.stsite .table-dark { --bs-table-bg:#1e0d38; --bs-table-color:#f4edf9; }
#app.stsite .list-group { --bs-list-group-bg:#281343; --bs-list-group-color:#eee2f5; --bs-list-group-border-color:#c791ba24; --bs-list-group-active-bg:#5b2a61; --bs-list-group-active-border-color:#fe7d2a66; --bs-list-group-active-color:#fff; }
#app.stsite .nav-tabs { --bs-nav-tabs-border-color:#c791ba30; --bs-nav-tabs-link-active-bg:#39204f; --bs-nav-tabs-link-active-color:#fff; --bs-nav-tabs-link-active-border-color:#c791ba40; }
#app.stsite .pagination { --bs-pagination-bg:#2b1647; --bs-pagination-color:#f0e2f8; --bs-pagination-border-color:#c791ba30; --bs-pagination-hover-bg:#412056; --bs-pagination-hover-color:#fff; --bs-pagination-active-bg:#9d3a59; --bs-pagination-active-border-color:#fe7d2a; --bs-pagination-disabled-bg:#201036; --bs-pagination-disabled-color:#a995b9; }
body:has(#app.stsite) :is(.modal-content,.dropdown-menu) { --bs-dropdown-bg:#2b1647; --bs-dropdown-color:#f4edf9; --bs-dropdown-link-color:#f4edf9; --bs-dropdown-link-hover-bg:#52285c; --bs-dropdown-link-hover-color:#fff; background-color:#2b1647; border-color:#c791ba40; color:#f4edf9; }
#app.stsite :is(img,video,iframe) { max-width:100%; }
#app.stsite .table-responsive { border-radius:10px; }
.stsite-page-heading { padding:30px 36px; margin:0 0 28px; border-radius:14px; background:linear-gradient(105deg,#25103ff5 12%,#2f0f74b8 75%),var(--st-heading-image,url('../img/skytirmy-web-night.webp')) center 44%/cover; box-shadow:0 15px 40px #0d052b25; }
.stsite-page-heading nav { display:flex; flex-wrap:wrap; gap:10px; align-items:center; color:#d7bfdf; font-size:12px; margin-bottom:17px; }
.stsite-page-heading h1 { margin:0; font-size:clamp(28px,3.2vw,42px); line-height:1.15; letter-spacing:-.035em; font-weight:650; color:#fff; overflow-wrap:anywhere; }

#app.stsite { display:block!important; height:auto; overflow:visible; }
body:has(#app.stsite) { height:auto; overflow:auto; background:#150859; }
#app.stsite #content { height:auto; overflow:visible; }
#app.stsite .content-wrapper { background:none!important; }
#app.stsite #sidebar { max-width:none!important; overflow:visible; }
#app.stsite #sidebar { display:flex!important; }
#app.stsite #sidebar-mobile { display:none!important; }
#app.stsite #sidebar .sidebar-middle { margin:0; overflow:visible; }
#app.stsite #sidebar .sidebar-start { overflow:visible; min-width:185px; }
#app.stsite #sidebar .sidebar-image .icon { flex-shrink:0; }
#app.stsite :is(h1,h2,h3,h5,h6,button,a) { font-family:inherit; }
#app.stsite { --gradient-1:linear-gradient(120deg,var(--color-1,#fe7d2a),var(--color-2,#fe2d4f)); --gradient-2:linear-gradient(135deg,#47216f,#241043); }
#app.stsite :is(h1,h2,h3,h5,h6) { font-family:inherit!important; }
#app.stsite #content { background:transparent!important; color:var(--sth-text); }
#app.stsite #sidebar { position:sticky!important; top:0; left:0; width:100%!important; height:84px!important; min-height:0; display:flex; flex-direction:row; align-items:center; gap:24px; padding:0 var(--st-gutter); background:#1a0b35f5!important; border-bottom:1px solid #fe7d2a2c; box-shadow:0 8px 35px #0003; z-index:1020; backdrop-filter:blur(18px); }
#app.stsite #sidebar .sidebar-start { flex:0 0 auto; margin:0; }
#app.stsite #sidebar .sidebar-middle { display:flex; flex:1; justify-content:center; align-items:center; gap:5px; width:auto; height:auto; padding:0; }
#app.stsite #sidebar .sidebar-end { display:flex; flex-direction:row; align-items:center; gap:10px; width:auto; margin:0; padding:0; }
#app.stsite #sidebar .sidebar-link { display:flex; align-items:center; gap:9px; width:auto!important; height:auto; min-height:42px; padding:10px 13px; border-radius:6px; margin:0; color:#c1c6d3; text-decoration:none; background:transparent!important; transition:color .18s,background .18s; }
#app.stsite #sidebar .sidebar-link .text { display:inline!important; position:static; width:auto; padding:0; margin:0; opacity:1; transform:none; visibility:visible; font-size:14px; white-space:nowrap; }
#app.stsite #sidebar .sidebar-middle .icon { display:none; }
#app.stsite #sidebar .sidebar-link:is(:hover,:focus-visible,.active) { color:var(--sth-accent); background:#fe7d2a0c!important; }
#app.stsite #sidebar .sidebar-link.active { box-shadow:inset 0 -2px var(--sth-accent); }
#app.stsite #sidebar .sidebar-image { padding:0; gap:12px; }
#app.stsite #sidebar .sidebar-image .icon { width:45px; height:45px; padding:0; }
#app.stsite #sidebar .sidebar-image img { width:45px; height:45px; object-fit:contain; }
#app.stsite #sidebar .sidebar-image .text { font-size:19px; font-weight:750; letter-spacing:.04em; color:var(--sth-text); }
#app.stsite #sidebar .sidebar-dropdown-body { top:72px; bottom:auto; left:auto; right:24px; background:var(--sth-raised); border:1px solid var(--sth-line); border-radius:10px; box-shadow:0 18px 50px #0006; }
#app.stsite #content { margin:0!important; width:100%!important; padding:0; }
#app.stsite #content .content-wrapper { padding:30px var(--st-gutter) 0!important; }
#app.stsite #topbar-mobile { display:none!important; }
#app.stsite #bigfooter { max-width:none; margin:50px auto 0; padding:32px 0; background:transparent!important; border-top:1px solid var(--sth-line); border-radius:0; box-shadow:none; }
#app.stsite #bigfooter h6 { font-size:15px; letter-spacing:.04em; font-weight:650; color:var(--sth-text); }
#app.stsite #bigfooter a { color:var(--sth-muted); font-size:12px; }
#app.stsite #bigfooter .row { margin:0; width:100%; }
#app.stsite #footer { margin:0; border:0; border-radius:0; padding:20px 28px; font-size:10px; color:#7d879c; background:#10072c!important; }
#app.stsite #footer a { color:#aeb5c5; }
#app.stsite #footer .card-body { background:transparent; padding:0!important; }
#app.stsite a:focus-visible,#app.stsite button:focus-visible { outline:2px solid var(--sth-accent); outline-offset:4px; }
#app.stsite { background:radial-gradient(ellipse at 5% 50%,#fe7d2a14,transparent 38%),radial-gradient(ellipse at 95% 75%,#fe2d4f1b,transparent 45%),linear-gradient(160deg,#2f0f74,#150859 60%,#32115f); }
#app.stsite #sidebar { border-top:2px solid #fe7d2a; border-bottom-color:#fe2d4f70; }
#app.stsite #sidebar .sidebar-dropdown-body { position:absolute; top:76px!important; left:auto!important; right:24px; width:280px; max-width:calc(100vw - 40px); min-height:0!important; }
@media(max-width:799px) { #app.stsite #sidebar .sidebar-dropdown-body { top:76px!important; right:20px; } }
@media(max-width:1199px) {
 #app.stsite #sidebar { padding:0 24px; gap:12px; }
 #app.stsite #sidebar .sidebar-link { padding:9px; }
 #app.stsite #sidebar .sidebar-middle .text { font-size:12px; }
 #app.stsite #sidebar .sidebar-end .text { display:none!important; }
}
@media(max-width:799px) {
 #app.stsite #sidebar { position:relative!important; height:auto!important; padding:16px 20px 0; gap:10px; flex-wrap:wrap; }
 #app.stsite #sidebar .sidebar-start { flex:1; min-width:0; }
 #app.stsite #sidebar .sidebar-end { margin-left:auto; }
 #app.stsite #sidebar .sidebar-end .sidebar-link { width:42px!important; height:42px; min-width:42px; min-height:42px; padding:4px; justify-content:center; }
 #app.stsite #sidebar .sidebar-end .icon { width:34px; height:34px; padding:0; margin:0; }
 #app.stsite #sidebar .sidebar-end img { width:34px!important; height:34px!important; }
 #app.stsite #sidebar .sidebar-middle { order:3; flex:0 0 calc(100% + 40px); margin:5px -20px 0; padding:0 12px; overflow-x:auto; justify-content:space-between; gap:0; border-top:1px solid #ffffff09; }
 #app.stsite #sidebar .sidebar-middle .sidebar-link { flex-shrink:0; padding:13px 10px; border-radius:0; }
 #app.stsite #content .content-wrapper { padding:20px 20px 0!important; }
 #app.stsite #bigfooter { margin:30px 20px 0; padding-top:24px; }
}


/* Les plugins gardent leurs routes, formulaires et scripts ; seul l'habillage change. */
body #app.stsite:is(.wiki-index,.wiki-pages-show) #content { --st-surface:#301747; --st-card:#3a1d50; --st-border:#82527a; --st-text:#f5f2ec; --st-muted:#d1bedc; }
#app.stsite .stwiki-card { box-shadow:0 10px 24px #10052120; }
#app.stsite #profile-banner { background-image:linear-gradient(110deg,#24103de8,#2f0f7455),url('../img/skytirmy-web-night.webp'); border-radius:14px; }
#app.stsite #profile-banner .row { margin:0; }
#app.stsite #profile-banner .row > div { min-width:0; overflow-wrap:anywhere; }
#app.stsite #profile-banner .badge { white-space:normal; }
#app.stsite #shop .shop-nav-container { background:#281243; border-radius:12px; padding:18px 22px!important; margin-bottom:24px; }
#app.stsite #shop .shop-nav-item { font-size:14px; }
#app.stsite #shop .shop-nav-item.active { color:#ffac76!important; }
#app.stsite #shop > section { padding-left:0!important; padding-right:0!important; }
#app.stsite #shop .shop-item { border:0!important; padding:0; border-radius:12px; margin:0!important; max-width:none; width:100%; }
#app.stsite #shop section:has(> .shop-item) { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr)); gap:20px; }
#app.stsite #shop .shop-item .card { border-radius:12px!important; }
#app.stsite #shop .shop-item .card-img-top { height:180px; object-fit:contain; }
#app.stsite #shop .shop-item.active .card { box-shadow:0 0 0 2px #fe7d2a; background:#3c1d50; color:#fff; }
#app.stsite #shop .shop-item.active .card-body { background:transparent; color:inherit; }
#app.stsite #shop .item-content:not(.d-none) { display:grid; grid-template-columns:minmax(0,1fr) minmax(240px,.5fr); gap:0; background:#291345; border-radius:12px; }
#app.stsite #shop .item-content .card { min-height:0; box-shadow:none; }
#app.stsite #shop .item-content .card-body.row { margin:0; }
#app.stsite #shop .content-container { width:100%; padding:24px!important; }
#app.stsite #shop .item-content-data-wrapper-wrapper { display:none; }
#app.stsite #shop .actions { position:static; width:auto; color:#f4edf9!important; background:#391b50; padding:30px 24px; }
#app.stsite #shop .item-content-close { top:10px; right:14px; color:#ffb584; font-size:24px; z-index:2; }
#app.stsite #shop .quantity-input { color:#23103d!important; }
#app.stsite #support { overflow-x:auto; }
#app.stsite #vote .card-body { padding:24px; }
#app.stsite #vote-card :is(.btn,.form-control) { min-height:42px; }
#app.stsite #vote-goal .progress { border-radius:9px; }
#app.stsite .stsite-footer#bigfooter { position:relative; inset:auto; max-width:none; display:grid; grid-template-columns:minmax(220px,1.6fr) 1fr auto; align-items:start; gap:36px; margin:50px var(--st-gutter) 0; padding:32px 0; border:0!important; border-radius:0; background:transparent!important; box-shadow:none!important; }
#app.stsite .stsite-footer-brand > a { display:flex; align-items:center; gap:14px; color:#fff; width:fit-content; }
#app.stsite .stsite-footer-brand img { width:56px; height:56px; object-fit:contain; }
#app.stsite .stsite-footer-brand strong { font-size:20px; color:#fff; letter-spacing:.02em; }
#app.stsite .stsite-footer-brand small { display:block; color:#c9b8d5; font-size:12px; margin-top:6px; }
#app.stsite .stsite-footer-description { color:#c9b8d5; font-size:13px; line-height:1.7; }
#app.stsite .stsite-footer-links h2,#app.stsite .stsite-footer-social h2 { font-size:14px; color:#f4edf9; margin:5px 0 16px; font-weight:600; }
#app.stsite .stsite-footer-links a { display:block; margin:9px 0; color:#c9b8d5!important; font-size:12px; }
#app.stsite .stsite-footer-links a:hover { color:#ffb584!important; }
#app.stsite #socialLinks { position:static; inset:auto; transform:none; margin:0; display:flex; flex-wrap:wrap; align-items:center; gap:9px; }
#app.stsite #socialLinks .social-item { display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; color:#ffd0b1; background:#65305d44; border:0; border-radius:10px; }
#app.stsite #footer { position:relative; inset:auto; border:0!important; box-shadow:none!important; background:#10072c!important; margin:0; padding:18px var(--st-gutter); border-radius:0; color:#c1abc9; font-size:11px; }
#app.stsite #footer .card-body { display:flex!important; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 24px; padding:0!important; background:none!important; }
#app.stsite #footer a { color:#d3bddc; }
@media(min-width:800px) { #app.stsite:not(.home) .content-wrapper [style*="position:sticky"] { top:110px!important; } }
@media(max-width:1100px) { #app.stsite #sidebar { gap:12px; padding-left:24px; padding-right:24px; } #app.stsite #sidebar .sidebar-end .text { display:none!important; } }
@media(max-width:799px) { .stsite-page-heading { padding:24px; margin-bottom:22px; } #app.stsite .stsite-footer#bigfooter { grid-template-columns:1fr 1fr; margin:32px 20px 0; gap:26px; } #app.stsite .stsite-footer-brand { grid-column:1/-1; } #app.stsite #footer { padding:18px 20px; } #app.stsite #shop .item-content:not(.d-none) { grid-template-columns:1fr; } #app.stsite #shop .content-container { padding:22px!important; } #app.stsite #shop .shop-item .card-img-top { height:160px; } }
@media(prefers-reduced-motion:reduce) { #app.stsite * { transition:none!important; scroll-behavior:auto!important; } }

#app.stsite { background:radial-gradient(ellipse at 5% 50%,#fe7d2a14,transparent 38%),radial-gradient(ellipse at 95% 75%,#fe2d4f1b,transparent 45%),linear-gradient(160deg,var(--color-3,#2f0f74),var(--color-4,#150859) 65%,#32115f); }
#app.stsite .stsite-page-heading + h1 { display:none; }
#app.stsite .stsite-error { min-height:55vh; }
body:has(#app.stsite) .btn-secondary { --bs-btn-bg:#4b2d5c; --bs-btn-border-color:#70466f; --bs-btn-color:#f0e2f8; --bs-btn-hover-bg:#643763; --bs-btn-hover-color:#fff; }
#app.stsite #shop .shop-sidebar { min-width:0; width:240px; flex:0 0 240px; }
#app.stsite #shop .shop-sidebar-header { padding:0 0 20px; }
#app.stsite #shop .shop-sidebar-body { padding:20px; border-radius:12px; background:#291345; }
#app.stsite #shop .shop-navigation { min-height:0; gap:22px; }
#app.stsite #shop .shop-nav-cat { background:linear-gradient(115deg,#673052,#3a1956)!important; color:#fff; }
#app.stsite #shop .shop-content { min-width:0; padding-left:24px; }
#app.stsite #shop .shop-content > .row { width:auto!important; margin:0 -12px!important; }
#app.stsite #shop .shop-content > .row > .col-sm-12 > div:first-child:has(>img) { display:none; }
#app.stsite #shop .shop-banner { background:none; transform:none; padding:0 0 20px; border-radius:0; }
#app.stsite #shop .shop-banner h1 { display:none!important; }
#app.stsite #shop .shop-content > .row > div[style*="translateY"] { transform:none!important; padding-bottom:24px; }
#app.stsite #shop .product { margin-top:0; height:100%; overflow:hidden; border-radius:12px!important; background:linear-gradient(145deg,#35184f,#24103f); box-shadow:0 12px 30px #10052130; }
#app.stsite #shop .product > div:first-child[style*="height:70px"] { height:180px!important; }
#app.stsite #shop .product > div:first-child > div[style*="top:-70px"] { position:static!important; height:180px!important; padding:18px; }
#app.stsite #shop .product > div:first-child img { height:144px!important; max-width:100%; object-fit:contain; }
body:has(#app.stsite) #itemModal { backdrop-filter:blur(12px); }
body:has(#app.stsite) #itemModal .modal-content { border-radius:14px!important; background:#291345; }
body:has(#app.stsite) .package-infos { background:#3d1f51; color:#f4edf9; }
#app.stsite #vote .col-md-8 > section:has(#ranks) { display:none; }
#app.stsite #vote .col-md-8 > h3 { margin-bottom:24px!important; text-align:left!important; font-size:23px; }
@media(max-width:900px) { #app.stsite #shop { display:block!important; } #app.stsite #shop .shop-sidebar { width:100%; margin-bottom:24px; } #app.stsite #shop .shop-content { padding-left:0; } }

#app.stsite .btn-outline-gradient { border:1px solid #c791ba40; background:#3a1c50; color:#f4edf9; }
#app.stsite .btn-outline-gradient::before { content:none; }
#app.stsite #shop .shop-sidebar-header > div > .d-flex { flex-wrap:wrap; gap:12px; }
#app.stsite #shop .shop-sidebar-header > div > .d-flex > .d-flex { gap:8px; }
#app.stsite #shop .shop-sidebar-header .profile > div { height:60px!important; width:48px!important; background-size:contain!important; }
#app.stsite #shop .shop-sidebar-header .btn { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:44px; margin-left:0!important; padding:8px 10px; font-size:12px; }
#app.stsite #shop .shop-sidebar-header .btn img { width:18px; }

#app.stsite .card-body table:not(.table),#app.stsite .markdown-body table { display:block; width:100%!important; max-width:100%; overflow-x:auto; }
#app.stsite .card-body table:not(.table) :is(th,td) { padding:9px 12px; border-bottom:1px solid #c791ba30; }
#app.stsite :is(.markdown-body,.card-body p) { overflow-wrap:anywhere; }
#app.stsite .card-body pre { max-width:100%; overflow-x:auto; }
body:has(#app.stsite) .form-check-input:checked { background-color:#fe7d2a; border-color:#fe7d2a; }
#app.stsite #sidebar .sidebar-link:focus-visible { outline:2px solid #ffb584!important; outline-offset:2px; }

#app.stsite .stwiki-search input { background:#21103b; border-color:#82527a; color:#f5eefb; }
#app.stsite .stwiki-search button { background:#4b2d5c; border-color:#82527a; color:#f5eefb; }
body:has(#app.stsite) .badge.bg-primary { color:#200b31!important; }
