/*
 * Personnalisation du thème Glitchworlds.
 * Les composants communs restent définis dans ../app.css.
 */
/* Accueil Glitchworlds : grille par défaut plus compacte. */
:root[data-theme="glitchworlds"] .gw-home-shell.gw-disposition--grille .gw-home-menu:not(.gw-home-menu--communaute) {
    padding: 1.1rem !important;
}

:root[data-theme="glitchworlds"] .gw-home-shell.gw-disposition--grille .gw-similar-card__visual {
    height: clamp(175px, 18vw, 240px);
    min-height: 0;
}

:root[data-theme="glitchworlds"] .gw-home-shell.gw-disposition--grille .gw-similar-card__visual img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-height: 100%;
    object-fit: cover;
}

:root[data-theme="glitchworlds"] .gw-home-shell.gw-disposition--grille .gw-collection--jeux .gw-similar-card__visual img {
    object-fit: contain !important;
    object-position: center;
}

:root[data-theme="glitchworlds"] .gw-home-shell.gw-disposition--grille .gw-collection--jeux .gw-similar-card__visual {
    height: auto;
    aspect-ratio: 1;
}

:root[data-theme="glitchworlds"] .gw-home-shell.gw-disposition--grille .gw-collection--actualites .gw-similar-card__visual img {
    object-fit: contain !important;
    object-position: center;
}

:root[data-theme="glitchworlds"] .gw-home-shell.gw-disposition--grille .gw-similar-card__visual {
    background: color-mix(in srgb, var(--gw-surface-solid) 88%, var(--gw-primary) 12%);
}

:root[data-theme="glitchworlds"] .gw-home-shell.gw-disposition--grille .gw-similar-card > .p-3 {
    padding: .7rem !important;
}

:root[data-theme="glitchworlds"] .gw-home-shell.gw-disposition--grille .gw-similar-card h3 {
    font-size: .88rem;
    line-height: 1.25;
}

:root[data-theme="glitchworlds"] {
    --gw-theme-stylesheet: "glitchworlds";
    --gw-primary: #2f7df6;
    --gw-primary-rgb: 47, 125, 246;
    --gw-primary-dark: #1f63cf;
    --gw-secondary: #8b5cf6;
    --gw-secondary-rgb: 139, 92, 246;
    --gw-background: #eef5ff;
    --gw-background-accent: #dbe9ff;
    --gw-surface: rgba(255, 255, 255, .82);
    --gw-surface-solid: #fff;
    --gw-text: #0f172a;
    --gw-muted: #64748b;
}

/* Palette sombre propre au thème Glitchworlds. */
:root[data-theme="glitchworlds"][data-bs-theme="dark"] {
    color-scheme: dark;
    --gw-primary: #6eafff;
    --gw-primary-rgb: 110, 175, 255;
    --gw-primary-dark: #9bc7ff;
    --gw-secondary: #b49aff;
    --gw-secondary-rgb: 180, 154, 255;
    --gw-background: #07101f;
    --gw-background-accent: #101d35;
    --gw-surface: rgba(15, 27, 48, .92);
    --gw-surface-solid: #111d31;
    --gw-text: #edf4ff;
    --gw-muted: #aebdd2;
    --gw-border: rgba(157, 188, 232, .28);
    --gw-shadow: 0 12px 34px rgba(0, 0, 0, .46);
    --gw-shadow-soft: 0 4px 18px rgba(0, 0, 0, .34);
    --gw-glow: 0 0 0 3px rgba(var(--gw-primary-rgb), .25);
    --bs-body-color: var(--gw-text);
    --bs-body-bg: var(--gw-background);
    --bs-secondary-color: var(--gw-muted);
    --bs-tertiary-bg: #17243a;
    --bs-border-color: var(--gw-border);
}

:root[data-theme="glitchworlds"][data-bs-theme="dark"] body {
    background-image:
        radial-gradient(circle at top left, rgba(var(--gw-primary-rgb), .18), transparent 42%),
        radial-gradient(circle at top right, rgba(var(--gw-secondary-rgb), .13), transparent 38%),
        linear-gradient(180deg, var(--gw-background) 0%, var(--gw-background-accent) 100%);
}

:root[data-theme="glitchworlds"][data-bs-theme="dark"] :is(.card, .modal-content, .dropdown-menu, .list-group-item, .table, .accordion-item) {
    color: var(--gw-text);
    background-color: var(--gw-surface-solid);
    border-color: var(--gw-border);
}

:root[data-theme="glitchworlds"][data-bs-theme="dark"] :is(.form-control, .form-select, .input-group-text) {
    color: var(--gw-text);
    background-color: #0b1729;
    border-color: var(--gw-border);
}

:root[data-theme="glitchworlds"][data-bs-theme="dark"] :is(.form-control, .form-select)::placeholder {
    color: var(--gw-muted);
    opacity: .9;
}
