/* Annonces : cartes de la page d'accueil, page de lecture et editeur (theme vert sombre) */

.news-list {
	margin: 20px 0 10px;
}

/* ---------- Carte ---------- */
.news-card {
	display: flex;
	flex-direction: column;
	margin: 0 0 22px;
	background: linear-gradient(180deg, rgba(10, 46, 37, 0.92) 0%, rgba(5, 24, 19, 0.95) 100%);
	border: 1px solid rgba(136, 203, 178, 0.22);
	border-radius: 6px;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
	transition: border-color 0.2s, box-shadow 0.2s;
}
.news-card:hover {
	border-color: rgba(136, 203, 178, 0.5);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(136, 203, 178, 0.08) inset;
}
.news-card-media {
	display: block;
	height: 190px;
	overflow: hidden;
	background: #04140f;
	border-bottom: 1px solid rgba(136, 203, 178, 0.18);
}
.news-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.news-card:hover .news-card-media img {
	transform: scale(1.03);
}
.news-card-body {
	padding: 18px 20px 16px;
}

/* ---------- Meta : badge, date, auteur ---------- */
.news-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	margin-bottom: 10px;
	font-size: 11px;
	line-height: 1.4;
	color: #8fb5a6;
}
.news-meta .fa {
	margin-right: 3px;
	color: #5f9c86;
}
.news-badge {
	display: inline-block;
	padding: 2px 9px;
	border: 1px solid rgba(136, 203, 178, 0.5);
	border-radius: 999px;
	background: rgba(136, 203, 178, 0.12);
	color: #88cbb2;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.news-badge-update {
	border-color: rgba(123, 212, 88, 0.5);
	background: rgba(123, 212, 88, 0.12);
	color: #7bd458;
}
.news-badge-event {
	border-color: rgba(230, 200, 120, 0.5);
	background: rgba(230, 200, 120, 0.12);
	color: #e6c878;
}
.news-badge-maintenance {
	border-color: rgba(216, 75, 75, 0.55);
	background: rgba(216, 75, 75, 0.14);
	color: #ff8a80;
}

/* ---------- Titre, extrait, pied ---------- */
.news-card-title {
	margin: 0 0 8px;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: #f2fff9;
}
.news-card-title a,
.news-card-title a:hover,
.news-card-title a:focus {
	color: #f2fff9;
	text-decoration: none;
}
.news-card-title a:hover {
	color: #cef5eb;
}
.center-col .newsfeed .news-card-excerpt,
.news-card-excerpt {
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.65;
	color: #b5cfc5;
	text-align: left;
}
.news-card-footer,
.news-article-footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

/* ---------- Boutons ---------- */
.news-btn,
button.news-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 16px;
	border: 1px solid #2f8a6c;
	border-radius: 4px;
	background: linear-gradient(180deg, #0f5a45 0%, #083b2e 100%);
	color: #e9fff6;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.news-btn:hover,
.news-btn:focus,
button.news-btn:hover {
	border-color: #88cbb2;
	background: linear-gradient(180deg, #14715a 0%, #0a4a3a 100%);
	color: #ffffff;
	text-decoration: none;
}
.news-btn-ghost,
.news-btn-ghost:focus {
	background: rgba(0, 0, 0, 0.25);
	border-color: rgba(136, 203, 178, 0.35);
	color: #cef5eb;
}
.news-admin {
	display: flex;
	align-items: center;
	gap: 6px;
}
.news-inline-form {
	display: inline;
	margin: 0;
}
.news-icon-btn,
button.news-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(136, 203, 178, 0.35);
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.3);
	color: #cef5eb;
	font-size: 14px;
	cursor: pointer;
	transition: border-color 0.2s, color 0.2s;
}
.news-icon-btn:hover,
.news-icon-btn:focus {
	border-color: #88cbb2;
	color: #ffffff;
	text-decoration: none;
}
.news-icon-btn-danger,
button.news-icon-btn-danger {
	color: #ff8a80;
	border-color: rgba(216, 75, 75, 0.45);
}
.news-icon-btn-danger:hover,
button.news-icon-btn-danger:hover {
	color: #ffffff;
	border-color: #d84b4b;
	background: rgba(216, 75, 75, 0.35);
}

.news-empty {
	padding: 24px;
	border: 1px dashed rgba(136, 203, 178, 0.3);
	border-radius: 6px;
	background: rgba(0, 0, 0, 0.25);
	color: #b5cfc5;
	text-align: center;
}
.news-alert {
	margin: 15px 0;
}

