/*
Theme Name:   Donovan Child — Histoires à faire peur
Description:  Refonte UX : ambiance sombre, lecture confortable, mode Nuit/Papier.
Template:     donovan
Version:      1.0.1
Text Domain:  donovan-child
*/

/* ===== Palette ===== */
:root {
	--hafp-bg: #0f0e0d;
	--hafp-surface: #171513;
	--hafp-text: #ece6da;
	--hafp-soft: #cfc7b9;
	--hafp-muted: #a39a8c;
	--hafp-line: #2a2622;
	--hafp-accent: #e2574a;
	--hafp-on-accent: #0f0e0d;
	--hafp-fs: 21px;
	--hafp-display: 'IM Fell English', Georgia, serif;
	--hafp-serif: 'Newsreader', Georgia, serif;
	--hafp-sans: 'Inter', system-ui, -apple-system, sans-serif;
}
html.hafp-paper {
	--hafp-bg: #f4efe6;
	--hafp-surface: #ebe4d7;
	--hafp-text: #1c1a17;
	--hafp-soft: #3a352f;
	--hafp-muted: #5e564b;
	--hafp-line: #d8cfbf;
	--hafp-accent: #b3362b;
	--hafp-on-accent: #ffffff;
}

/* ===== Base ===== */
body,
.site,
.site-content,
.site-header,
.header-main {
	background: var(--hafp-bg) !important;
	color: var(--hafp-text);
}
body {
	font-family: var(--hafp-sans);
}
a { color: var(--hafp-accent); }
a:hover, a:focus { color: var(--hafp-text); }
.container { max-width: 1200px; }

/* ===== En-tête ===== */
.site-header { border-bottom: 1px solid var(--hafp-line); }
.header-main { padding-top: 1.4rem; padding-bottom: 1.2rem; }
.site-title { font-family: var(--hafp-display); font-weight: 400; text-transform: none; letter-spacing: .5px; font-size: 2rem; }
.site-title a, .site-title a:link, .site-title a:visited { color: var(--hafp-text); }
.site-description { color: var(--hafp-muted); font-family: var(--hafp-serif); font-style: italic; }

.primary-navigation-wrap,
.primary-navigation-container,
.main-navigation,
.main-navigation ul,
.main-navigation ul ul {
	background: var(--hafp-bg) !important;
	border-color: var(--hafp-line) !important;
}
.primary-navigation-wrap { border-top: 1px solid var(--hafp-line); border-bottom: 1px solid var(--hafp-line); }
.main-navigation a,
.main-navigation a:link,
.main-navigation a:visited,
.primary-menu-toggle {
	color: var(--hafp-text) !important;
	font-family: var(--hafp-sans);
	font-weight: 500;
	text-transform: none;
	font-size: 15px;
}
.main-navigation a:hover,
.main-navigation .current-menu-item > a { color: var(--hafp-accent) !important; }
.primary-menu-toggle { background: transparent !important; min-height: 44px; }
.main-navigation .menu-cta > a {
	background: var(--hafp-accent) !important;
	color: var(--hafp-on-accent) !important;
	border-radius: 22px;
	padding: .55em 1.2em !important;
	margin: .4em 0;
	font-weight: 600;
}
.main-navigation .menu-cta > a:hover { opacity: .9; }

/* ===== Mise en page : sans barre latérale ===== */
#secondary { display: none !important; }
.site-content { display: block; padding-top: 0; }
.content-area,
.content-archive,
.content-single { width: 100% !important; max-width: 100% !important; float: none !important; padding: 0 !important; margin: 0 !important; }

