/*
 * Chez Bodul — styles du thème enfant.
 * Chargé après style.css et blocks.css de Twenty Seventeen.
 *
 * Sommaire
 *   1.  Jetons de design
 *   2.  Base et typographie
 *   3.  Largeurs de mise en page
 *   4.  En-tête et image de couverture
 *   5.  Navigation principale
 *   6.  Liste d'articles
 *   7.  Contenu long (code, citations, images, tableaux)
 *   8.  Image mise en avant
 *   9.  Pagination et navigation entre articles
 *   10. Colonne latérale et widgets
 *   11. Formulaires
 *   12. Commentaires
 *   13. Pied de page
 *   14. Accessibilité et divers
 */

/* ==========================================================================
   1. Jetons de design
   ========================================================================== */

:root {
	--bd-bg:           #fbfaf8;
	--bd-surface:      #ffffff;
	--bd-surface-alt:  #f4f1ec;
	--bd-ink:          #16181d;
	--bd-ink-soft:     #5c626e;
	--bd-ink-faint:    #8b909b;
	--bd-line:         #e6e2db;
	--bd-line-soft:    #f0ece6;
	--bd-line-strong:  #d5cfc5;
	--bd-accent:       #b4451f;
	--bd-accent-hover: #8f3617;
	--bd-accent-soft:  #f6ece6;
	--bd-on-accent:    #ffffff;

	--bd-radius:   10px;
	--bd-radius-s: 6px;
	--bd-shadow:   0 1px 2px rgba(22, 24, 29, .04), 0 8px 24px -12px rgba(22, 24, 29, .18);

	--bd-sans: "Libre Franklin", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--bd-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}

@media (prefers-color-scheme: dark) {
	:root {
		--bd-bg:           #14161a;
		--bd-surface:      #1b1e24;
		--bd-surface-alt:  #23272f;
		--bd-ink:          #e8e6e3;
		--bd-ink-soft:     #a3a9b5;
		--bd-ink-faint:    #7d838f;
		--bd-line:         #2b2f37;
		--bd-line-soft:    #23272f;
		--bd-line-strong:  #3a3f49;
		--bd-accent:       #ff8b5e;
		--bd-accent-hover: #ffa985;
		--bd-accent-soft:  #2b1d16;
		--bd-on-accent:    #14161a;
		--bd-shadow:       0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .7);
	}
}

/* ==========================================================================
   2. Base et typographie
   ========================================================================== */

body,
body.colors-light,
.site-content-contain,
.site-content {
	background-color: var(--bd-bg);
}

body,
button,
input,
select,
textarea,
body.colors-light,
.colors-light button,
.colors-light input,
.colors-light select,
.colors-light textarea {
	color: var(--bd-ink);
	font-family: var(--bd-sans);
	font-size: 17px;
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

@media screen and (min-width: 48em) {
	body,
	button,
	input,
	select,
	textarea {
		font-size: 18px;
		line-height: 1.72;
	}
}

::selection {
	background: var(--bd-accent);
	color: var(--bd-on-accent);
}

/* -- Titres -- */

h1, h2, h3, h4, h5, h6,
.colors-light h1, .colors-light h2, .colors-light h3,
.colors-light h4, .colors-light h5, .colors-light h6 {
	color: var(--bd-ink);
	font-family: var(--bd-sans);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.entry-content h2 { font-size: 1.6em;  margin-top: 2.2em; }
.entry-content h3 { font-size: 1.28em; margin-top: 2em;   letter-spacing: -0.015em; }
.entry-content h4 { font-size: 1.06em; margin-top: 1.8em; letter-spacing: 0; }

.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	margin-bottom: .6em;
}

.entry-content p,
.entry-content ul,
.entry-content ol {
	margin-bottom: 1.5em;
}

.entry-content li {
	margin-bottom: .35em;
}

/* -- Liens dans le contenu -- */

.entry-content a:not(.button):not(.more-link):not(.post-edit-link),
.comment-content a,
.taxonomy-description a {
	color: var(--bd-accent);
	box-shadow: none;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	text-decoration-color: rgba(180, 69, 31, .4);
	transition: color .15s ease, text-decoration-color .15s ease;
}

@supports (color: color-mix(in srgb, red 50%, transparent)) {
	.entry-content a:not(.button):not(.more-link):not(.post-edit-link),
	.comment-content a,
	.taxonomy-description a {
		text-decoration-color: color-mix(in srgb, var(--bd-accent) 40%, transparent);
	}
}

.entry-content a:not(.button):not(.more-link):not(.post-edit-link):hover,
.entry-content a:not(.button):not(.more-link):not(.post-edit-link):focus,
.comment-content a:hover,
.comment-content a:focus {
	color: var(--bd-accent-hover);
	box-shadow: none;
	text-decoration-color: currentColor;
}

/* ==========================================================================
   3. Largeurs de mise en page
   ========================================================================== */

@media screen and (min-width: 48em) {
	.wrap,
	.navigation-top .wrap {
		max-width: 1140px;
	}

	/* Le thème parent découpe en 58 % / 36 % : la colonne latérale écrase les
	   articles. On rend la lecture prioritaire. */
	.has-sidebar:not(.error404) #primary {
		width: 68%;
	}

	.has-sidebar #secondary {
		width: 26%;
	}
}