/* ---------- Page de lecture ---------- */
.news-article {
	margin: 20px 0 30px;
	padding: 22px 24px;
	background: linear-gradient(180deg, rgba(10, 46, 37, 0.92) 0%, rgba(5, 24, 19, 0.95) 100%);
	border: 1px solid rgba(136, 203, 178, 0.22);
	border-radius: 6px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.45);
}
.news-article-head {
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(136, 203, 178, 0.18);
}
.news-article-title {
	margin: 0;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.25;
	color: #f2fff9;
}
.news-article-footer {
	margin-top: 22px;
	padding-top: 14px;
	border-top: 1px solid rgba(136, 203, 178, 0.18);
}
.news-updated {
	font-size: 11px;
	font-style: italic;
	color: #8fb5a6;
}

/* ---------- Contenu HTML d'une annonce ---------- */
.news-content {
	font-size: 14px;
	line-height: 1.75;
	color: #cfe3db;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.news-content p {
	margin: 0 0 0.9em;
}
.news-content h1,
.news-content h2,
.news-content h3,
.news-content h4 {
	margin: 1.3em 0 0.6em;
	font-weight: 700;
	line-height: 1.3;
	color: #f2fff9;
}
.news-content h1,
.news-content h2 {
	padding-left: 10px;
	border-left: 3px solid #88cbb2;
	font-size: 19px;
}
.news-content h3 {
	font-size: 16px;
	color: #cef5eb;
}
.news-content h4 {
	font-size: 14px;
	color: #cef5eb;
}
.news-content > :first-child {
	margin-top: 0;
}
.news-content strong,
.news-content b {
	font-weight: 700;
	color: #ffffff;
}
.news-content a {
	color: #88cbb2;
	text-decoration: underline;
}
.news-content a:hover {
	color: #cef5eb;
}
.news-content ul,
.news-content ol {
	margin: 0 0 0.9em;
	padding-left: 24px;
	-webkit-padding-start: 24px;
	padding-inline-start: 24px;
}
.news-content ul {
	list-style: disc;
}
.news-content ul ul {
	list-style: circle;
}
.news-content ol {
	list-style: decimal;
}
.news-content li {
	margin: 0.2em 0;
}
.news-content li::marker {
	color: #88cbb2;
}
.news-content blockquote {
	margin: 0 0 0.9em;
	padding: 10px 14px;
	border-left: 3px solid #2f8a6c;
	border-radius: 0 4px 4px 0;
	background: rgba(0, 0, 0, 0.25);
	color: #b5cfc5;
	font-style: italic;
}
.news-content img {
	display: inline-block;
	max-width: 100%;
	height: auto;
	border-radius: 4px;
	vertical-align: middle;
}
.news-content iframe.ql-video {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	margin: 0 0 0.9em;
	border: 0;
	border-radius: 4px;
	background: #000;
}
.news-content hr {
	margin: 1.2em 0;
	border: 0;
	border-top: 1px solid rgba(136, 203, 178, 0.25);
}
.news-content pre,
.news-content code {
	background: rgba(0, 0, 0, 0.35);
	border-radius: 3px;
	color: #cef5eb;
	font-size: 12px;
}
.news-content .ql-align-center { text-align: center; }
.news-content .ql-align-right { text-align: right; }
.news-content .ql-align-justify { text-align: justify; }

/* ---------- Administration : formulaire + editeur Quill ---------- */
.news-admin-panel {
	margin: 15px 0 5px;
}
.news-form {
	margin-top: 12px;
	padding: 16px;
	background: rgba(0, 0, 0, 0.35);
	border: 1px solid rgba(136, 203, 178, 0.25);
	border-radius: 6px;
}
.news-form-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 0 14px;
}
.news-form-title {
	flex: 1 1 260px;
}
.news-form-cat {
	flex: 0 1 180px;
}
.news-form-row {
	margin-bottom: 12px;
}
.news-form-row label {
	display: block;
	margin-bottom: 5px;
	font-size: 12px;
	font-weight: 600;
	color: #cef5eb;
}
.news-form .form-control {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	background: rgba(0, 0, 0, 0.45);
	border: 1px solid rgba(136, 203, 178, 0.3);
	border-radius: 4px;
	color: #e9fff6;
}
.news-form select.form-control option {
	background: #0b1f19;
	color: #e9fff6;
}
.news-form textarea.news-editor-source {
	height: auto;
	min-height: 220px;
	padding: 10px;
	font-family: monospace;
	font-size: 12px;
}
.news-form-actions {
	text-align: right;
}