/* ===== Accueil : à la une ===== */
.hafp-hero { padding: 4.5rem 0 2.5rem; max-width: 820px; }
.hafp-kicker { margin: 0 0 1rem; font: 600 13px/1 var(--hafp-sans); letter-spacing: 2px; text-transform: uppercase; color: var(--hafp-accent); }
.hafp-hero-title { margin: 0 0 1.2rem; font: 400 clamp(52px, 8vw, 88px)/.98 var(--hafp-display); }
.hafp-hero-title a, .hafp-hero-title a:visited { color: var(--hafp-text); }
.hafp-hero-title a:hover { color: var(--hafp-accent); }
.hafp-hero-quote { margin: 0 0 1.8rem; font: italic 400 clamp(21px, 2.4vw, 28px)/1.45 var(--hafp-serif); color: var(--hafp-soft); }
.hafp-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; }
.hafp-hero-meta { font-size: 15px; color: var(--hafp-muted); }
.hafp-btn-light,
.hafp-btn-light:visited {
	display: inline-flex; align-items: center; min-height: 52px; padding: 0 28px; border-radius: 26px;
	background: var(--hafp-text); color: var(--hafp-bg); font: 600 16px var(--hafp-sans); text-decoration: none;
}
.hafp-btn-light:hover { background: var(--hafp-accent); color: var(--hafp-on-accent); }

.hafp-chips { display: flex; flex-wrap: wrap; gap: 12px; padding: .5rem 0 3rem; }
.hafp-chip, .hafp-chip:visited {
	display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 20px;
	border: 1px solid var(--hafp-line); border-radius: 22px; color: var(--hafp-soft); font: 500 15px var(--hafp-sans); text-decoration: none;
}
.hafp-chip span { color: var(--hafp-muted); font-size: 13px; }
.hafp-chip:hover { border-color: var(--hafp-accent); color: var(--hafp-text); }

.hafp-section-title { margin: 1rem 0 1.6rem; font: 400 44px/1.1 var(--hafp-display); color: var(--hafp-text); }

/* ===== Cartes d'histoires ===== */
.post-wrapper {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 24px;
	margin: 0 0 3rem !important;
}
.post-wrapper .post,
.post-wrapper article {
	width: auto !important; margin: 0 !important; padding: 0 !important; float: none !important;
	display: flex; flex-direction: column;
	background: var(--hafp-surface) !important;
	border: 1px solid var(--hafp-line) !important;
	border-radius: 12px; overflow: hidden;
	transition: border-color .15s;
	box-shadow: none !important;
}
.post-wrapper article:hover { border-color: var(--hafp-accent) !important; }
.post-wrapper .post-content { padding: 28px 28px 8px !important; flex-grow: 1; display: flex; flex-direction: column; background: transparent !important; }
.post-wrapper .entry-header { order: 2; margin-bottom: .8rem; }
.post-wrapper .entry-content { order: 3; }
.post-wrapper .entry-title { font: 500 26px/1.2 var(--hafp-serif); margin: 0 0 .4rem; }
.post-wrapper .entry-title a, .post-wrapper .entry-title a:visited { color: var(--hafp-text); }
.post-wrapper .entry-title a:hover { color: var(--hafp-accent); }
.post-wrapper .entry-meta { font-size: 13px; color: var(--hafp-muted); }
.post-wrapper .entry-meta .meta-author { display: none; }
.post-wrapper .entry-content { font: 17px/1.55 var(--hafp-serif); color: var(--hafp-soft); }
.post-wrapper .entry-content p { margin: 0 0 .8rem; }
.hafp-card-cat { display: block; order: 1; margin: 0 0 .9rem; font: 600 12px var(--hafp-sans); letter-spacing: 1.5px; text-transform: uppercase; color: var(--hafp-accent); }
.entry-meta, .entry-meta a, .entry-meta a:visited, .entry-meta time { color: var(--hafp-muted) !important; }
.hafp-card-time { font: 13px var(--hafp-sans) !important; color: var(--hafp-muted); margin: .4rem 0 0 !important; }
.post-wrapper .more-link { display: none; }
.post-wrapper .entry-footer { padding: 14px 28px 20px !important; border-top: 1px solid var(--hafp-line); font-size: 13px; color: var(--hafp-muted); background: transparent !important; }
.post-wrapper .entry-footer a { color: var(--hafp-muted); }
.post-wrapper .entry-footer svg { fill: var(--hafp-muted); }
.post-wrapper .entry-comments { display: none; }