.single-post:not(.has-sidebar) #primary,
.page.page-one-column:not(.twentyseventeen-front-page) #primary,
.archive.page-one-column:not(.has-sidebar) .page-header,
.archive.page-one-column:not(.has-sidebar) #primary {
	max-width: 720px;
}

/* ==========================================================================
   4. En-tête et image de couverture
   ========================================================================== */

/*
 * En-tête, navigation et contenu partagent le même fond : sans cela une bande
 * d'une teinte légèrement différente apparaît sous le menu.
 */
.site-header {
	background-color: var(--bd-bg);
}

/*
 * Hauteur du hero : 75vh en mobile et 100vh en desktop d'origine, trop haut.
 *
 * Les deux paliers ne se pilotent pas au même endroit et il ne faut surtout pas
 * mélanger : en mobile la hauteur est portée par .custom-header (le média est en
 * position absolue, calé dessus), en desktop c'est .custom-header-media.
 * Fixer .custom-header en desktop le rendrait plus court que son média, qui
 * déborderait alors par-dessus le menu et le haut des articles — .custom-header
 * n'a pas d'overflow: hidden et le dégradé :before porte un z-index: 2.
 */
@media screen and (max-width: 47.9375em) {
	.has-header-image.home.blog .custom-header,
	.has-header-video.home.blog .custom-header,
	.has-header-image.twentyseventeen-front-page .custom-header,
	.has-header-video.twentyseventeen-front-page .custom-header {
		height: 360px;
	}
}

@media screen and (min-width: 48em) {
	.home.blog.has-header-image .custom-header-media,
	.home.blog.has-header-video .custom-header-media,
	.twentyseventeen-front-page.has-header-image .custom-header-media,
	.twentyseventeen-front-page.has-header-video .custom-header-media {
		height: 440px;
		max-height: 55vh;
	}

	.twentyseventeen-front-page.has-header-image .site-branding,
	.twentyseventeen-front-page.has-header-video .site-branding,
	.home.blog.has-header-image .site-branding,
	.home.blog.has-header-video .site-branding {
		margin-bottom: 40px;
	}
}

/* Garde-fou : rien de ce qui est dans le bandeau ne doit en sortir. */
.custom-header {
	overflow: hidden;
}

/* Dégradé plus marqué : le titre reste lisible sur n'importe quelle photo. */
.custom-header-media:before {
	background: linear-gradient(
		to bottom,
		rgba(10, 11, 14, .5) 0%,
		rgba(10, 11, 14, .2) 45%,
		rgba(10, 11, 14, .72) 100%
	);
}