.news-form .ql-toolbar.ql-snow {
	background: #0b1f19;
	border: 1px solid rgba(136, 203, 178, 0.3);
	border-radius: 4px 4px 0 0;
}
.news-form .ql-container.ql-snow {
	min-height: 260px;
	background: rgba(4, 20, 15, 0.9);
	border: 1px solid rgba(136, 203, 178, 0.3);
	border-top: 0;
	border-radius: 0 0 4px 4px;
	color: #cfe3db;
	font-family: inherit;
	font-size: 14px;
}
.news-form .ql-editor {
	min-height: 260px;
	line-height: 1.7;
}
.news-form .ql-editor.ql-blank::before {
	color: #6d8f83;
	font-style: italic;
}
.news-form .ql-editor ul,
.news-form .ql-editor ol {
	padding-left: 1.5em;
}
.news-form .ql-editor h2 {
	color: #f2fff9;
	font-size: 19px;
}
.news-form .ql-editor h3 {
	color: #cef5eb;
	font-size: 16px;
}
.news-form .ql-editor a {
	color: #88cbb2;
}
.news-form .ql-editor blockquote {
	border-left-color: #2f8a6c;
	color: #b5cfc5;
}
.news-form .ql-editor img {
	max-width: 100%;
}
.news-form .ql-snow .ql-stroke {
	stroke: #cef5eb;
}
.news-form .ql-snow .ql-fill,
.news-form .ql-snow .ql-stroke.ql-fill {
	fill: #cef5eb;
}
.news-form .ql-snow .ql-picker {
	color: #cef5eb;
}
.news-form .ql-snow.ql-toolbar button:hover .ql-stroke,
.news-form .ql-snow.ql-toolbar button.ql-active .ql-stroke,
.news-form .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke,
.news-form .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke {
	stroke: #7bd458;
}
.news-form .ql-snow.ql-toolbar button:hover .ql-fill,
.news-form .ql-snow.ql-toolbar button.ql-active .ql-fill {
	fill: #7bd458;
}
.news-form .ql-snow.ql-toolbar button:hover,
.news-form .ql-snow.ql-toolbar button.ql-active,
.news-form .ql-snow.ql-toolbar .ql-picker-label:hover,
.news-form .ql-snow.ql-toolbar .ql-picker-label.ql-active,
.news-form .ql-snow.ql-toolbar .ql-picker-item:hover,
.news-form .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
	color: #7bd458;
}
.news-form .ql-snow .ql-picker-options {
	background: #0b1f19;
	border-color: rgba(136, 203, 178, 0.3) !important;
}
.news-form .ql-snow .ql-tooltip {
	z-index: 10;
	background: #0b1f19;
	border-color: rgba(136, 203, 178, 0.4);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.6);
	color: #cfe3db;
}
.news-form .ql-snow .ql-tooltip input[type=text] {
	background: rgba(0, 0, 0, 0.45);
	border-color: rgba(136, 203, 178, 0.3);
	color: #e9fff6;
	padding: 3px 5px;
}
.news-form .ql-snow .ql-tooltip a {
	color: #88cbb2;
}
.news-form .news-editor-invalid .ql-container.ql-snow,
.news-form .news-editor-invalid .ql-toolbar.ql-snow {
	border-color: #d84b4b;
}

/* ---------- Petits ecrans ---------- */
@media (max-width: 640px) {
	.news-card-media {
		height: 150px;
	}
	.news-card-body,
	.news-article {
		padding: 14px;
	}
	.news-card-title {
		font-size: 16px;
	}
	.news-article-title {
		font-size: 20px;
	}
	.news-card-footer,
	.news-article-footer {
		flex-direction: column;
		align-items: stretch;
	}
	.news-btn {
		justify-content: center;
	}
	.news-admin {
		justify-content: flex-end;
	}
}

