/**
 * openSUSE Leap 15.6 — décoration de fenêtre KWin « Breeze » (Plasma 5.27),
 * schéma BreezeClassic. Relevé VM 1209, 2026-10-16 (Dolphin maximisé et restauré).
 *
 *   · barre de titre 28 px : active #475057 / texte #fcfcfc, inactive #eff0f1 /
 *     texte #bdc3c7 ; titre Noto Sans 10 pt centré sur toute la largeur ;
 *   · à gauche : icône de l'application (16 px, x 5) puis « Sur tous les
 *     bureaux » (punaise) ; à droite : Aide, Réduire, Agrandir, Fermer
 *     (glyphes 18 px au pas de 24, le dernier finit à 5 px du bord) ;
 *   · fenêtre restaurée : contour 1 px #6e7f8c, coins hauts arrondis 3 px,
 *     ombre Breeze (plus marquée vers le bas), pas de bordure latérale ;
 *     maximisée : ni contour, ni coins, ni ombre ; « Agrandir » devient ◇.
 * Les glyphes sont dessinés par la décoration (breezebutton.cpp), pas tirés
 * d'un fichier d'icônes : ils sont reproduits ici en SVG vectoriel.
 */
body#opensuse {
    --leap-wm-active-bg: #475057;
    --leap-wm-active-fg: #fcfcfc;
    --leap-wm-inactive-bg: #eff0f1;
    --leap-wm-inactive-fg: #bdc3c7;
    --leap-wm-outline: #6e7f8c;
    --leap-wm-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 5 13 13M13 5 5 13' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E");
    --leap-wm-minimize: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.5 7.5 9 12l4.5-4.5' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E");
    --leap-wm-maximize: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.5 11.5 9 7l4.5 4.5' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E");
    --leap-wm-restore: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.5 9 9 4.5 13.5 9 9 13.5Z' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E");
    --leap-wm-help: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5.6 6.6C5.6 4.9 7 3.9 9 3.9s3.4 1 3.4 2.7c0 2.2-3.4 2.4-3.4 5' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3Crect x='8.45' y='14.4' width='1.1' height='1.1'/%3E%3C/svg%3E");
    --leap-wm-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M7.6.6 11.4 4.4 9.9 5.4 9 4.5 7.4 6.6 7.6 8.3 6.9 9 3 5.1 3.7 4.4 5.4 4.6 7.5 3 6.6 2.1Z'/%3E%3Cpath d='M1.4 10.6 4.4 7.6' fill='none' stroke='%23000' stroke-width='1.1'/%3E%3C/svg%3E");
}

/* ── Cadre de la fenêtre ─────────────────────────────────────────────── */
body#opensuse div.windowElement[data-link]:not(#mainMenu) {
    border: 1px solid var(--leap-wm-outline);
    border-radius: 3px 3px 0 0;
    box-shadow: 0 12px 48px rgb(0 0 0 / 0.64), 0 6px 24px rgb(0 0 0 / 0.16);
    box-sizing: border-box;
}

body#opensuse div.windowElement[data-link][data-maximized="true"]:not(#mainMenu) {
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

/* ── Barre de titre ─────────────────────────────────────────────────── */
body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader {
    position: relative;
    display: block;
    width: 100%;
    height: 28px;
    min-height: 28px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 2px 2px 0 0;
    color: var(--leap-wm-inactive-fg);
    background: var(--leap-wm-inactive-bg);
    box-shadow: none;
    transition: none;
    flex: 0 0 auto;
    box-sizing: border-box;
}

body#opensuse div.windowElement[data-link][data-maximized="true"]:not(#mainMenu) #windowHeader {
    border-radius: 0;
}

body#opensuse div.windowElement.windowElementActive[data-link]:not(#mainMenu) #windowHeader {
    color: var(--leap-wm-active-fg);
    background: var(--leap-wm-active-bg);
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > #windowTitle {
    position: absolute;
    top: 0;
    right: 120px;
    left: 120px;
    height: 28px;
    margin: 0;
    padding: 0;
    font: 400 13.3333px/28px "Noto Sans", sans-serif;
    color: inherit;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}