.site-branding {
	padding: 1.8em 0 2em;
}

.site-title {
	font-size: 1.7rem;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.1;
	text-transform: none;
}

@media screen and (min-width: 48em) {
	.site-title {
		font-size: 2.4rem;
	}
}

.site-title,
.site-title a {
	color: var(--bd-ink);
}

.site-description {
	color: var(--bd-ink-soft);
	font-size: .95rem;
	font-weight: 400;
	letter-spacing: 0;
	margin-top: .5em;
	max-width: 46ch;
}

body.has-header-image .site-title,
body.has-header-video .site-title,
body.has-header-image .site-title a,
body.has-header-video .site-title a {
	color: #fff;
	text-shadow: 0 1px 24px rgba(0, 0, 0, .5);
}

body.has-header-image .site-description,
body.has-header-video .site-description {
	color: #fff;
	opacity: .92;
	text-shadow: 0 1px 16px rgba(0, 0, 0, .55);
}

/* ==========================================================================
   5. Navigation principale
   ========================================================================== */

.navigation-top {
	background: var(--bd-bg);
	border-top: 0;
	border-bottom: 0;
	font-size: 15px;
}

.navigation-top a,
.main-navigation a {
	color: var(--bd-ink-soft);
	font-weight: 600;
	letter-spacing: 0;
	transition: color .15s ease;
}

.navigation-top a:hover,
.navigation-top a:focus,
.main-navigation a:hover,
.main-navigation a:focus {
	color: var(--bd-accent);
}

.navigation-top .current-menu-item > a,
.navigation-top .current_page_item > a,
.navigation-top .current-menu-ancestor > a {
	color: var(--bd-ink);
}

.main-navigation ul {
	background: var(--bd-bg);
}

/* Le sous-menu flotte au-dessus du contenu : il lui faut un fond opaque. */
.main-navigation ul ul {
	background: var(--bd-surface);
}

.main-navigation li,
.main-navigation ul ul li {
	border-color: var(--bd-line);
}

@media screen and (min-width: 48em) {
	.main-navigation li {
		border: 0;
	}

	.main-navigation ul ul {
		border: 1px solid var(--bd-line);
		border-radius: var(--bd-radius-s);
		box-shadow: var(--bd-shadow);
		padding: .4em 0;
	}

	.main-navigation ul ul li {
		border: 0;
	}
}

/*
 * Au défilement, la barre flotte au-dessus du contenu. Le fond opaque suffit :
 * pas d'ombre portée, qui se lisait comme un dégradé de gris sous le menu.
 */
.site-navigation-fixed.navigation-top {
	background: var(--bd-bg);
	box-shadow: none;
}

/* Bouton de menu mobile */

.menu-toggle,
.menu-toggle:hover,
.menu-toggle:focus,
.main-navigation .menu-toggle {
	background: transparent;
	border: 1px solid var(--bd-line-strong);
	border-radius: var(--bd-radius-s);
	color: var(--bd-ink);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0;
	padding: .6em 1em;
	text-transform: none;
}

.menu-toggle:hover {
	border-color: var(--bd-accent);
	color: var(--bd-accent);
}

/* ==========================================================================
   6. Liste d'articles
   ========================================================================== */

.blog .site-main > article,
.archive .site-main > article,
.search .site-main > article {
	border-bottom: 1px solid var(--bd-line);
	margin-bottom: 2.6em;
	padding-bottom: 2.4em;
}

@media screen and (min-width: 48em) {
	.blog .site-main > article,
	.archive .site-main > article,
	.search .site-main > article {
		margin-bottom: 3em;
		padding-bottom: 2.8em;
	}
}

.blog .site-main > article:last-of-type,
.archive .site-main > article:last-of-type,
.search .site-main > article:last-of-type {
	border-bottom: 0;
}

.entry-title,
.home.blog .entry-title {
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.18;
	margin-bottom: .35em;
}