/* Fil d'Ariane de la page d'une annonce : Annonces > Titre */
.heading-main.news-crumb strong{display:flex;align-items:center;gap:8px;min-width:0;max-width:100%}
.news-crumb a{color:#88cbb2;text-decoration:none}
.news-crumb a:hover{color:#cef5eb}
.news-crumb-sep{color:#5f9c86}
.news-crumb-title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#f2fff9}

.news-article-title a { color: inherit; text-decoration: none; }
.news-article-title a:hover { color: #cef5eb; }
.news-article + .news-article { margin-top: 0; }

/* Bloc Discord (page compte et page vote), aux couleurs du site */
.dc-card{margin:6px 0 14px;padding:14px;border-radius:6px;background:linear-gradient(180deg,rgba(10,46,37,.92) 0%,rgba(5,24,19,.95) 100%);border:1px solid rgba(136,203,178,.22);box-shadow:0 6px 18px rgba(0,0,0,.45)}
.dc-bonus{margin-top:12px;padding:10px 14px;border-radius:4px;background:rgba(0,0,0,.28);border:1px solid rgba(136,203,178,.18);text-align:center;font-size:13px;line-height:1.6;color:#cfe3db}
.dc-card > .dc-bonus:first-child{margin-top:0}
.dc-bonus-title{font-weight:700;color:#88cbb2;text-transform:uppercase;font-size:11px;letter-spacing:.08em}
.dc-bonus-title .fa{color:#e6c878}
.dc-bonus b{color:#f2fff9}
.dc-plus{color:#7bd458;font-weight:700}
.dc-bonus-note{font-size:11px;color:#8fb5a6}

/* Bouton Discord de la page compte, meme gabarit que les autres boutons */
.dc-btn-sm{background:#5865F2;border:1px solid #5865F2;color:#fff !important}
.dc-btn-sm:hover{background:#4752c4;border-color:#4752c4}
.dc-btn-sm .dc-logo{width:16px;height:12px;vertical-align:-1px;margin-right:4px}

/* Bandeau Discord en haut de la page compte */
.dc-bar{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:10px 12px;border-radius:4px;background:linear-gradient(90deg,rgba(88,101,242,.22) 0%,rgba(10,46,37,.85) 55%,rgba(5,24,19,.9) 100%);border:1px solid rgba(136,203,178,.22);border-left:3px solid #5865F2}
.dc-bar .dc-logo{width:26px;height:20px;flex:none;color:#aab2ff}
.dc-bar-text{flex:1;font-size:13px;line-height:1.45;color:#cfe3db}
.dc-bar-text b{color:#f2fff9}
.dc-bar-btn{flex:none;padding:6px 14px;border-radius:4px;background:#5865F2;color:#fff !important;font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none !important}
.dc-bar-btn:hover{background:#4752c4}
.dc-bar-form{margin:0;flex:none}
.dc-bar-unlink{padding:5px 12px;border-radius:4px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-size:12px;cursor:pointer}
.dc-bar-unlink:hover{background:rgba(255,255,255,.12)}

.vote-auto-info{margin:0 0 12px;font-size:13px;color:#88cbb2}
.vote-auto-info .fa{color:#7bd458}

/* Lien Vote Booster top-metin2.org, discret */
.tm2-backlink{opacity:.45;font-size:11px}
.tm2-backlink a{color:inherit !important;text-decoration:none}
.tm2-backlink:hover{opacity:.8}

/* Choix de la langue (haut droite) */
.lang-switch{position:absolute;top:14px;right:24px;z-index:50;font-size:13px}
.lang-switch summary{list-style:none;display:flex;align-items:center;gap:6px;padding:5px 10px;border-radius:4px;background:rgba(5,24,19,.75);border:1px solid rgba(136,203,178,.25);color:#e9fff6;cursor:pointer;user-select:none}
.lang-switch summary::-webkit-details-marker{display:none}
.lang-switch summary:hover{border-color:rgba(136,203,178,.6)}
.lang-switch img{width:18px;height:18px;border-radius:50%;object-fit:cover}
.lang-switch ul{position:absolute;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;min-width:160px;background:linear-gradient(180deg,rgba(10,46,37,.97),rgba(5,24,19,.98));border:1px solid rgba(136,203,178,.25);border-radius:4px;box-shadow:0 8px 20px rgba(0,0,0,.5)}
.lang-switch li a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:3px;color:#cfe3db !important;text-decoration:none !important}
.lang-switch li a span{color:#8fb5a6;font-size:12px}
.lang-switch li a:hover,.lang-switch li a.active{background:rgba(136,203,178,.14);color:#fff !important}