/* Gauche : icône de l'application puis la punaise « Sur tous les bureaux ». */
body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:first-of-type {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 48px;
    height: 28px;
    margin: 0;
    padding: 0;
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:first-of-type::before {
    content: "";
    position: absolute;
    top: 6px;
    left: 5px;
    width: 16px;
    height: 16px;
    background: var(--leap-wm-app-icon, none) center / 16px 16px no-repeat;
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:first-of-type::after {
    content: "";
    position: absolute;
    top: 7px;
    left: 32px;
    width: 12px;
    height: 12px;
    background: currentColor;
    -webkit-mask: var(--leap-wm-pin) center / 12px 12px no-repeat;
    mask: var(--leap-wm-pin) center / 12px 12px no-repeat;
}

/* Droite : Aide (décoratif), Réduire, Agrandir, Fermer. */
body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:last-of-type {
    position: absolute;
    top: 0;
    right: 5px;
    display: flex;
    height: 28px;
    margin: 0;
    padding: 0;
    gap: 6px;
    align-items: center;
}

/* Aide contextuelle (?) : seulement les fenêtres qui l'exposent sur la VM
   (Dolphin) ; Konsole, Kate… n'en ont pas. */
body#opensuse div.windowElement[data-link]:not(#mainMenu):not([data-link="nemo"]) #windowHeader > nav:last-of-type::before {
    display: none;
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:last-of-type::before {
    content: "";
    width: 18px;
    height: 18px;
    margin-top: -1px;
    background: currentColor;
    -webkit-mask: var(--leap-wm-help) center / 18px 18px no-repeat;
    mask: var(--leap-wm-help) center / 18px 18px no-repeat;
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:last-of-type > button {
    position: relative;
    width: 18px;
    min-width: 18px;
    height: 18px;
    margin: -1px 0 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: none !important;
    box-shadow: none;
    opacity: 1;
    cursor: default;
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:last-of-type > button::before {
    content: "";
    position: absolute;
    inset: 0;
    background: currentColor;
    -webkit-mask: var(--leap-wm-glyph) center / 18px 18px no-repeat;
    mask: var(--leap-wm-glyph) center / 18px 18px no-repeat;
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader #minimizeBtn {
    --leap-wm-glyph: var(--leap-wm-minimize);
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader #resizeBtn {
    --leap-wm-glyph: var(--leap-wm-maximize);
}

body#opensuse div.windowElement[data-link][data-maximized="true"]:not(#mainMenu) #windowHeader #resizeBtn {
    --leap-wm-glyph: var(--leap-wm-restore);
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader #closeBtn {
    --leap-wm-glyph: var(--leap-wm-close);
}

/* Survol Breeze : pastille pleine, glyphe inversé ; Fermer en rouge. */
body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:last-of-type > button:hover {
    background: currentColor !important;
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:last-of-type > button:hover::before {
    background: var(--leap-wm-active-bg);
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:last-of-type > #closeBtn:hover {
    background: #da4453 !important;
}

body#opensuse div.windowElement[data-link]:not(#mainMenu) #windowHeader > nav:last-of-type > #closeBtn:hover::before {
    background: #fcfcfc;
}

/* Icône d'application par fenêtre (16 px, thème Breeze/hicolor de la VM). */
body#opensuse div.windowElement[data-link="nemo"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/window/system-file-manager.svg");
}

body#opensuse div.windowElement[data-link="terminal"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/window/utilities-terminal.svg");
}

body#opensuse div.windowElement[data-link="firefox"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/window/firefox.webp");
}

body#opensuse div.windowElement[data-link="themes"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/window/preferences-system.svg");
}

body#opensuse div.windowElement[data-link="plasma_desktop_config"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/desktop-menu/preferences-desktop-wallpaper.svg");
}

body#opensuse div.windowElement[data-link="update_manager"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/window/plasmadiscover.webp");
}

body#opensuse div.windowElement[data-link="text_editor"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/window/kate.webp");
}

body#opensuse div.windowElement[data-link="visionneur_pdf"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/window/okular.webp");
}

body#opensuse div.windowElement[data-link="visionneur_images"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/window/gwenview.webp");
}

body#opensuse div.windowElement[data-link="lecteur_multimedia"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/window/vlc.svg");
}

body#opensuse div.windowElement[data-link="librewriter"] {
    --leap-wm-app-icon: url("../../../../usr/share/capsuleos/assets/images/vendors/opensuse/leap156/window/libreoffice-writer.svg");
}

/* Fenêtre maximisée : KWin ne propose plus de bord de redimensionnement. */
body#opensuse div.windowElement[data-maximized="true"] [data-capsule-resize-edge] {
    display: none;
}

/* Contenu bord à bord sous la barre de titre (pas de marge interne KWin). */
body#opensuse div.windowElement[data-link]:not(#mainMenu) {
    padding: 0;
    justify-content: flex-start;
}

body#opensuse div.windowElement[data-link="nemo"] > #gestionnaire {
    width: 100%;
    height: auto;
    min-height: 0;
    margin: 0;
    flex: 1 1 auto;
}

/* Boîte modale ouverte (kdesu, CUPS) : la fenêtre parente perd le focus (relevé VM). */
body#opensuse div.windowElement.windowElementActive[data-link]:not(#mainMenu):has(.ss5-dialog) #windowHeader {
    color: var(--leap-wm-inactive-fg);
    background: var(--leap-wm-inactive-bg);
}