@media screen and (min-width: 48em) {
	.entry-title,
	.home.blog .entry-title {
		font-size: 1.85rem;
	}

	.single-post .entry-title,
	.page:not(.twentyseventeen-front-page) .entry-title {
		font-size: 2.35rem;
	}
}

.entry-title a,
.colors-light .entry-title a {
	color: var(--bd-ink);
	box-shadow: none;
	text-decoration: none;
	transition: color .15s ease;
}

.entry-title a:hover,
.entry-title a:focus,
.colors-light .entry-title a:hover,
.colors-light .entry-title a:focus {
	color: var(--bd-accent);
	box-shadow: none;
	text-decoration: none;
}

/* -- Métadonnées -- */

.entry-meta,
.colors-light .entry-meta {
	color: var(--bd-ink-faint);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.entry-meta a,
.colors-light .entry-meta a,
.blog .entry-meta a.post-edit-link,
.archive .entry-meta a.post-edit-link,
.search .entry-meta a.post-edit-link {
	color: var(--bd-ink-faint);
	box-shadow: none;
	text-decoration: none;
}

.entry-meta a:hover,
.entry-meta a:focus {
	color: var(--bd-accent);
	box-shadow: none;
}

/* -- Pied d'article : catégories et mots-clés en pastilles -- */

.entry-footer {
	border-top: 1px solid var(--bd-line);
	margin-top: 2em;
	padding-top: 1.2em;
}

.entry-footer .cat-tags-links {
	color: var(--bd-ink-faint);
}

.entry-footer .cat-links,
.entry-footer .tags-links {
	padding-left: 0;
}

.entry-footer .cat-tags-links .icon {
	display: none;
}

.entry-footer .cat-links a,
.entry-footer .tags-links a {
	background: var(--bd-surface-alt);
	border-radius: 999px;
	color: var(--bd-ink-soft);
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .02em;
	line-height: 1;
	margin: 0 .3em .45em 0;
	padding: .55em .85em;
	text-decoration: none;
	text-transform: none;
	transition: background .15s ease, color .15s ease;
}

.entry-footer .cat-links a:hover,
.entry-footer .tags-links a:hover,
.entry-footer .cat-links a:focus,
.entry-footer .tags-links a:focus {
	background: var(--bd-accent);
	color: var(--bd-on-accent);
}

/* -- Extrait et lien « Continuer la lecture » (généré par excerpt_more) -- */

.link-more {
	margin-bottom: 0;
	margin-top: 1.1em;
}

.entry-content .more-link {
	color: var(--bd-accent);
	box-shadow: none;
	font-weight: 600;
	text-decoration: none;
}

.link-more .more-link::after {
	content: " →";
	display: inline-block;
	transition: transform .15s ease;
}

.link-more .more-link:hover::after {
	transform: translateX(2px);
}

.entry-content .more-link:hover,
.entry-content .more-link:focus {
	box-shadow: none;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* -- En-tête d'archive -- */

.page-header {
	border-bottom: 0;
}

.page-title {
	color: var(--bd-ink);
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: -0.02em;
	text-transform: none;
}

.taxonomy-description {
	color: var(--bd-ink-soft);
	font-size: .95rem;
}

/* ==========================================================================
   7. Contenu long
   ========================================================================== */

code,
kbd,
tt,
var,
.entry-content code {
	background: var(--bd-surface-alt);
	border: 1px solid var(--bd-line);
	border-radius: 4px;
	color: var(--bd-ink);
	font-family: var(--bd-mono);
	font-size: .86em;
	padding: .12em .38em;
}

pre {
	background: var(--bd-surface-alt);
	border: 1px solid var(--bd-line);
	border-radius: var(--bd-radius);
	color: var(--bd-ink);
	font-family: var(--bd-mono);
	font-size: .84em;
	line-height: 1.6;
	margin-bottom: 1.8em;
	max-width: 100%;
	overflow-x: auto;
	padding: 1.1em 1.25em;
	tab-size: 2;
	white-space: pre;
	word-wrap: normal;
}

pre code,
.entry-content pre code {
	background: transparent;
	border: 0;
	font-size: inherit;
	padding: 0;
}

blockquote,
.entry-content blockquote {
	border-left: 3px solid var(--bd-accent);
	color: var(--bd-ink-soft);
	font-size: 1.02em;
	font-style: normal;
	margin-left: 0;
	padding: .2em 0 .2em 1.4em;
	quotes: none;
}

blockquote:before,
blockquote:after,
blockquote p:before,
blockquote p:after {
	content: "";
}

blockquote cite,
blockquote small {
	color: var(--bd-ink-faint);
	display: block;
	font-size: .85em;
	font-style: normal;
	margin-top: .6em;
	text-transform: none;
}

.entry-content img,
.entry-content .wp-caption img,
.wp-block-image img,
.post-thumbnail img {
	border-radius: var(--bd-radius);
	height: auto;
	max-width: 100%;
}

.wp-caption-text,
.entry-content figcaption,
.wp-block-image figcaption {
	color: var(--bd-ink-faint);
	font-size: .82em;
	font-style: normal;
	line-height: 1.5;
	text-align: center;
}

table {
	border: 1px solid var(--bd-line);
	border-collapse: collapse;
	font-size: .92em;
	width: 100%;
}

table th,
table td {
	border: 1px solid var(--bd-line);
	padding: .6em .8em;
}

table th {
	background: var(--bd-surface-alt);
	font-weight: 600;
	text-align: left;
}

hr {
	background: var(--bd-line);
	border: 0;
	height: 1px;
	margin: 2.5em 0;
}

.entry-content iframe,
.entry-content embed,
.entry-content object,
.entry-content video {
	border-radius: var(--bd-radius);
	max-width: 100%;
}

/* ==========================================================================
   8. Image mise en avant
   ========================================================================== */

.single-featured-image-header {
	background-color: var(--bd-surface-alt);
	border-bottom: 1px solid var(--bd-line);
}

.post-thumbnail a:hover img,
.post-thumbnail a:focus img {
	opacity: .88;
}

/* ==========================================================================
   9. Pagination et navigation entre articles
   ========================================================================== */

.navigation.pagination {
	border-top: 1px solid var(--bd-line);
	padding-top: 1.6em;
}

.nav-links .page-numbers {
	border-radius: var(--bd-radius-s);
	color: var(--bd-ink-soft);
	display: inline-block;
	font-size: .9rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 .1em;
	padding: .65em .85em;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}

.nav-links a.page-numbers:hover,
.nav-links a.page-numbers:focus {
	background: var(--bd-surface-alt);
	color: var(--bd-accent);
}

.nav-links .page-numbers.current {
	background: var(--bd-accent);
	color: var(--bd-on-accent);
}

.post-navigation {
	border-top: 1px solid var(--bd-line);
	border-bottom: 1px solid var(--bd-line);
}

.post-navigation .nav-links > div {
	padding: 1.6em 0;
}

.post-navigation .post-title {
	color: var(--bd-ink);
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: -0.015em;
	line-height: 1.3;
	text-transform: none;
}

.post-navigation a:hover .post-title,
.post-navigation a:focus .post-title {
	color: var(--bd-accent);
}

.nav-subtitle {
	color: var(--bd-ink-faint);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .08em;
}

/* ==========================================================================
   10. Colonne latérale et widgets
   ========================================================================== */

#secondary {
	color: var(--bd-ink-soft);
	font-size: .92rem;
	line-height: 1.6;
}

.widget {
	border-bottom: 1px solid var(--bd-line);
	margin-bottom: 2em;
	padding-bottom: 2em;
}

.widget:last-child {
	border-bottom: 0;
}

.widget .widget-title,
.widget .widgettitle {
	color: var(--bd-ink);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	margin-bottom: 1.1em;
	text-transform: uppercase;
}

.widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.widget ul li {
	border-bottom: 1px solid var(--bd-line-soft);
	padding: .5em 0;
}

.widget ul li:last-child {
	border-bottom: 0;
}

.widget ul li a,
#secondary a {
	color: var(--bd-ink-soft);
	box-shadow: none;
	text-decoration: none;
	transition: color .15s ease;
}