/* Pagination */
.pagination .page-numbers,
.post-navigation a {
	background: transparent !important; color: var(--hafp-text) !important;
	border: 1px solid var(--hafp-line) !important; border-radius: 22px; min-width: 44px; min-height: 44px;
	display: inline-flex; align-items: center; justify-content: center; padding: 0 16px;
}
.pagination .current, .pagination .page-numbers:hover { border-color: var(--hafp-accent) !important; color: var(--hafp-accent) !important; }

/* ===== Page histoire ===== */
.hafp-progress { position: fixed; top: 0; left: 0; right: 0; height: 3px; background: var(--hafp-line); z-index: 100000; }
.admin-bar .hafp-progress { top: 32px; }
@media (max-width: 782px) { .admin-bar .hafp-progress { top: 46px; } }
.hafp-progress-bar { height: 3px; width: 0; background: var(--hafp-accent); }

.content-single .post,
.single .site-main > article {
	max-width: 720px; margin: 0 auto !important; padding: 3.5rem 0 1rem !important;
	background: transparent !important; box-shadow: none !important; border: 0 !important;
}
.single .post-content { padding: 0 !important; background: transparent !important; }
.single .entry-title { font: 400 clamp(44px, 6vw, 68px)/1.02 var(--hafp-display); color: var(--hafp-text); margin: 0 0 1rem; }
.single .entry-meta { font-size: 15px; color: var(--hafp-muted); margin-bottom: 1.6rem; }
.single .entry-meta a { color: var(--hafp-muted); }

.hafp-tools {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px;
	padding: 12px 0; margin: 0 0 2.5rem; border-top: 1px solid var(--hafp-line); border-bottom: 1px solid var(--hafp-line);
	font-family: var(--hafp-sans);
}
.hafp-tools-time { font-size: 14px; color: var(--hafp-muted); }
.hafp-tools-sep { flex-grow: 1; }
.hafp-btn {
	min-width: 44px; min-height: 44px; padding: 0 16px; border-radius: 22px;
	border: 1px solid var(--hafp-line); background: transparent !important; color: var(--hafp-text) !important;
	font: 500 14px var(--hafp-sans); cursor: pointer; text-transform: none; letter-spacing: 0; box-shadow: none;
}
.hafp-btn:hover { border-color: var(--hafp-accent); }
.hafp-btn[aria-pressed="true"] { border-color: var(--hafp-accent); color: var(--hafp-accent) !important; }
.hafp-size { font-family: var(--hafp-serif); padding: 0 10px; }

.hafp-story,
.single .entry-content {
	font-family: var(--hafp-serif);
	font-size: var(--hafp-fs);
	line-height: 1.75;
	color: var(--hafp-text);
}
.hafp-story p { margin: 0 0 1.2em; }
.hafp-story .google-auto-placed,
.hafp-story ins.adsbygoogle { margin: 2.5em 0 !important; }

/* Bouton j'aime existant (WTI Like Post) */
.single .watch-action { margin: 1.5rem 0; font-family: var(--hafp-sans); }

.hafp-next, .hafp-next:visited {
	display: flex; flex-direction: column; gap: 6px; margin: 2rem 0 1rem; padding: 28px;
	border: 1px solid var(--hafp-line); border-radius: 12px; text-decoration: none; color: var(--hafp-text);
}
.hafp-next:hover { border-color: var(--hafp-accent); color: var(--hafp-text); }
.hafp-next-label { font: 600 12px var(--hafp-sans); letter-spacing: 1.5px; text-transform: uppercase; color: var(--hafp-accent); }
.hafp-next-title { font: 500 28px/1.2 var(--hafp-serif); }
.hafp-next-meta { font: 14px var(--hafp-sans); color: var(--hafp-muted); }

