/**
 * Objectif Déclic — charte graphique (COMBO 03)
 *
 * Pumpkin  #FD802E — accent, CTA, liens actifs, surlignage
 * Charcoal #233D4C — texte, en-têtes sombres, footer, hero
 */

:root {
	/* Couleurs de marque */
	--od-pumpkin: #fd802e;
	--od-pumpkin-dark: #e56d18;
	--od-pumpkin-light: rgba(253, 128, 46, 0.12);
	--od-charcoal: #233d4c;
	--od-charcoal-light: #3a5566;
	--od-charcoal-muted: rgba(35, 61, 76, 0.68);

	/* Alias sémantiques */
	--od-accent: var(--od-pumpkin);
	--od-accent-dark: var(--od-pumpkin-dark);
	--od-text: var(--od-charcoal);
	--od-text-muted: var(--od-charcoal-muted);

	/* Surfaces */
	--od-bg: #f4f7f8;
	--od-surface: #ffffff;
	--od-border: rgba(35, 61, 76, 0.1);
	--od-radius: 14px;
	--od-radius-sm: 10px;
	--od-shadow: 0 8px 30px rgba(35, 61, 76, 0.07);
	--od-shadow-hover: 0 14px 40px rgba(35, 61, 76, 0.11);

	/* Typographie */
	--od-font-ui: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--od-font-body: "Source Serif 4", Georgia, "Times New Roman", serif;
	--od-content-width: 44rem;
}

/* --- Base --- */