.widget ul li a:hover,
.widget ul li a:focus,
#secondary a:hover,
#secondary a:focus {
	color: var(--bd-accent);
	box-shadow: none;
}

.widget_categories li,
.widget_archive li {
	color: var(--bd-ink-faint);
	font-size: .95em;
}

/* Nuage de mots-clés */

.widget .tagcloud a,
.wp-block-tag-cloud a {
	background: var(--bd-surface-alt);
	border-radius: 999px;
	color: var(--bd-ink-soft);
	display: inline-block;
	font-size: 12px !important;
	font-weight: 600;
	line-height: 1;
	margin: 0 .28em .45em 0;
	padding: .5em .8em;
	text-decoration: none;
	transition: background .15s ease, color .15s ease;
}

.widget .tagcloud a:hover,
.widget .tagcloud a:focus,
.wp-block-tag-cloud a:hover {
	background: var(--bd-accent);
	color: var(--bd-on-accent);
}

/* ==========================================================================
   11. Formulaires
   ========================================================================== */

.search-form .search-field,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea {
	background: var(--bd-surface);
	border: 1px solid var(--bd-line-strong);
	border-radius: var(--bd-radius-s);
	color: var(--bd-ink);
	padding: .65em .85em;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.search-form .search-field:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
textarea:focus {
	background: var(--bd-surface);
	border-color: var(--bd-accent);
	box-shadow: 0 0 0 3px var(--bd-accent-soft);
	color: var(--bd-ink);
	outline: 0;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.search-form .search-submit,
.colors-light button,
.colors-light input[type="submit"] {
	background: var(--bd-accent);
	border: 0;
	border-radius: var(--bd-radius-s);
	color: var(--bd-on-accent);
	font-weight: 600;
	letter-spacing: 0;
	padding: .7em 1.2em;
	text-transform: none;
	transition: background .15s ease;
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="submit"]:focus,
.search-form .search-submit:hover,
.search-form .search-submit:focus {
	background: var(--bd-accent-hover);
	color: var(--bd-on-accent);
}

/* Le bouton bascule du menu ne doit pas hériter du style « bouton plein ». */
.menu-toggle,
.menu-toggle:hover,
.menu-toggle:focus {
	background: transparent;
	color: var(--bd-ink);
}

.menu-toggle:hover {
	color: var(--bd-accent);
}

/* ==========================================================================
   12. Commentaires
   ========================================================================== */

#comments {
	border-top: 1px solid var(--bd-line);
	padding-top: 2em;
}

.comments-title,
.comment-reply-title {
	font-size: 1.2rem;
	font-weight: 700;
	letter-spacing: -0.015em;
}

.comment-body {
	border-bottom: 1px solid var(--bd-line);
	padding-bottom: 1.5em;
}

.comment-metadata,
.comment-metadata a {
	color: var(--bd-ink-faint);
	font-size: 11px;
	letter-spacing: .06em;
}

.comment-author .fn,
.comment-author .fn a {
	color: var(--bd-ink);
	font-weight: 700;
	letter-spacing: 0;
	text-transform: none;
}

.comment-author .avatar {
	border-radius: 50%;
}

/* ==========================================================================
   13. Pied de page
   ========================================================================== */

.site-footer {
	background: var(--bd-surface);
	border-top: 1px solid var(--bd-line);
	color: var(--bd-ink-soft);
	padding: 3em 0 2.5em;
}

.site-footer .wrap {
	padding-bottom: 0;
	padding-top: 0;
}

.site-footer .widget-area {
	padding-bottom: 2em;
}

.site-footer .widget-title,
.site-footer .widgettitle {
	color: var(--bd-ink);
}

.site-footer .widget-area a,
.site-footer .widget-area ul li a,
.site-info a {
	color: var(--bd-ink-soft);
	box-shadow: none;
	text-decoration: none;
}

.site-footer .widget-area a:hover,
.site-footer .widget-area a:focus,
.site-info a:hover,
.site-info a:focus {
	color: var(--bd-accent);
	box-shadow: none;
}

.site-info {
	border-top: 1px solid var(--bd-line);
	color: var(--bd-ink-faint);
	font-size: 13px;
	padding-top: 1.5em;
}

.social-navigation a {
	background: var(--bd-surface-alt);
	border-radius: 50%;
	color: var(--bd-ink-soft);
	transition: background .15s ease, color .15s ease;
}

.social-navigation a:hover,
.social-navigation a:focus {
	background: var(--bd-accent);
	color: var(--bd-on-accent);
}

/* ==========================================================================
   14. Accessibilité et divers
   ========================================================================== */

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--bd-accent);
	outline-offset: 2px;
}