.single .entry-footer { background: transparent !important; color: var(--hafp-muted); border-color: var(--hafp-line) !important; }
.single .entry-footer a { color: var(--hafp-muted); }
.single .post-navigation { max-width: 720px; margin: 0 auto 2rem; }
.single .post-navigation .nav-links a { color: var(--hafp-text) !important; border-radius: 12px; padding: 16px 20px; width: 100%; justify-content: flex-start; }

/* Articles liés */
.related-posts, .single .related-posts { max-width: 1200px; margin: 0 auto 3rem; }
.related-posts .post { background: var(--hafp-surface) !important; border-radius: 12px; }

/* Commentaires */
.comments-area { max-width: 720px; margin: 0 auto !important; padding: 2rem 0 4rem !important; background: transparent !important; color: var(--hafp-text); }
.comments-area .comment-reply-title, .comments-area .comments-title { font: 400 36px var(--hafp-display); color: var(--hafp-text); }
.comment-form label { color: var(--hafp-text); font-size: 14px; font-weight: 500; }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea,
.search-form .search-field {
	background: var(--hafp-surface) !important; color: var(--hafp-text) !important;
	border: 1px solid var(--hafp-line) !important; border-radius: 8px; min-height: 48px; font: 15px var(--hafp-sans);
}
.comment-form .submit,
.search-form .search-submit,
button[type="submit"],
input[type="submit"] {
	background: var(--hafp-accent) !important; color: var(--hafp-on-accent) !important;
	border: 0 !important; border-radius: 24px; min-height: 48px; padding: 0 24px; font: 600 15px var(--hafp-sans); text-transform: none;
}
.comment-list .comment-body { border-color: var(--hafp-line) !important; }

/* ===== Pages (Racontez nous votre histoire, etc.) ===== */
.page .site-main > article { max-width: 760px; margin: 0 auto !important; padding: 3.5rem 0 3rem !important; background: transparent !important; }
.page .entry-title { font: 400 clamp(40px, 5vw, 58px)/1.05 var(--hafp-display); color: var(--hafp-text); }
.page .entry-content { font: 19px/1.7 var(--hafp-serif); color: var(--hafp-text); }
.page .entry-content input,
.page .entry-content textarea,
.page .entry-content select { background: var(--hafp-surface); color: var(--hafp-text); border: 1px solid var(--hafp-line); border-radius: 8px; min-height: 44px; font-family: var(--hafp-sans); }

/* Archives / catégories */
.archive-header, .page-header { background: transparent !important; border: 0 !important; padding: 3rem 0 1rem !important; }
.archive-title, .page-title { font: 400 48px/1.05 var(--hafp-display) !important; color: var(--hafp-text); text-transform: none; }

/* ===== Bandeau témoignages ===== */
.hafp-cta { clear: both; margin: 2rem 0 0; border-top: 1px solid var(--hafp-line); border-bottom: 1px solid var(--hafp-line); background: var(--hafp-surface); border-radius: 12px; }
.hafp-cta-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 2rem; padding: 3.5rem 2.5rem; }
.hafp-cta h2 { margin: 0 0 .6rem; font: 400 clamp(32px, 4vw, 46px)/1.08 var(--hafp-display); color: var(--hafp-text); }
.hafp-cta h2 em { color: var(--hafp-accent); }
.hafp-cta p { margin: 0; font: 20px/1.5 var(--hafp-serif); color: var(--hafp-soft); }
.hafp-btn-accent, .hafp-btn-accent:visited {
	display: inline-flex; align-items: center; min-height: 56px; padding: 0 32px; border-radius: 28px;
	background: var(--hafp-accent); color: var(--hafp-on-accent); font: 600 16px var(--hafp-sans); text-decoration: none;
}
.hafp-btn-accent:hover { color: var(--hafp-on-accent); opacity: .9; }

/* ===== Pied de page ===== */
.site-footer, .footer-wrap { background: var(--hafp-bg) !important; color: var(--hafp-muted) !important; border-top: 0 !important; font-size: 14px; }
.site-footer a { color: var(--hafp-muted) !important; }

