/* ==========================================================================
   Prophezine-Renouveau · charte graphique v2 (SMF 2.1.7)
   Design : cartes, coins arrondis, contrastes AA vérifiés (>= 4.5:1).
   Voies : html[data-tendance="dragon|fatalite|homme|custom"]
   Ambiances : html[data-mode="light|dark"]
   Les règles de ce fichier sont automatiquement prioritaires sur celles de SMF.
   ========================================================================== */

/* ---------- 1. Variables ---------- */
:root {
	--pz-font-title: "Cinzel", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;
	--pz-font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--pz-font-post: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
	--pz-radius: 8px;
	--pz-ic: 56px;
	--pz-width: 92%;
	--pz-max-width: 1600px;

	--pz-top: #17120d; --pz-top-text: #ead9b3;
	--pz-nav: #2b2018; --pz-nav-text: #f3e6c8;
	--pz-cat: #3a2616; --pz-cat-text: #f6e6bd;
	--pz-plate-1: #f3e9cf; --pz-plate-2: #e3d5ae; --pz-plate-text: #5a3318;
	--pz-on-accent: #ffffff;
	--pz-fx: transparent;

	/* voie Dragon */
	--pz-accent: #a9341d; --pz-accent-2: #f2b45c; --pz-glow: #ff8a3d;
	--pz-link: #9a2c16; --pz-link-hover: #a9341d;

	/* ambiance Parchemin */
	--pz-bg: #ece4d2; --pz-surface: #fbf8f0; --pz-surface-2: #f2ead8; --pz-surface-hi: #fffdf7;
	--pz-border: #ddd0b3; --pz-border-strong: #b9a77f;
	--pz-text: #231a10; --pz-muted: #5a4b36; --pz-field: #fffdf7;
	--pz-shadow: 0 1px 2px rgba(35,26,16,.08), 0 6px 18px rgba(35,26,16,.07);
}
html[data-mode="dark"] {
	--pz-plate-1: #dccfa9; --pz-plate-2: #c8b78c;
	--pz-bg: #0d0b09; --pz-surface: #1b1713; --pz-surface-2: #241e17; --pz-surface-hi: #2c241b;
	--pz-border: #3a2e21; --pz-border-strong: #5a452b;
	--pz-text: #ede4d1; --pz-muted: #b7a688; --pz-field: #130f0b;
	--pz-shadow: 0 1px 2px rgba(0,0,0,.5), 0 8px 22px rgba(0,0,0,.35);
	--pz-link: #f2b45c; --pz-link-hover: #ffd9a0;
}
html[data-mode="light"][data-tendance="dragon"] {
	--pz-bg: #efe2cf; --pz-surface: #fcf8f1; --pz-surface-2: #f5e7d4; --pz-surface-hi: #fffaf2;
	--pz-border: #e2cfb2; --pz-border-strong: #bf9f78; --pz-text: #261a10; --pz-muted: #5d4a37; --pz-field: #fffaf2;
	--pz-link: #9a2c16; --pz-link-hover: #b83a22; --pz-accent: #a9341d; --pz-accent-2: #f2b45c; --pz-glow: #ff8a3d;
	--pz-top: #1c0f0a; --pz-top-text: #f0dcc0; --pz-nav: #3a1f14; --pz-nav-text: #f6e7cc;
	--pz-cat: linear-gradient(180deg, #5a2a18, #3a190e); --pz-cat-text: #ffe9c4;
	--pz-plate-1: #f7e8cd; --pz-plate-2: #e8cfa6; --pz-plate-text: #5a3318; --pz-fx: rgba(214,110,50,.24);
}
html[data-mode="light"][data-tendance="fatalite"] {
	--pz-bg: #e3ebe2; --pz-surface: #f9fcf8; --pz-surface-2: #e8f1e6; --pz-surface-hi: #fcfefb;
	--pz-border: #cadbc7; --pz-border-strong: #8cae89; --pz-text: #14241a; --pz-muted: #44574a; --pz-field: #fcfefb;
	--pz-link: #1c6139; --pz-link-hover: #2a7a4a; --pz-accent: #2a7a4a; --pz-accent-2: #9fd8ae; --pz-glow: #55d27f;
	--pz-top: #0b1a10; --pz-top-text: #d9efdf; --pz-nav: #15301f; --pz-nav-text: #e4f4e8;
	--pz-cat: linear-gradient(180deg, #24573a, #163a26); --pz-cat-text: #e9f9ee;
	--pz-plate-1: #eaf3e6; --pz-plate-2: #d2e4cc; --pz-plate-text: #1d4a2e; --pz-fx: rgba(60,160,95,.22);
}
html[data-mode="light"][data-tendance="homme"] {
	--pz-bg: #e3ebf2; --pz-surface: #f9fbfd; --pz-surface-2: #e9f1f8; --pz-surface-hi: #fdfeff;
	--pz-border: #c9d9e7; --pz-border-strong: #8fb0cc; --pz-text: #14212e; --pz-muted: #46586b; --pz-field: #fdfeff;
	--pz-link: #1d5282; --pz-link-hover: #2b6495; --pz-accent: #2b6495; --pz-accent-2: #a9cff0; --pz-glow: #72b7ee;
	--pz-top: #0d1a28; --pz-top-text: #dbe9f6; --pz-nav: #17314c; --pz-nav-text: #e8f2fb;
	--pz-cat: linear-gradient(180deg, #24507a, #173a5c); --pz-cat-text: #eaf4ff;
	--pz-plate-1: #ecf3f9; --pz-plate-2: #d4e3ef; --pz-plate-text: #1b3d5e; --pz-fx: rgba(60,135,205,.20);
}
html[data-mode="dark"][data-tendance="dragon"] {
	--pz-bg: #120a07; --pz-surface: #1f1511; --pz-surface-2: #2a1b14; --pz-surface-hi: #34231a;
	--pz-border: #4c3022; --pz-border-strong: #7a4a2e; --pz-text: #f0e4d2; --pz-muted: #bda88c; --pz-field: #150d09;
	--pz-link: #f2b45c; --pz-link-hover: #ffd9a0; --pz-accent: #a9341d; --pz-accent-2: #f2b45c; --pz-glow: #ff8a3d;
	--pz-top: #0c0605; --pz-top-text: #f0dcc0; --pz-nav: #3a1f14; --pz-nav-text: #f6e7cc;
	--pz-cat: linear-gradient(180deg, #6a2e19, #401a0e); --pz-cat-text: #ffe9c4;
	--pz-plate-1: #e8d6b0; --pz-plate-2: #d2b98a; --pz-plate-text: #4f2c14; --pz-fx: rgba(220,95,35,.30);
}
html[data-mode="dark"][data-tendance="fatalite"] {
	--pz-bg: #08120b; --pz-surface: #0f1e14; --pz-surface-2: #162a1c; --pz-surface-hi: #1d3626;
	--pz-border: #2a4733; --pz-border-strong: #4f7b5e; --pz-text: #e4f1e7; --pz-muted: #a7c2ae; --pz-field: #0a150e;
	--pz-link: #8fd9a6; --pz-link-hover: #c4f0d2; --pz-accent: #2a7a4a; --pz-accent-2: #8fd9a6; --pz-glow: #55d27f;
	--pz-top: #060e08; --pz-top-text: #d9efdf; --pz-nav: #15301f; --pz-nav-text: #e4f4e8;
	--pz-cat: linear-gradient(180deg, #2d6a45, #1a4029); --pz-cat-text: #e9f9ee;
	--pz-plate-1: #d7e7d2; --pz-plate-2: #bcd5b5; --pz-plate-text: #1b4429; --pz-fx: rgba(60,170,100,.26);
}
html[data-mode="dark"][data-tendance="homme"] {
	--pz-bg: #08101a; --pz-surface: #111c2a; --pz-surface-2: #192738; --pz-surface-hi: #213246;
	--pz-border: #2e4459; --pz-border-strong: #4f7394; --pz-text: #e5eef8; --pz-muted: #a3b9cf; --pz-field: #0b141e;
	--pz-link: #a9cff0; --pz-link-hover: #d4e8fa; --pz-accent: #2b6495; --pz-accent-2: #a9cff0; --pz-glow: #72b7ee;
	--pz-top: #060d15; --pz-top-text: #dbe9f6; --pz-nav: #17314c; --pz-nav-text: #e8f2fb;
	--pz-cat: linear-gradient(180deg, #27578a, #173a5c); --pz-cat-text: #eaf4ff;
	--pz-plate-1: #d3e2ee; --pz-plate-2: #b8cfe0; --pz-plate-text: #183757; --pz-fx: rgba(70,145,225,.28);
}
html[data-mode="light"][data-tendance="custom"] { --pz-link: color-mix(in srgb, var(--pz-accent) 70%, #000); --pz-link-hover: var(--pz-accent); }
html[data-mode="dark"][data-tendance="custom"] { --pz-link: var(--pz-accent-2); --pz-link-hover: #fff; }

html { color-scheme: light; }
html[data-mode="dark"] { color-scheme: dark; }

/* ---------- 2. Base ---------- */
html:not(#pz) body {
	background-color: var(--pz-bg); background-image: var(--pz-bg-image, none);
	background-size: cover; background-position: center top; background-attachment: fixed;
	color: var(--pz-text); font-family: var(--pz-font-body); line-height: 1.5;
}
html:not(#pz) body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse 85% 48% at 50% 0%, var(--pz-fx, transparent), transparent 72%), var(--pz-bg); opacity: var(--pz-bg-overlay, 1); }
html:not(#pz) #footerfix,
html:not(#pz) #wrapper,
html:not(#pz) #content_section,
html:not(#pz) #main_content_section,
html:not(#pz) #inner_section,
html:not(#pz) #inner_wrap { background: transparent; color: var(--pz-text); }
html:not(#pz) a,
html:not(#pz) a:link,
html:not(#pz) a:visited { color: var(--pz-link); }
html:not(#pz) a:hover,
html:not(#pz) a:focus { color: var(--pz-link-hover); }
html:not(#pz) h1,
html:not(#pz) h2,
html:not(#pz) h3,
html:not(#pz) h4,
html:not(#pz) h5 { color: inherit; }
html:not(#pz) ::selection { background: var(--pz-accent); color: var(--pz-on-accent); }
html:not(#pz) :focus-visible { outline: 2px solid var(--pz-accent); outline-offset: 2px; }
html:not(#pz) .smalltext,
html:not(#pz) .smalltext a,
html:not(#pz) .board_stats,
html:not(#pz) .lastpost,
html:not(#pz) .moderators,
html:not(#pz) .info p,
html:not(#pz) .info .smalltext,
html:not(#pz) .time,
html:not(#pz) time,
html:not(#pz) small { color: var(--pz-muted); }
html:not(#pz) hr { border-color: var(--pz-border); background: var(--pz-border); }
html:not(#pz) label,
html:not(#pz) dt,
html:not(#pz) dt label,
html:not(#pz) dt strong,
html:not(#pz) dd,
html:not(#pz) dl.settings label,
html:not(#pz) dl.settings dt span,
html:not(#pz) dl.settings dt strong,
html:not(#pz) th,
html:not(#pz) caption,
html:not(#pz) legend,
html:not(#pz) strong,
html:not(#pz) b { color: inherit; }
html:not(#pz) dl.settings dt label,
html:not(#pz) dl.settings dt > span,
html:not(#pz) dl.settings dt strong,
html:not(#pz) dl.settings dt a,
html:not(#pz) .windowbg label,
html:not(#pz) .roundframe label,
html:not(#pz) .windowbg dt,
html:not(#pz) .roundframe dt { color: var(--pz-text) !important; }
html:not(#pz) dl.settings dt .smalltext,
html:not(#pz) dl.settings dd .smalltext,
html:not(#pz) dt .smalltext,
html:not(#pz) dd .smalltext,
html:not(#pz) .description,
html:not(#pz) .desc { color: var(--pz-muted) !important; }
html:not(#pz) .children,
html:not(#pz) .children p,
html:not(#pz) .children strong,
html:not(#pz) .children b,
html:not(#pz) .board_children,
html:not(#pz) .board_children strong,
html:not(#pz) p.children strong,
html:not(#pz) .info .children strong { color: var(--pz-muted) !important; }
html:not(#pz) .children a,
html:not(#pz) .board_children a { color: var(--pz-link) !important; }

/* ---------- 3. Largeur réglable (en %) ---------- */
html:not(#pz) #wrapper,
html:not(#pz) #header,
html:not(#pz) #top_section .inner_wrap,
html:not(#pz) #footer .inner_wrap,
html:not(#pz) #footer_section .inner_wrap {
	box-sizing: border-box; width: var(--pz-width); max-width: var(--pz-max-width); margin-left: auto; margin-right: auto;
}

/* ---------- 4. Barre du haut, en-tête, logo ---------- */
html:not(#pz) #top_section { background: var(--pz-top) !important; border-bottom: 2px solid var(--pz-accent); color: var(--pz-top-text); }
html[data-pz-sticky="1"]:not(#pz) #top_section { position: sticky; top: 0; z-index: 1000; }
html:not(#pz) #top_section a,
html:not(#pz) #top_section li,
html:not(#pz) #top_section label,
html:not(#pz) #top_section span { color: var(--pz-top-text); }
html:not(#pz) #top_section a:hover { color: #fff; }
html:not(#pz) #top_section input[type="search"],
html:not(#pz) #top_section input[type="text"],
html:not(#pz) #top_section select {
	background: #2a2118; color: #f3e6c8; border: 1px solid #5a452b;
}
html:not(#pz) #smflogo { display: none !important; }

html:not(#pz) #header {
	position: relative; margin-top: 14px; padding: 12px 22px; box-shadow: var(--pz-shadow);
	background: linear-gradient(180deg, var(--pz-plate-1), var(--pz-plate-2)) !important;
	border: 1px solid var(--pz-border-strong); border-radius: var(--pz-radius); color: var(--pz-plate-text);
}
html:not(#pz) #header { border-bottom: 4px solid var(--pz-accent); }
html:not(#pz) #header[data-pz-glyph]::after { /* sceau de la voie : coin haut droit, au-dessus du bouton Khyméra / Shar */
	content: ""; position: absolute; top: 8px; right: 14px; width: 112px; height: calc(100% - 66px); min-height: 50px; pointer-events: none;
	background: var(--pz-accent); -webkit-mask: var(--pz-voie-glyph) center / contain no-repeat; mask: var(--pz-voie-glyph) center / contain no-repeat;
}
html:not(#pz) #header h1.forumtitle { margin: 0; }
html:not(#pz) #header h1.forumtitle,
html:not(#pz) #header .forumtitle a { color: var(--pz-plate-text); font-family: var(--pz-font-title); text-shadow: none; }
html:not(#pz) #siteslogan,
html:not(#pz) #header p { color: var(--pz-plate-text); }

/* ---------- 5. Bandeau d'infos, menu, fil d'Ariane ---------- */
html:not(#pz) #upper_section {
	background: var(--pz-surface) !important; border: 1px solid var(--pz-border); border-radius: var(--pz-radius);
	box-shadow: var(--pz-shadow); margin: 14px 0 12px; color: var(--pz-text); border-top: 3px solid var(--pz-accent);
}
html:not(#pz) #upper_section .user,
html:not(#pz) #upper_section .news,
html:not(#pz) #upper_section .news h2,
html:not(#pz) #upper_section .news p,
html:not(#pz) #upper_section time,
html:not(#pz) #upper_section li { color: var(--pz-text); background: transparent; }
html:not(#pz) #upper_section a { color: var(--pz-link); }
html:not(#pz) #main_menu,
html:not(#pz) ul.dropmenu,
html:not(#pz) .dropmenu,
html:not(#pz) .menu_nav { background: var(--pz-nav) !important; border: 0; border-radius: var(--pz-radius); }
html:not(#pz) .dropmenu li a,
html:not(#pz) .dropmenu li a:visited,
html:not(#pz) .dropmenu li a:link,
html:not(#pz) #main_menu a,
html:not(#pz) #main_menu a:link { color: var(--pz-nav-text) !important; text-shadow: none; }
html:not(#pz) .dropmenu li a.active,
html:not(#pz) .dropmenu li:hover > a,
html:not(#pz) .dropmenu li a:hover,
html:not(#pz) #main_menu a:hover { background: var(--pz-accent) !important; color: var(--pz-on-accent) !important; }
html:not(#pz) .dropmenu li ul { background: var(--pz-nav) !important; border: 1px solid var(--pz-border-strong); box-shadow: var(--pz-shadow); }
html:not(#pz) .dropmenu li ul li a { background: transparent; }
html:not(#pz) .navigate_section,
html:not(#pz) .navigate_section ul,
html:not(#pz) .navigate_section ul li { background: transparent !important; color: var(--pz-muted); box-shadow: none; border-color: var(--pz-border); }
html:not(#pz) .navigate_section ul li a,
html:not(#pz) .navigate_section ul li a:link { color: var(--pz-link); }

/* menus déroulants de l'utilisateur / messages / alertes */
html:not(#pz) .top_menu,
html:not(#pz) .popup_window,
html:not(#pz) .popup_container,
html:not(#pz) .ui-widget-content,
html:not(#pz) .ui-menu,
html:not(#pz) .ui-autocomplete,
html:not(#pz) #help_container,
html:not(#pz) .mention-container,
html:not(#pz) .sceditor-dropdown {
	background: var(--pz-surface) !important; color: var(--pz-text) !important; border: 1px solid var(--pz-border-strong) !important; box-shadow: var(--pz-shadow);
}
html:not(#pz) .top_menu a,
html:not(#pz) .top_menu a:link,
html:not(#pz) .top_menu a:visited,
html:not(#pz) .popup_window a,
html:not(#pz) .ui-menu-item a { color: var(--pz-link) !important; }
html:not(#pz) .top_menu li,
html:not(#pz) .top_menu .unread_notify,
html:not(#pz) .top_menu p,
html:not(#pz) .top_menu span,
html:not(#pz) .top_menu time { color: var(--pz-text); background: transparent; }
html:not(#pz) #top_section .top_menu,
html:not(#pz) #top_section .top_menu li,
html:not(#pz) #top_section .top_menu p,
html:not(#pz) #top_section .top_menu span,
html:not(#pz) #top_section .top_menu time,
html:not(#pz) #top_section .top_menu strong { color: var(--pz-text) !important; }
html:not(#pz) #top_section .top_menu a,
html:not(#pz) #top_section .top_menu a:link,
html:not(#pz) #top_section .top_menu a:visited { color: var(--pz-link) !important; }
html:not(#pz) .popup_heading,
html:not(#pz) .top_menu .popup_heading { background: var(--pz-surface-2) !important; color: var(--pz-text) !important; }

/* icônes Prophecy du menu : pictogrammes monochromes colorés par la couleur du texte */
html:not(#pz) .pz-mi { position: relative; display: inline-block !important; width: 18px !important; height: 18px !important; margin-right: 7px !important; vertical-align: -4px; background: none !important; background-image: none !important; }
html:not(#pz) .pz-mi::before { content: none !important; display: none !important; background: none !important; }
html:not(#pz) .pz-mi::after { content: ""; position: absolute; inset: 0; background: currentColor; -webkit-mask: var(--pz-mi) center / contain no-repeat; mask: var(--pz-mi) center / contain no-repeat; }

/* ---------- 6. Barres de rubriques et de titres ---------- */
html:not(#pz) .cat_bar {
	background: var(--pz-cat) !important; color: var(--pz-cat-text) !important;
	border: 0; border-bottom: 3px solid var(--pz-accent); border-radius: var(--pz-radius) var(--pz-radius) 0 0;
	font-family: var(--pz-font-title); text-shadow: none;
}
html:not(#pz) .cat_bar .catbg,
html:not(#pz) h3.catbg { background: transparent !important; border: 0 !important; box-shadow: none !important; color: var(--pz-cat-text) !important; font-family: var(--pz-font-title); text-shadow: none; }
html:not(#pz) .cat_bar a,
html:not(#pz) .cat_bar a:link,
html:not(#pz) .cat_bar a:visited,
html:not(#pz) .catbg a { color: #ffe9b8 !important; }
html:not(#pz) .title_bar {
	background: var(--pz-surface-2) !important; color: var(--pz-text) !important; border: 1px solid var(--pz-border); border-bottom: 2px solid var(--pz-accent);
}
html:not(#pz) .title_bar .titlebg,
html:not(#pz) h4.titlebg,
html:not(#pz) h3.titlebg { background: transparent !important; border: 0 !important; box-shadow: none !important; color: var(--pz-text) !important; font-family: var(--pz-font-title); }
html:not(#pz) .title_bar a,
html:not(#pz) .title_bar a:link,
html:not(#pz) h4.titlebg a { color: var(--pz-link) !important; }

/* ---------- 7. Cartes et panneaux (toutes les surfaces de SMF) ---------- */
html:not(#pz) .windowbg,
html:not(#pz) .windowbg2,
html:not(#pz) .roundframe,
html:not(#pz) .generic_list_wrapper,
html:not(#pz) .up_contain,
html:not(#pz) .main_container .windowbg,
html:not(#pz) .approvebg,
html:not(#pz) .approvebg2,
html:not(#pz) .postbg,
html:not(#pz) .tborder,
html:not(#pz) .bbc_table td,
html:not(#pz) #admin_content,
html:not(#pz) .admin_content_wrapper,
html:not(#pz) .profile_content,
html:not(#pz) #profileview,
html:not(#pz) .calendar_table td {
	background: var(--pz-surface) !important; color: var(--pz-text) !important; border-color: var(--pz-border);
}
html:not(#pz) .windowbg,
html:not(#pz) .windowbg2 { border: 1px solid var(--pz-border); border-radius: 0; box-shadow: none; }
html:not(#pz) .roundframe { border: 1px solid var(--pz-border); border-radius: var(--pz-radius); box-shadow: var(--pz-shadow); }
html:not(#pz) .up_contain { border-bottom: 1px solid var(--pz-border); border-radius: 0; }
html:not(#pz) .windowbg:hover,
html:not(#pz) .up_contain:hover { background: var(--pz-surface-hi) !important; }
html:not(#pz) .sticky,
html:not(#pz) .stickybg,
html:not(#pz) .windowbg.sticky { background: color-mix(in srgb, var(--pz-accent) 8%, var(--pz-surface)) !important; box-shadow: inset 4px 0 0 var(--pz-accent); }
html:not(#pz) .locked,
html:not(#pz) .lockedbg,
html:not(#pz) .windowbg.locked { background: color-mix(in srgb, var(--pz-muted) 12%, var(--pz-surface)) !important; }
html:not(#pz) .approvetopic,
html:not(#pz) .approvepost,
html:not(#pz) .approvebg { background: color-mix(in srgb, #d98e04 18%, var(--pz-surface)) !important; }
html:not(#pz) .descbox,
html:not(#pz) .information,
html:not(#pz) .infobox,
html:not(#pz) .bbc_standard_quote {
	background: var(--pz-surface-2) !important; color: var(--pz-text) !important; border: 1px solid var(--pz-border); border-left: 4px solid var(--pz-accent); border-radius: var(--pz-radius);
}
html:not(#pz) .noticebox { background: color-mix(in srgb, #d98e04 16%, var(--pz-surface)) !important; color: var(--pz-text) !important; border: 1px solid #b57600; border-radius: var(--pz-radius); }
html:not(#pz) .errorbox { background: color-mix(in srgb, #c0291f 14%, var(--pz-surface)) !important; color: var(--pz-text) !important; border: 1px solid #c0291f; border-radius: var(--pz-radius); }
html:not(#pz) .descbox a,
html:not(#pz) .information a,
html:not(#pz) .infobox a,
html:not(#pz) .noticebox a,
html:not(#pz) .errorbox a,
html:not(#pz) .windowbg a,
html:not(#pz) .roundframe a { color: var(--pz-link); }
html:not(#pz) .info a.subject,
html:not(#pz) a.subject { font-weight: 600; }
html:not(#pz) .pagesection,
html:not(#pz) .pagesection .pagelinks { background: transparent !important; color: var(--pz-muted); }
html:not(#pz) .cat_bar + .windowbg,
html:not(#pz) .cat_bar + .roundframe,
html:not(#pz) .title_bar + .windowbg { border-top: 0; }
html:not(#pz) table.table_grid td,
html:not(#pz) .table_list td,
html:not(#pz) .table_list th,
html:not(#pz) table.table_grid th { background: var(--pz-surface); color: var(--pz-text); border-color: var(--pz-border); }
html:not(#pz) table.table_grid th,
html:not(#pz) .table_list th { background: var(--pz-surface-2); }
html:not(#pz) fieldset { border: 1px solid var(--pz-border); border-radius: var(--pz-radius); }
html:not(#pz) legend { color: var(--pz-text); }
html:not(#pz) dl.settings dt,
html:not(#pz) dl.settings dd,
html:not(#pz) dl.settings label { color: var(--pz-text); }

/* ---------- 8. Boutons, formulaires, pagination ---------- */
html:not(#pz) .button,
html:not(#pz) a.button,
html:not(#pz) a.button:link,
html:not(#pz) a.button:visited,
html:not(#pz) .buttonlist a,
html:not(#pz) .buttonlist a:link,
html:not(#pz) .buttonlist a:visited,
html:not(#pz) .buttonlist .button,
html:not(#pz) .quickbuttons > li > a {
	background: var(--pz-surface-2); color: var(--pz-link) !important; border: 1px solid var(--pz-border-strong); border-radius: 999px;
	text-shadow: none; box-shadow: none; padding-left: .9em; padding-right: .9em;
}
html:not(#pz) .button:hover,
html:not(#pz) a.button:hover,
html:not(#pz) .buttonlist a:hover,
html:not(#pz) .buttonlist .button:hover,
html:not(#pz) .quickbuttons > li > a:hover {
	background: var(--pz-accent); color: var(--pz-on-accent) !important; border-color: var(--pz-accent);
}
/* conteneurs des boutons : toujours transparents (évite les rectangles blancs derrière les pastilles) */
html:not(#pz) .quickbuttons,
html:not(#pz) .quickbuttons li,
html:not(#pz) .quickbuttons > li,
html:not(#pz) .buttonlist,
html:not(#pz) .buttonlist li,
html:not(#pz) ul.quickbuttons,
html:not(#pz) ul.buttonlist,
html:not(#pz) .pagesection .buttonlist {
	background: transparent !important; border: 0 !important; box-shadow: none !important;
}
html:not(#pz) .quickbuttons li a,
html:not(#pz) .quickbuttons li a:before,
html:not(#pz) .quickbuttons li a:after { box-shadow: none; }
html:not(#pz) input[type="submit"],
html:not(#pz) input[type="button"],
html:not(#pz) button.button_submit,
html:not(#pz) .button_submit {
	background: var(--pz-accent) !important; color: var(--pz-on-accent) !important; border: 1px solid var(--pz-accent); border-radius: 999px; text-shadow: none; box-shadow: none;
}
html:not(#pz) input[type="submit"]:hover,
html:not(#pz) input[type="button"]:hover,
html:not(#pz) .button_submit:hover { filter: brightness(1.12); }
html:not(#pz) input[type="text"],
html:not(#pz) input[type="password"],
html:not(#pz) input[type="email"],
html:not(#pz) input[type="search"],
html:not(#pz) input[type="number"],
html:not(#pz) input[type="url"],
html:not(#pz) input[type="date"],
html:not(#pz) input[type="tel"],
html:not(#pz) select,
html:not(#pz) textarea {
	background: var(--pz-field); color: var(--pz-text); border: 1px solid var(--pz-border-strong); border-radius: 6px;
}
html:not(#pz) input:focus,
html:not(#pz) select:focus,
html:not(#pz) textarea:focus { border-color: var(--pz-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pz-accent) 28%, transparent); outline: 0; }
html:not(#pz) ::placeholder { color: var(--pz-muted); opacity: 1; }
html:not(#pz) .pagelinks a,
html:not(#pz) .pagelinks a:link,
html:not(#pz) .pagelinks .nav_page,
html:not(#pz) .pagelinks .current_page,
html:not(#pz) .pagelinks span {
	background: var(--pz-surface); color: var(--pz-link); border: 1px solid var(--pz-border-strong); border-radius: 999px; padding: 1px 10px; text-decoration: none;
}
html:not(#pz) .pagelinks .current_page,
html:not(#pz) .pagelinks span.current_page { background: var(--pz-accent); color: var(--pz-on-accent); border-color: var(--pz-accent); font-weight: 700; }
html:not(#pz) .new_posts {
	background: var(--pz-accent) !important; color: var(--pz-on-accent) !important; border-radius: 999px; padding: 0 .65em; font-size: .78em; font-weight: 700; text-transform: none;
}

/* ---------- 9. Messages ---------- */
html:not(#pz) .post_wrapper,
html:not(#pz) .post_wrapper .postarea { color: var(--pz-text); }
html:not(#pz) .poster,
html:not(#pz) .poster_wrapper { background: var(--pz-surface-2) !important; color: var(--pz-text) !important; }
html:not(#pz) .poster a { color: var(--pz-link); }
html:not(#pz) .poster h4,
html:not(#pz) .poster h4 a { font-family: var(--pz-font-title); }
html:not(#pz) .poster .avatar img,
html:not(#pz) .poster img.avatar { border-radius: 50%; }
html:not(#pz) .postarea,
html:not(#pz) .keyinfo,
html:not(#pz) .post,
html:not(#pz) .moderatorbar,
html:not(#pz) .post_options { background: transparent !important; color: var(--pz-text); }
html:not(#pz) .keyinfo h5,
html:not(#pz) .keyinfo h5 a { color: var(--pz-text); }
html:not(#pz) .post .inner,
html:not(#pz) .postarea .inner { font-family: var(--pz-font-post); font-size: 1.06em; line-height: 1.7; color: var(--pz-text); }
html:not(#pz) .signature,
html:not(#pz) .attachments { border-top: 1px solid var(--pz-border); color: var(--pz-muted); }
html:not(#pz) blockquote,
html:not(#pz) .quoteheader,
html:not(#pz) .bbc_quote {
	background: var(--pz-surface-2) !important; color: var(--pz-text) !important; border: 1px solid var(--pz-border); border-left: 4px solid var(--pz-accent); border-radius: 4px;
}
html:not(#pz) code,
html:not(#pz) .bbc_code,
html:not(#pz) .codeheader { background: var(--pz-field) !important; color: var(--pz-text) !important; border: 1px solid var(--pz-border); }
html:not(#pz) .quickbuttons > li > a,
html:not(#pz) .quickbuttons li { font-size: .88em; }

/* ---------- 10. Pied de page ---------- */
html:not(#pz) #footer,
html:not(#pz) #footer_section { background: var(--pz-top) !important; color: var(--pz-top-text); border-top: 2px solid var(--pz-accent); }
html:not(#pz) #footer a,
html:not(#pz) #footer_section a,
html:not(#pz) #footer li,
html:not(#pz) #footer p { color: var(--pz-top-text); }
html:not(#pz) #footer a:hover { color: #fff; }

/* ==========================================================================
   11. ICONOGRAPHIE : médaillons des 9 éléments pour les statuts
   ========================================================================== */
html:not(#pz) .board_icon a::before,
html:not(#pz) .board_icon a::after { display: none !important; }
html:not(#pz) .board_icon a {
	display: block; width: var(--pz-ic); height: var(--pz-ic); margin: 0 auto; border-radius: 50%;
	background-color: transparent !important; background-repeat: no-repeat !important; background-position: center !important; background-size: contain !important;
	transition: filter .25s ease, transform .25s ease;
}
html:not(#pz) .board_icon a:hover { transform: scale(1.06); }
html:not(#pz) .board_icon a.board_on { background-image: var(--pz-ic-board-on) !important; }
html:not(#pz) .board_icon a.board_on2 { background-image: var(--pz-ic-board-on2) !important; }
html:not(#pz) .board_icon a.board_off { background-image: var(--pz-ic-board-off) !important; }
html:not(#pz) .board_icon a.board_redirect { background-image: var(--pz-ic-board-redirect) !important; }
html[data-pz-dim="1"]:not(#pz) .board_icon a.board_off,
html[data-pz-dim="1"]:not(#pz) .pz-medal[data-state="read"] { filter: saturate(.7); opacity: .92; }
html[data-pz-glow="1"]:not(#pz) .board_icon a.board_on,
html[data-pz-glow="1"]:not(#pz) .board_icon a.board_on2,
html[data-pz-glow="1"]:not(#pz) .pz-medal[data-state="unread"] {
	filter: drop-shadow(0 0 7px var(--pz-glow)); animation: pz-pulse 3.4s ease-in-out infinite;
}
@keyframes pz-pulse { 50% { filter: drop-shadow(0 0 14px var(--pz-glow)) brightness(1.08); } }
html:not(#pz) .pz-on > :not(.pz-medal) { display: none !important; }
html:not(#pz) .pz-medal { position: relative; display: block; width: var(--pz-ic); height: var(--pz-ic); margin: 0 auto; background: center / contain no-repeat; border-radius: 50%; }
html:not(#pz) .pz-medal[data-state="unread"] { background-image: var(--pz-ic-topic-unread); }
html:not(#pz) .pz-medal[data-state="read"] { background-image: var(--pz-ic-topic-read); }
html:not(#pz) .pz-flag { position: absolute; right: -4px; bottom: -4px; width: 24px; height: 24px; border-radius: 50%; background: center / contain no-repeat; filter: drop-shadow(0 1px 2px rgba(0,0,0,.65)); }
html:not(#pz) .pz-flag[data-flag="sticky"] { background-image: var(--pz-ic-flag-sticky); }
html:not(#pz) .pz-flag[data-flag="locked"] { background-image: var(--pz-ic-flag-locked); }
html:not(#pz) .pz-flag[data-flag="poll"] { background-image: var(--pz-ic-flag-poll); }
html:not(#pz) .pz-flag[data-flag="mine"] { background-image: var(--pz-ic-flag-mine); }
html:not(#pz) .pz-unread { box-shadow: inset 4px 0 0 var(--pz-accent); }
html:not(#pz) .cat_bar.pz-cat { position: relative; min-height: 46px; }
html:not(#pz) .cat_bar.pz-cat .catbg { padding-left: 62px !important; }
html:not(#pz) .cat_bar.pz-cat::before { content: ""; position: absolute; left: 10px; top: 50%; width: 42px; height: 42px; transform: translateY(-50%); background: var(--pz-cat-icon) center / contain no-repeat; filter: drop-shadow(0 2px 3px rgba(0,0,0,.6)); z-index: 2; }
html:not(#pz) .cat_bar.pz-cat-glyph::before { width: 30px; height: 36px; background: #f0d493; filter: none; opacity: .92; -webkit-mask: var(--pz-cat-glyph) center / contain no-repeat; mask: var(--pz-cat-glyph) center / contain no-repeat; }
html:not(#pz) .pz-coin { display: inline-block; width: 26px; height: 26px; vertical-align: -8px; margin-right: 5px; filter: drop-shadow(0 1px 2px rgba(0,0,0,.45)); }
html:not(#pz) .pz-rank { height: 26px !important; width: auto !important; max-width: none; margin: 0 1px; padding: 0 !important; background: transparent !important; border: 0 !important; vertical-align: middle; filter: drop-shadow(0 1px 2px rgba(0,0,0,.35)); }
html:not(#pz) li.icons,
html:not(#pz) .poster li.icons { background: transparent !important; }
html:not(#pz) .pz-legend {
	display: flex; flex-wrap: wrap; gap: 6px 22px; align-items: center; margin: 12px 0; padding: 10px 14px;
	background: var(--pz-surface); border: 1px solid var(--pz-border); border-radius: var(--pz-radius); color: var(--pz-muted); font-size: .9em; box-shadow: var(--pz-shadow);
}
html:not(#pz) .pz-legend > span { display: inline-flex; align-items: center; gap: 7px; }
html:not(#pz) .pz-legend i { display: inline-block; width: 26px; height: 26px; background: center / contain no-repeat; border-radius: 50%; }

/* ---------- 12. « Choisis ta voie » ---------- */
html:not(#pz) #pz_voie {
	position: absolute; right: 18px; bottom: 12px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; z-index: 5;
	color: var(--pz-plate-text); font-family: var(--pz-font-title); font-size: .9em;
}
html:not(#pz) #pz_voie .pz-voie-label { margin-right: 4px; }
html:not(#pz) #pz_voie button {
	display: inline-flex; align-items: center; gap: 6px; cursor: pointer; padding: 3px 12px 3px 8px;
	background: rgba(255,255,255,.6); color: var(--pz-plate-text) !important; border: 1px solid var(--pz-border-strong); border-radius: 999px; font: inherit; text-shadow: none;
}
html:not(#pz) #pz_voie button:hover { background: #fff; border-color: var(--pz-accent); }
html:not(#pz) #pz_voie button[aria-pressed="true"] { background: var(--pz-accent); border-color: var(--pz-accent); color: var(--pz-on-accent) !important; }
html:not(#pz) #pz_voie .pz-sym { width: 18px; height: 18px; background: var(--pz-plate-text); -webkit-mask: center / contain no-repeat; mask: center / contain no-repeat; }
html:not(#pz) #pz_voie button[aria-pressed="true"] .pz-sym { background: #fff; }
html:not(#pz) #pz_voie button.pz-mode { padding: 1px 12px; }

/* ---------- 13. Transition au changement de voie ---------- */
html[data-pz-switching]:not(#pz) *,
html[data-pz-switching]:not(#pz) *::before,
html[data-pz-switching]:not(#pz) *::after {
	transition: background-color .5s ease, color .4s ease, border-color .5s ease, box-shadow .5s ease, opacity .5s ease !important;
}

/* ---------- 14. Mobile et accessibilité ---------- */
@media (max-width: 720px) {
	:root { --pz-ic: 40px; }
	html:not(#pz) #wrapper,
html:not(#pz) #header,
html:not(#pz) #top_section .inner_wrap,
html:not(#pz) #footer .inner_wrap,
html:not(#pz) #footer_section .inner_wrap { width: 100%; max-width: none; }
	html:not(#pz) #header { height: auto !important; min-height: 0; padding: 10px 12px; border-radius: 0; margin-top: 0; }
	html:not(#pz) #pz_voie { position: static; justify-content: center; padding: 8px 4px 2px; }
	html:not(#pz) #header[data-pz-glyph]::after { display: none; }
	html:not(#pz) .cat_bar.pz-cat .catbg { padding-left: 54px !important; }
	html:not(#pz) .pz-flag { width: 18px; height: 18px; }
}
@media (prefers-reduced-motion: reduce) {
	html[data-pz-glow="1"]:not(#pz) .board_icon a.board_on,
html[data-pz-glow="1"]:not(#pz) .board_icon a.board_on2,
html[data-pz-glow="1"]:not(#pz) .pz-medal[data-state="unread"] { animation: none; }
	html:not(#pz) .board_icon a { transition: none; }
	html[data-pz-switching]:not(#pz) *,
html[data-pz-switching]:not(#pz) *::before,
html[data-pz-switching]:not(#pz) *::after { transition: none !important; }
}