/* Sécurité pour les anciens articles : rien ne doit déborder. */
.entry-content img,
.comment-content img,
.widget img {
	height: auto;
	max-width: 100%;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

@media print {
	.navigation-top,
	#secondary,
	.site-footer,
	.post-navigation,
	.navigation.pagination,
	#comments,
	.custom-header-media {
		display: none !important;
	}
}

/* ==========================================================================
   15. Rattrapage des couleurs codées en dur du thème parent

   Twenty Seventeen fixe des couleurs littérales (#fff, #eee, #ddd, #767676,
   #000) qui restent claires en mode sombre. On les repasse toutes sur les
   jetons, ce qui bénéficie aussi au mode clair (palette cohérente).
   ========================================================================== */

/* Liens génériques : le survol passait à #000, illisible sur fond sombre. */
a:hover,
a:focus,
a:active {
	color: var(--bd-accent);
}

/* Gris de service #767676 → jeton discret. */
.comment-metadata,
.comment-metadata a,
.no-comments,
.comment-awaiting-moderation,
.page-links .page-number,
.nav-subtitle,
.entry-footer .cat-links .icon,
.entry-footer .tags-links .icon,
.widget_rss .rss-date,
.widget_rss li cite,
h5 {
	color: var(--bd-ink-faint);
}

/* Flèches de pagination : pastilles #ddd en dur. */
.prev.page-numbers,
.next.page-numbers {
	background-color: var(--bd-surface-alt);
	color: var(--bd-ink-soft);
}

.prev.page-numbers:hover,
.prev.page-numbers:focus,
.next.page-numbers:hover,
.next.page-numbers:focus {
	background-color: var(--bd-accent);
	color: var(--bd-on-accent);
}

.page-numbers.current {
	color: var(--bd-on-accent);
}

/* Fonds clairs en dur sur des éléments de texte. */
mark,
ins,
dfn,
address {
	background-color: var(--bd-accent-soft);
	color: var(--bd-ink);
}

.screen-reader-text:focus {
	background-color: var(--bd-surface);
	color: var(--bd-ink);
}

/* Champs restants non couverts plus haut. */
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="color"],
select {
	background: var(--bd-surface);
	border: 1px solid var(--bd-line-strong);
	color: var(--bd-ink);
}

input[type="button"].secondary,
input[type="reset"].secondary,
input[type="submit"].secondary {
	background-color: var(--bd-surface-alt);
	color: var(--bd-ink);
}

/* Soulignements en box-shadow : blanc en dur sous les liens de widgets. */
.widget a,
.widget .widget-title a,
.posts-navigation a,
.widget_authors a strong,
.site-footer .widget-area a {
	box-shadow: none;
}

/* Bordures claires en dur. */
.site-content .wp-playlist-light,
.widget.widget_tag_cloud a,
.wp_widget_tag_cloud a {
	border-color: var(--bd-line);
}