/* ===== Mobile ===== */
@media (max-width: 720px) {
	.hafp-hero { padding-top: 2.5rem; }
	.post-wrapper { grid-template-columns: 1fr; }
	.content-single .post, .single .site-main > article { padding-top: 2rem !important; }
	.hafp-tools-sep { display: none; }
	.hafp-tools-time { width: 100%; }
	.hafp-cta-inner { padding: 2.5rem 1.4rem; }
	.hafp-story, .single .entry-content { font-size: calc(var(--hafp-fs) - 2px); }
}

/* Liens sans soulignement dans les composants */
.hafp-hero-title a, .hafp-btn-light, .hafp-chip, .hafp-next, .hafp-btn-accent,
.post-wrapper .entry-title a, .site-title a, .main-navigation a { text-decoration: none !important; }

/* Couleurs des liens-composants (priorité sur a:link du thème parent) */
.hafp-chip:link, .hafp-chip:visited { color: var(--hafp-soft) !important; }
.hafp-chip:hover { color: var(--hafp-text) !important; }
.hafp-next:link, .hafp-next:visited, .hafp-next .hafp-next-title { color: var(--hafp-text) !important; }
.hafp-btn-light:link, .hafp-btn-light:visited { color: var(--hafp-bg) !important; }
.hafp-btn-accent:link, .hafp-btn-accent:visited { color: var(--hafp-on-accent) !important; }

/* Marges latérales sur petits écrans */
@media (max-width: 960px) {
	.site-content.container { padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box; }
}

/* ===== Page « Racontez-nous votre histoire » ===== */
.hafp-lede { font: italic 400 23px/1.5 var(--hafp-serif) !important; color: var(--hafp-soft); margin: 0 0 2rem !important; }
.hafp-steps { list-style: none; counter-reset: hafp; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 16px; padding: 0 !important; margin: 0 0 2.5rem !important; }
.hafp-steps li { counter-increment: hafp; background: var(--hafp-surface); border: 1px solid var(--hafp-line); border-radius: 12px; padding: 20px; margin: 0 !important; font: 15px/1.5 var(--hafp-sans); color: var(--hafp-soft); }
.hafp-steps li::before { content: counter(hafp); display: block; font: 400 34px/1 var(--hafp-display); color: var(--hafp-accent); margin-bottom: 10px; }
.hafp-steps strong { display: block; color: var(--hafp-text); margin-bottom: 4px; }
.page .entry-content h2.hafp-h { font: 400 30px/1.15 var(--hafp-display); color: var(--hafp-text); margin: 2.5rem 0 1rem; }
.hafp-tips { margin: 0 0 1rem !important; padding-left: 1.2em !important; font: 17px/1.6 var(--hafp-serif); color: var(--hafp-soft); }
.hafp-tips li { margin-bottom: .4em; }
.hafp-small { font: 14px/1.5 var(--hafp-sans) !important; color: var(--hafp-muted); }

