/* ==========================================================================
   Hello Child — grille d'articles [hello_articles]
   Design sobre, neutre : le client habille le reste dans Elementor/Royal.
   Variables surchargeables depuis les réglages globaux Elementor si besoin.
   ========================================================================== */
.hc-articles {
	--hc-accent: #1f3b57;
	--hc-ink: #1a1a1a;
	--hc-muted: #6b7280;
	--hc-line: #e6e8eb;
	--hc-radius: 12px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 32px 20px 56px;
	box-sizing: border-box;
}

/* --- Filtre catégories --- */
.hc-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px;
}
.hc-filter__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 16px;
	border: 1px solid var(--hc-line);
	border-radius: 999px;
	font-size: 14px;
	line-height: 1;
	color: var(--hc-ink);
	text-decoration: none;
	background: #fff;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.hc-filter__item:hover {
	border-color: var(--hc-accent);
	color: var(--hc-accent);
}
.hc-filter__item.is-active {
	background: var(--hc-accent);
	border-color: var(--hc-accent);
	color: #fff;
}
.hc-filter__count {
	font-size: 12px;
	opacity: .7;
}

/* --- Grille --- */
.hc-grid {
	display: grid;
	gap: 28px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
.hc-grid--cols-1 { grid-template-columns: 1fr; }
.hc-grid--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hc-grid--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

@media (max-width: 980px) {
	.hc-grid,
	.hc-grid--cols-3,
	.hc-grid--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.hc-grid,
	.hc-grid--cols-2,
	.hc-grid--cols-3,
	.hc-grid--cols-4 { grid-template-columns: 1fr; }
}

/* --- Carte --- */
.hc-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--hc-line);
	border-radius: var(--hc-radius);
	overflow: hidden;
	transition: transform .18s ease, box-shadow .18s ease;
}
.hc-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 30px rgba(16, 24, 40, .10);
}
.hc-card__media {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #f2f4f7;
}
.hc-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s ease;
}
.hc-card:hover .hc-card__img { transform: scale(1.04); }
.hc-card__img--empty {
	background: linear-gradient(135deg, #e9edf2, #f6f8fa);
}
.hc-card__cat {
	position: absolute;
	left: 12px;
	top: 12px;
	padding: 5px 12px;
	font-size: 12px;
	letter-spacing: .02em;
	color: #fff;
	background: rgba(31, 59, 87, .92);
	border-radius: 999px;
}
.hc-card__body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 18px 20px 22px;
	flex: 1;
}
.hc-card__title {
	margin: 0;
	font-size: 20px;
	line-height: 1.3;
}
.hc-card__title a {
	color: var(--hc-ink);
	text-decoration: none;
}
.hc-card__title a:hover { color: var(--hc-accent); }
.hc-card__excerpt {
	margin: 0;
	color: var(--hc-muted);
	font-size: 15px;
	line-height: 1.55;
	flex: 1;
}
.hc-card__meta {
	margin-top: auto;
	font-size: 13px;
	color: var(--hc-muted);
}

/* --- Pagination --- */
.hc-pagination {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 40px;
}
.hc-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 1px solid var(--hc-line);
	border-radius: 8px;
	color: var(--hc-ink);
	text-decoration: none;
	font-size: 15px;
	background: #fff;
	transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.hc-pagination .page-numbers:hover {
	border-color: var(--hc-accent);
	color: var(--hc-accent);
}
.hc-pagination .page-numbers.current {
	background: var(--hc-accent);
	border-color: var(--hc-accent);
	color: #fff;
}
.hc-pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

/* --- Vide --- */
.hc-empty {
	text-align: center;
	color: var(--hc-muted);
	padding: 40px 0;
}

/* =========================================================================
   Blocs de corps d'article ([lh_takeaways], [lh_faq], [lh_pullquote]…).
   Portés depuis l'ancien thème pour rester stylés sous hello-child.
   ========================================================================= */