body.od-modern {
	background: var(--od-bg);
	color: var(--od-text);
	font-family: var(--od-font-ui);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.od-modern .td-main-content-wrap,
body.od-modern .tdc-content-wrap {
	background: transparent;
}

/* --- Masquer le login intrusif pour les visiteurs --- */

body.od-modern:not(.logged-in) .td-header-login-wrap,
body.od-modern:not(.logged-in) .td-menu-login-section,
body.od-modern:not(.logged-in) .td-login-modal-js,
body.od-modern:not(.logged-in) #td-login-div,
body.od-modern:not(.logged-in) #td-register-div,
body.od-modern:not(.logged-in) #td-forgot-pass-div,
body.od-modern:not(.logged-in) .td-login-wrap:not(.td-login-modal),
body.od-modern:not(.logged-in) .comment-reply-login,
body.od-modern:not(.logged-in) .tds_login_sign_in_widget {
	display: none !important;
}

/* --- En-tête --- */

body.od-modern .td-header-wrap {
	background: rgba(255, 255, 255, 0.92) !important;
	backdrop-filter: blur(12px);
	border-bottom: 3px solid var(--od-pumpkin) !important;
	box-shadow: none !important;
}

body.od-modern .td-header-wrap .td-logo-text,
body.od-modern .td-header-wrap .td-logo span,
body.od-modern .td-header-wrap .td-tagline-text {
	font-family: var(--od-font-ui) !important;
	font-weight: 700 !important;
	letter-spacing: -0.02em;
}

body.od-modern .td-header-wrap .td-tagline-text {
	font-weight: 500 !important;
	color: var(--od-text-muted) !important;
	font-size: 0.85rem !important;
}

body.od-modern .td-header-menu-wrap .sf-menu > li > a {
	font-family: var(--od-font-ui) !important;
	font-weight: 600 !important;
	font-size: 0.95rem !important;
	letter-spacing: 0.01em;
	transition: color 0.2s ease;
}

body.od-modern .td-header-menu-wrap .sf-menu > li > a:hover,
body.od-modern .td-header-menu-wrap .sf-menu > li.td-active > a,
body.od-modern .td-header-menu-wrap .sf-menu > li.current-menu-item > a {
	color: var(--od-pumpkin) !important;
}

body.od-modern .td-read-more a,
body.od-modern .wpcf7-submit,
body.od-modern .td-post-category {
	background-color: var(--od-pumpkin) !important;
	border-color: var(--od-pumpkin) !important;
}

/* --- Titres de blocs / sidebar --- */

body.od-modern .block-title,
body.od-modern .td-block-title-wrap .td-block-title {
	font-family: var(--od-font-ui) !important;
	font-weight: 700 !important;
	font-size: 0.78rem !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	border: none !important;
	margin-bottom: 1.25rem !important;
}

body.od-modern .block-title span,
body.od-modern .td-block-title-wrap .td-block-title span {
	background: transparent !important;
	padding: 0 0 0.65rem 0 !important;
	border-bottom: 2px solid var(--od-accent) !important;
	display: inline-block !important;
	line-height: 1.3 !important;
}

/* --- Cartes articles (listes, modules) --- */

body.od-modern .td_module_wrap,
body.od-modern .td_module_6,
body.od-modern .td_module_10,
body.od-modern .td_module_11,
body.od-modern .td_module_mx2,
body.od-modern .td_module_mx4 {
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.od-modern .td_module_6,
body.od-modern .td_module_7,
body.od-modern .td_module_8,
body.od-modern .td_module_16 {
	padding: 0.85rem;
	border-radius: var(--od-radius-sm);
	background: var(--od-surface);
	border: 1px solid var(--od-border);
	margin-bottom: 0.75rem !important;
}

body.od-modern .td_module_6:hover,
body.od-modern .td_module_7:hover {
	transform: translateY(-2px);
	box-shadow: var(--od-shadow-hover);
}

body.od-modern .td-module-thumb img,
body.od-modern .td-module-image img {
	border-radius: var(--od-radius-sm) !important;
	object-fit: cover;
	transition: transform 0.35s ease;
}

body.od-modern .td_module_6 .td-module-thumb,
body.od-modern .td_module_7 .td-module-thumb {
	flex-shrink: 0;
	width: 100px;
	min-width: 100px;
}

body.od-modern .td_module_6 .entry-thumb,
body.od-modern .td_module_7 .entry-thumb {
	display: block;
	width: 100px;
	height: 70px;
	border-radius: var(--od-radius-sm) !important;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

body.od-modern .td_module_6 img.entry-thumb,
body.od-modern .td_module_7 img.entry-thumb {
	width: 100px !important;
	height: 70px !important;
	max-width: 100px !important;
	object-fit: cover !important;
}

body.od-modern .td_module_mob_1 .entry-thumb,
body.od-modern .td_module_mob_1 img.entry-thumb {
	border-radius: var(--od-radius-sm) !important;
	background-size: cover;
	background-position: center;
}

body.od-modern .td-module-thumb:hover img,
body.od-modern .entry-thumb:hover img {
	transform: scale(1.03);
}

body.od-modern .entry-title,
body.od-modern .td-module-title a {
	font-family: var(--od-font-ui) !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	color: var(--od-text) !important;
	transition: color 0.2s ease;
}

body.od-modern .entry-title:hover,
body.od-modern .td-module-title a:hover {
	color: var(--od-accent) !important;
}

body.od-modern .td-post-date,
body.od-modern .td-module-meta-info,
body.od-modern .td-post-author-name,
body.od-modern .td-post-views {
	font-family: var(--od-font-ui) !important;
	font-size: 0.82rem !important;
	color: var(--od-text-muted) !important;
}

/* --- Article single : lisibilité --- */

body.od-modern.single .td-post-header .entry-title {
	font-family: var(--od-font-ui) !important;
	font-size: clamp(1.75rem, 4vw, 2.6rem) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.03em;
	max-width: var(--od-content-width);
}

body.od-modern.single .td-post-content,
body.od-modern.single .td-post-content p,
body.od-modern.page .td-post-content {
	font-family: var(--od-font-body) !important;
	font-size: 1.125rem !important;
	line-height: 1.75 !important;
	color: var(--od-charcoal-light) !important;
	max-width: var(--od-content-width);
}

body.od-modern.single .td-post-content h2,
body.od-modern.single .td-post-content h3,
body.od-modern.page .td-post-content h2,
body.od-modern.page .td-post-content h3 {
	font-family: var(--od-font-ui) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	margin-top: 2.2em !important;
	margin-bottom: 0.75em !important;
	color: var(--od-text) !important;
}

body.od-modern.single .td-post-content h2 {
	font-size: 1.55rem !important;
}

body.od-modern.single .td-post-content h3 {
	font-size: 1.25rem !important;
}

body.od-modern.single .td-post-content ul,
body.od-modern.single .td-post-content ol {
	padding-left: 1.4rem !important;
	margin: 1.25em 0 !important;
}

body.od-modern.single .td-post-content li {
	margin-bottom: 0.5em !important;
}

body.od-modern.single .td-post-content a {
	color: var(--od-accent-dark) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(253, 128, 46, 0.35);
	transition: text-decoration-color 0.2s ease;
}

body.od-modern.single .td-post-content a:hover {
	text-decoration-color: var(--od-accent-dark);
}

body.od-modern.single .td-post-featured-image img {
	border-radius: var(--od-radius) !important;
	box-shadow: var(--od-shadow);
}

body.od-modern .td-post-template-default .td-main-content-wrap,
body.od-modern .td-category-grid {
	padding-top: 1.5rem;
}

/* --- Sidebar --- */

body.od-modern .td-ss-main-sidebar,
body.od-modern .td-pb-span4.td-main-sidebar,
body.od-modern .wpb_widgetised_column {
	background: var(--od-surface);
	border: 1px solid var(--od-border);
	border-radius: var(--od-radius);
	padding: 1.25rem 1.35rem !important;
	box-shadow: var(--od-shadow);
}

body.od-modern .td-main-sidebar .td_block_wrap {
	margin-bottom: 1.75rem !important;
}

/* --- Boutons & liens d'action --- */

body.od-modern .td-read-more a,
body.od-modern .wpb_button,
body.od-modern .td-login-button,
body.od-modern input[type="submit"],
body.od-modern button[type="submit"],
body.od-modern .wpcf7-submit {
	font-family: var(--od-font-ui) !important;
	font-weight: 600 !important;
	border-radius: 999px !important;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
}

body.od-modern .td-read-more a:hover,
body.od-modern .wpcf7-submit:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(253, 128, 46, 0.28);
}

/* --- Formulaire contact --- */

body.od-modern .wpcf7 input[type="text"],
body.od-modern .wpcf7 input[type="email"],
body.od-modern .wpcf7 textarea {
	font-family: var(--od-font-ui) !important;
	border: 1px solid var(--od-border) !important;
	border-radius: var(--od-radius-sm) !important;
	padding: 0.85rem 1rem !important;
	background: var(--od-surface) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

body.od-modern .wpcf7 input:focus,
body.od-modern .wpcf7 textarea:focus {
	border-color: var(--od-accent) !important;
	box-shadow: 0 0 0 3px var(--od-pumpkin-light) !important;
	outline: none !important;
}

/* --- Pied de page --- */

body.od-modern .td-footer-wrapper,
body.od-modern .td-footer-bottom-full {
	background: var(--od-charcoal) !important;
	color: rgba(255, 255, 255, 0.85) !important;
}

body.od-modern .td-footer-wrapper .block-title span {
	border-bottom-color: var(--od-accent) !important;
	color: #fff !important;
}

body.od-modern .footer-text-wrap,
body.od-modern .td-footer-bottom-full .td-pb-span12 {
	font-family: var(--od-font-ui) !important;
	font-size: 0.9rem !important;
	line-height: 1.6 !important;
}

/* --- Fil d'Ariane --- */

body.od-modern .td-crumb-container {
	font-family: var(--od-font-ui) !important;
	font-size: 0.82rem !important;
	color: var(--od-text-muted) !important;
}

body.od-modern .td-crumb-container a:hover {
	color: var(--od-accent) !important;
}

/* --- Accent thème tagDiv --- */

body.od-modern .td-header-gradient::before,
body.od-modern .td-header-wrap::after {
	opacity: 0 !important;
}

body.od-modern a.td-admin-edit,
body.od-modern .td-post-category {
	border-radius: 999px !important;
	font-family: var(--od-font-ui) !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* --- Page association (hero blocs) --- */

body.od-modern.page .tdm-title,
body.od-modern.page .tdm-descr {
	font-family: var(--od-font-ui) !important;
}

body.od-modern.page .tdm-title {
	font-weight: 700 !important;
	letter-spacing: -0.02em !important;
}

body.od-modern.page .tdm-descr {
	color: var(--od-text-muted) !important;
	line-height: 1.65 !important;
}

body.od-modern.page .tdm_block_icon_box {
	border-radius: var(--od-radius) !important;
	background: var(--od-surface) !important;
	border: 1px solid var(--od-border) !important;
	box-shadow: var(--od-shadow);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.od-modern.page .tdm_block_icon_box:hover {
	transform: translateY(-3px);
	box-shadow: var(--od-shadow-hover);
}

/* --- Mobile --- */

@media (max-width: 767px) {
	body.od-modern.single .td-post-content,
	body.od-modern.single .td-post-content p {
		font-size: 1.05rem !important;
		line-height: 1.7 !important;
	}

	body.od-modern .td-ss-main-sidebar,
	body.od-modern .td-main-sidebar {
		padding: 1rem !important;
		margin-top: 1.5rem;
	}

	body.od-modern .td_module_6,
	body.od-modern .td_module_7 {
		padding: 0.65rem;
	}
}

/* --- Accessibilité : focus visible --- */

body.od-modern a:focus-visible,
body.od-modern button:focus-visible,
body.od-modern input:focus-visible {
	outline: 2px solid var(--od-accent) !important;
	outline-offset: 2px !important;
}