#usp_form { display: flex; flex-direction: column; gap: 4px; margin-top: 1rem; padding: 28px; background: var(--hafp-surface); border: 1px solid var(--hafp-line); border-radius: 12px; font-family: var(--hafp-sans); }
#usp_form > * { order: 10; }
#usp_form > .usp-title { order: 1; }
#usp_form > .usp-category { order: 2; }
#usp_form > .usp-content { order: 3; }
#usp_form > .usp-name { order: 4; }
#usp_form > .usp-captcha { order: 5; }
#usp_form > #usp_verify { order: 6; }
#usp_form > .usp-submit, #usp_form > input[type="submit"], #usp_form > div:last-child { order: 20; }
#usp_form fieldset { border: 0 !important; padding: 0 !important; margin: 0 0 18px !important; }
#usp_form label { display: block; margin: 0 0 6px; font: 600 15px var(--hafp-sans); color: var(--hafp-text); }
#usp_form .usp-input,
#usp_form .usp-select,
#usp_form .usp-textarea {
	box-sizing: border-box; width: 100% !important; max-width: 100% !important;
	background: var(--hafp-bg) !important; color: var(--hafp-text) !important;
	border: 1px solid var(--hafp-line) !important; border-radius: 8px;
	min-height: 48px; padding: 10px 14px; font: 16px var(--hafp-sans);
}
#usp_form .usp-textarea { min-height: 340px; font: 18px/1.65 var(--hafp-serif); resize: vertical; }
#usp_form .usp-input:focus, #usp_form .usp-select:focus, #usp_form .usp-textarea:focus { outline: 2px solid var(--hafp-accent); outline-offset: 1px; border-color: var(--hafp-accent) !important; }
#usp_form ::placeholder { color: var(--hafp-muted); opacity: 1; }
#usp_form .usp-submit, #usp_form input[type="submit"] { align-self: flex-start; min-height: 52px; padding: 0 30px; font-size: 16px; cursor: pointer; }
#usp-error-message, .usp-error, #usp-success-message, .usp-success { border-radius: 8px; padding: 14px 18px; font: 15px var(--hafp-sans); margin-bottom: 1rem; }
#usp-success-message, .usp-success { background: var(--hafp-surface); border: 1px solid var(--hafp-accent); color: var(--hafp-text); }
#usp_form { padding: 28px !important; }
@media (max-width: 720px) { #usp_form { padding: 18px !important; } }

/* ===== Logo (serrure) ===== */
.site-title a { display: inline-flex; align-items: center; gap: .5em; }
.site-title a::before {
	content: ""; flex: none; width: 1.35em; height: 1.35em;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23ece6da%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%228%22%20y%3D%226%22%20width%3D%2248%22%20height%3D%2252%22%20rx%3D%2210%22%2F%3E%3Cpath%20d%3D%22M32%2016a9%209%200%200%201%205%2016.5L40%2048H24l3-15.5A9%209%200%200%201%2032%2016z%22%20fill%3D%22%23e2574a%22%20stroke%3D%22%23e2574a%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2225%22%20r%3D%222.6%22%20fill%3D%22%230f0e0d%22%2F%3E%3C%2Fsvg%3E");
}
html.hafp-paper .site-title a::before { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%231c1a17%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%228%22%20y%3D%226%22%20width%3D%2248%22%20height%3D%2252%22%20rx%3D%2210%22%2F%3E%3Cpath%20d%3D%22M32%2016a9%209%200%200%201%205%2016.5L40%2048H24l3-15.5A9%209%200%200%201%2032%2016z%22%20fill%3D%22%23b3362b%22%20stroke%3D%22%23b3362b%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2225%22%20r%3D%222.6%22%20fill%3D%22%23f4efe6%22%2F%3E%3C%2Fsvg%3E"); }
.site-description { padding-left: 59px; }
@media (max-width: 720px) { .site-description { padding-left: 0; } }

/* ======================================================================
   Publicités AdSense : cadre aux couleurs du site
   (le contenu de la pub reste celui de Google ; supprimer ce bloc pour revenir en arrière)
   ====================================================================== */
.google-auto-placed {
	position: relative;
	box-sizing: border-box;
	background: var(--hafp-surface);
	border: 1px solid var(--hafp-line);
	border-radius: 6px;
	padding: 30px 12px 12px;
	margin: 2.5em 0 !important;
	overflow: hidden;
}
.google-auto-placed::before {
	content: "Publicité";
	position: absolute;
	top: 10px;
	left: 0;
	right: 0;
	font: 500 11px/1 var(--hafp-sans);
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--hafp-muted);
	text-align: center;
}
.google-auto-placed ins.adsbygoogle,
.hafp-story .google-auto-placed ins.adsbygoogle {
	margin: 0 auto !important;
	background-color: transparent !important;
}
.google-auto-placed:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none !important; }