:root{
  --cream:#F4F1EA; --cream-soft:#FAF8F3; --white:#FFFFFF;
  --navy:#1C3A4E; --navy-deep:#142C3B;
  --gold:#A98A55; --gold-soft:#C2A877; --gold-pale:#E7DCC6;
  --ink:#2A2B28; --muted:#6E6A60; --line:#E2DACC;
  --serif:'Cormorant Garamond', Georgia, serif;
  --body:'EB Garamond', Georgia, serif;
  --sans:'Jost', 'Helvetica Neue', Arial, sans-serif;
}
.takeaways{background:var(--cream-soft);border:1px solid var(--gold-pale);padding:30px 34px;margin:6px 0 42px;position:relative}
.takeaways h4{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:18px;display:flex;align-items:center;gap:10px}
.takeaways ul{list-style:none;padding:0;margin:0}
.takeaways li{position:relative;padding-left:26px;margin-bottom:13px}
.takeaways li::before{content:"";position:absolute;left:0;top:12px;width:8px;height:8px;background:var(--gold);transform:rotate(45deg)}
.cta-inline{text-align:center;margin:48px 0;padding:42px 34px;background:var(--cream-soft);border:1px solid var(--gold-pale)}
.cta-inline p{font-family:var(--serif);font-size:25px;font-style:italic;color:var(--navy);margin:0 0 24px;text-align:center;line-height:1.4}
.field-note{border-left:2px solid var(--gold);background:var(--white);padding:26px 30px;margin:38px 0;position:relative}
.field-note .ttl{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:500;display:flex;align-items:center;gap:10px;margin-bottom:12px}
.field-note p{font-family:var(--serif);font-size:23px;font-style:italic;color:var(--navy);margin:0;line-height:1.45;text-align:left}
.field-note .by{font-family:var(--sans);font-style:normal;font-size:11.5px;letter-spacing:.05em;color:var(--muted);margin-top:14px;text-transform:uppercase}
.article-media{margin:42px 0}
.article-media img,.article-media video{width:100%;display:block}
.article-media figcaption{font-family:var(--sans);font-size:11.5px;letter-spacing:.04em;color:var(--muted);margin-top:11px;text-align:left}
.article-media .credit{color:#9a917f}
.data-tbl{width:100%;border-collapse:collapse;margin:16px 0 12px;font-family:var(--sans);font-size:14px}
.data-tbl caption{text-align:left;font-family:var(--body);font-size:15px;font-style:italic;color:var(--muted);margin-bottom:12px}
.data-tbl th{text-align:left;background:var(--navy);color:#fff;font-weight:400;letter-spacing:.08em;font-size:11px;text-transform:uppercase;padding:13px 16px}
.data-tbl td{padding:12px 16px;border-bottom:1px solid var(--line)}
.data-tbl tr:nth-child(even) td{background:var(--cream-soft)}
.tbl-src{font-family:var(--sans);font-size:11px;color:var(--muted);letter-spacing:.03em;margin:0 0 32px}
.pull{text-align:center;margin:50px 0;padding:0 10px}
.pull blockquote{font-family:var(--serif);font-size:36px;line-height:1.28;font-weight:500;color:var(--gold);margin:0}
.pull cite{display:block;font-family:var(--sans);font-style:normal;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:22px}
.faq{margin:14px 0 30px;position:relative}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:22px 0;font-family:var(--serif);font-size:23px;font-weight:500;color:var(--navy);display:flex;justify-content:space-between;align-items:center;gap:18px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .pl{color:var(--gold);font-size:26px;font-family:var(--sans);font-weight:300;transition:transform .25s}
.faq details[open] summary .pl{transform:rotate(45deg)}
.faq .ans{padding:0 0 24px;color:var(--muted);text-align:justify}
.sources{background:var(--white);border:1px solid var(--line);padding:32px 36px;margin:42px 0;position:relative}
.sources h3{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:20px}
.sources ol{margin:0;padding-left:24px;font-size:15px;color:var(--muted)}
.sources li{margin-bottom:14px;line-height:1.6}
.sources li a{color:var(--navy);border-bottom:1px solid var(--gold-soft)}
.sources .meta{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.03em;color:#9a917f;margin-top:3px}
.reviewer{display:flex;align-items:center;gap:18px;background:var(--navy);color:#fff;padding:24px 30px;margin:32px 0;position:relative}
.reviewer .av{width:50px;height:50px;border-radius:50%;background:var(--gold);color:var(--navy-deep);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:19px;flex-shrink:0}
.reviewer .tx{font-size:16px;color:#DCE4EA;line-height:1.55}
.reviewer .tx b{color:#fff;font-weight:500}

/* AUTHOR BIO (single) */
.bio{display:grid;grid-template-columns:128px 1fr;gap:30px;background:var(--cream-soft);border:1px solid var(--gold-pale);padding:36px 38px;margin:42px 0;align-items:start;position:relative}
.bio .av{width:128px;height:128px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--gold));display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--serif);font-size:44px;background-size:cover;background-position:center}
.bio h4{font-family:var(--serif);font-size:30px;font-weight:500;color:var(--navy);margin-bottom:3px}
.bio .role{font-family:var(--sans);font-size:11.5px;letter-spacing:.08em;color:var(--gold);text-transform:uppercase;margin-bottom:15px}
.bio p{font-size:16px;color:var(--muted);margin-bottom:15px;text-align:left}
.bio .creds{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:17px}
.bio .creds span{font-family:var(--sans);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;background:var(--white);border:1px solid var(--line);color:var(--navy);padding:6px 12px;border-radius:30px}
.bio .socials{display:flex;flex-wrap:wrap;gap:18px;font-family:var(--sans);font-size:12px;letter-spacing:.04em}
.bio .socials a{color:var(--navy);display:flex;align-items:center;gap:6px}
.bio .socials .ic{color:var(--gold)}
.disclaimer{font-family:var(--sans);font-size:12px;line-height:1.7;color:#9a917f;border-top:1px solid var(--line);padding-top:22px;margin-top:30px}


.elementor-element.elementor-element-lhwcarnat .wpr-slider-primary-btn:hover { color: #A98A55 !important; }
.elementor-element.elementor-element-lhwcarnat .wpr-slider-arrow:hover svg { fill: #A98A55 !important; }
a.wp-block-button__link.wp-element-button {
    color: white !important;
}