/*
Theme Name: CMI Blog
Theme URI: https://www.christianmolleimmobilier.fr/
Author: Christian Molle Immobilier
Author URI: https://www.christianmolleimmobilier.fr/
Description: Theme du blog "Le Journal" de Christian Molle Immobilier. Reprend fidelement l'identite visuelle du site principal (header, navigation, footer) pour une continuite parfaite entre le site et le blog.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cmi-blog
*/

/* =========================================================
   VARIABLES - identite visuelle du site principal
   ========================================================= */
:root{
	--cmi-yellow:      #FDFB6D; /* couleur d'accent exacte relevee sur le site (onglet actif, logo, icones) */
	--cmi-dark:         #141414; /* fond footer / bandeau sombre */
	--cmi-dark-light:   #3d3e44; /* haut du degrade du bandeau header */
	--cmi-dark-lighter: #58595f;
	--cmi-white:        #ffffff;
	--cmi-text:         #1a1a1a; /* couleur du texte du site (proche du noir) */
	--cmi-gray-text:    #555659;
	--cmi-border:       #e7e7e7;
	--cmi-font:         'Nunito Sans', Arial, Helvetica, sans-serif; /* police relevee sur le site */
	--cmi-max-width:    1200px;
}

/* =========================================================
   BASE
   ========================================================= */
*, *::before, *::after{ box-sizing: border-box; }

html{ -webkit-text-size-adjust: 100%; }

body{
	margin: 0;
	font-family: var(--cmi-font);
	color: var(--cmi-text);
	background: #ffffff;
	font-size: 16px;
	line-height: 1.65;
}

img{ max-width: 100%; height: auto; display: block; }

a{ color: var(--cmi-text); text-decoration: none; transition: color .15s ease; }
a:hover{ color: var(--cmi-yellow); }

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

.container{
	max-width: var(--cmi-max-width);
	margin: 0 auto;
	padding: 0 24px;
}

h1, h2, h3, h4{
	font-family: var(--cmi-font);
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 16px;
	color: var(--cmi-text);
}

.screen-reader-text{
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px,1px,1px,1px);
}

/* =========================================================
   HEADER - reprise fidele : bandeau sombre, logo centre,
   navigation avec separateurs "|" et onglet actif en jaune
   ========================================================= */
.site-header{
	background: linear-gradient(160deg, var(--cmi-dark-lighter) 0%, var(--cmi-dark-light) 55%, #232327 100%);
	padding: 28px 0 0;
}

.site-branding{
	text-align: center;
	padding-bottom: 18px;
}

.site-branding .site-logo{
	display: inline-block;
	max-width: 320px;
}

.site-branding .site-logo svg{ width: 100%; height: auto; }

/* Navigation principale */
.main-navigation{
	border-top: 1px solid rgba(255,255,255,.12);
}

.main-navigation .nav-inner{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.main-navigation ul.menu{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.main-navigation ul.menu li{
	display: flex;
	align-items: center;
}

.main-navigation ul.menu li + li::before{
	content: "|";
	color: rgba(255,255,255,.4);
	padding: 0 18px;
	font-weight: 300;
}

.main-navigation ul.menu li a{
	display: block;
	padding: 18px 2px;
	color: var(--cmi-white);
	font-size: 14px;
	letter-spacing: .04em;
	text-transform: uppercase;
	font-weight: 600;
}

.main-navigation ul.menu li a:hover{
	color: var(--cmi-yellow);
}

.main-navigation ul.menu li.current-menu-item > a,
.main-navigation ul.menu li.current_page_item > a,
.main-navigation ul.menu li.cmi-current > a{
	color: var(--cmi-yellow);
}

/* Bouton menu mobile */
.menu-toggle{
	display: none;
	background: none;
	border: 0;
	color: var(--cmi-white);
	font-size: 24px;
	padding: 10px 24px;
	cursor: pointer;
}

@media (max-width: 780px){
	.menu-toggle{ display: block; margin: 0 auto; }
	.main-navigation .nav-inner{ display: none; flex-direction: column; padding: 0 0 12px; }
	.main-navigation.is-open .nav-inner{ display: flex; }
	.main-navigation ul.menu{ flex-direction: column; }
	.main-navigation ul.menu li + li::before{ display: none; }
	.main-navigation ul.menu li a{ padding: 10px 0; text-align: center; }
}

/* =========================================================
   CONTENU
   ========================================================= */
.site-content{
	padding: 48px 0 64px;
}

.content-layout{
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: 48px;
}

@media (max-width: 900px){
	.content-layout{ grid-template-columns: 1fr; }
}

.page-title{
	font-size: 30px;
	border-bottom: 3px solid var(--cmi-yellow);
	display: inline-block;
	padding-bottom: 10px;
	margin-bottom: 32px;
}

.archive-description{
	color: var(--cmi-gray-text);
	margin-bottom: 24px;
}

/* Cartes d'articles (liste / archives / recherche) */
.post-list{
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.post-card{
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 24px;
	border: 1px solid var(--cmi-border);
	border-radius: 4px;
	overflow: hidden;
}

@media (max-width: 640px){
	.post-card{ grid-template-columns: 1fr; }
}

.post-card .post-thumb{
	background: #f2f2f2;
	min-height: 180px;
}

.post-card .post-thumb img{ width: 100%; height: 100%; object-fit: cover; min-height: 180px; }

.post-card .post-body{ padding: 20px 24px 20px 0; }

.post-card.no-thumb .post-body{ padding-left: 24px; }

.post-card .post-meta,
.entry-meta{
	color: var(--cmi-gray-text);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 8px;
}

.post-card .post-meta a,
.entry-meta a{ color: var(--cmi-gray-text); }

.post-card h2{
	font-size: 20px;
	margin-bottom: 10px;
}

.post-card h2 a:hover{ color: var(--cmi-yellow); }

.post-card .post-excerpt{ color: #333; font-size: 15px; }

.read-more{
	display: inline-block;
	margin-top: 12px;
	font-weight: 700;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: .04em;
	border-bottom: 2px solid var(--cmi-yellow);
	padding-bottom: 2px;
}

/* Pagination */
.pagination{
	display: flex;
	gap: 8px;
	margin-top: 40px;
	flex-wrap: wrap;
}

.pagination a, .pagination span{
	padding: 8px 14px;
	border: 1px solid var(--cmi-border);
	border-radius: 3px;
	font-size: 14px;
}

.pagination .current{
	background: var(--cmi-yellow);
	border-color: var(--cmi-yellow);
}

/* Article seul */
.single-post .entry-header{ margin-bottom: 24px; }

.single-post .entry-title{ font-size: 32px; }

.single-post .entry-thumb{ margin-bottom: 24px; border-radius: 4px; overflow: hidden; }

.entry-content{ font-size: 16px; }

.entry-content p{ margin: 0 0 20px; }

.entry-content img{ border-radius: 4px; margin: 12px 0; }

.entry-content blockquote{
	margin: 24px 0;
	padding: 12px 24px;
	border-left: 4px solid var(--cmi-yellow);
	background: #fafafa;
	font-style: italic;
}

.entry-footer{
	margin-top: 32px;
	padding-top: 16px;
	border-top: 1px solid var(--cmi-border);
	font-size: 14px;
	color: var(--cmi-gray-text);
}

.entry-footer a{ color: var(--cmi-gray-text); }

/* Bandeau retour au site */
.back-to-site{
	margin-top: 40px;
	padding: 18px 24px;
	background: #f7f7f5;
	border-left: 4px solid var(--cmi-yellow);
	font-size: 14px;
}

.back-to-site a{ font-weight: 700; }

/* Sidebar */
.widget{ margin-bottom: 36px; }

.widget-title{
	font-size: 16px;
	text-transform: uppercase;
	letter-spacing: .04em;
	border-bottom: 3px solid var(--cmi-yellow);
	display: inline-block;
	padding-bottom: 8px;
	margin-bottom: 16px;
}

.widget ul li{
	padding: 8px 0;
	border-bottom: 1px solid var(--cmi-border);
	font-size: 14px;
}

.widget select, .widget input[type="text"], .widget input[type="search"]{
	width: 100%;
	padding: 10px;
	border: 1px solid var(--cmi-border);
	border-radius: 3px;
	font-family: var(--cmi-font);
}

/* Formulaire de recherche */
.search-form{ display: flex; gap: 8px; }

.search-form input[type="search"]{
	flex: 1;
	padding: 10px 12px;
	border: 1px solid var(--cmi-border);
	border-radius: 3px;
	font-family: var(--cmi-font);
}

.search-form button{
	background: var(--cmi-yellow);
	border: 0;
	padding: 0 18px;
	border-radius: 3px;
	font-weight: 700;
	cursor: pointer;
}

/* 404 */
.error-404{ text-align: center; padding: 60px 0; }

.error-404 .error-code{
	font-size: 90px;
	font-weight: 800;
	color: var(--cmi-yellow);
	-webkit-text-stroke: 2px var(--cmi-text);
	margin: 0;
}

/* Commentaires */
.comments-area{ margin-top: 48px; }

.comments-title{ font-size: 22px; margin-bottom: 24px; }

.comment-list{ margin: 0 0 32px; }

.comment-list li{ margin-bottom: 24px; }

.comment-body{
	border: 1px solid var(--cmi-border);
	border-radius: 4px;
	padding: 16px 20px;
}

.comment-meta{ font-size: 13px; color: var(--cmi-gray-text); margin-bottom: 6px; }

.comment-form label{ display: block; font-size: 14px; margin-bottom: 6px; font-weight: 600; }

.comment-form p{ margin-bottom: 16px; }

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
	width: 100%;
	padding: 10px 12px;
	border: 1px solid var(--cmi-border);
	border-radius: 3px;
	font-family: var(--cmi-font);
}

.comment-form .form-submit input{
	background: var(--cmi-yellow);
	border: 0;
	padding: 12px 24px;
	border-radius: 3px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	cursor: pointer;
}

/* =========================================================
   FOOTER - reprise fidele : fond sombre texture, 3 colonnes,
   barre inferieure blanche
   ========================================================= */
.site-footer{
	background-color: var(--cmi-dark);
	background-image:
		repeating-linear-gradient(135deg, rgba(255,255,255,.025) 0 2px, transparent 2px 40px);
	color: var(--cmi-white);
	padding: 48px 0 32px;
}

.footer-grid{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 32px;
	align-items: start;
	text-align: center;
}

@media (max-width: 780px){
	.footer-grid{ grid-template-columns: 1fr; }
}

.footer-col p{ margin: 0 0 10px; }

.footer-contact .footer-line{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 12px;
	font-size: 15px;
}

.footer-contact .icon{ color: var(--cmi-yellow); flex-shrink: 0; }

.footer-contact a{ color: var(--cmi-white); }
.footer-contact a:hover{ color: var(--cmi-yellow); }

.footer-logo{ max-width: 220px; margin: 0 auto 16px; }

.footer-social{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px; height: 38px;
	border-radius: 50%;
	background: var(--cmi-yellow);
	color: var(--cmi-dark) !important;
}

.footer-honoraires a{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-bottom: 12px;
	font-size: 14px;
	text-decoration: underline;
	color: var(--cmi-white);
}

.footer-honoraires .icon{ color: var(--cmi-yellow); }

.footer-bottom{
	background: var(--cmi-white);
	color: var(--cmi-text);
	margin-top: 40px;
	padding: 16px 0;
	position: relative;
}

.footer-bottom .container{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	flex-wrap: wrap;
}

.footer-bottom a{ color: var(--cmi-text); }

.footer-bottom .socials{ display: flex; gap: 10px; }

.footer-bottom .socials a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px; height: 28px;
	border-radius: 3px;
	background: #f1f1f1;
}

.footer-bottom .legal-link{ text-decoration: underline; font-size: 14px; }

.cookie-settings-btn{
	position: absolute;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
	background: none;
	border: 0;
	cursor: pointer;
	color: #888;
}

.back-to-top{
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 42px; height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eee;
	color: var(--cmi-text);
	border-radius: 3px;
	box-shadow: 0 2px 8px rgba(0,0,0,.15);
	opacity: 0;
	pointer-events: none;
	transition: opacity .2s ease;
	z-index: 100;
	text-decoration: none;
}

.back-to-top.is-visible{ opacity: 1; pointer-events: auto; }

/* Bandeau simple de gestion des cookies (RGPD) */
.cmi-cookie-notice{
	position: fixed;
	left: 0; right: 0; bottom: 0;
	background: var(--cmi-dark);
	color: var(--cmi-white);
	padding: 16px 24px;
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	z-index: 200;
	font-size: 14px;
}

.cmi-cookie-notice.is-visible{ display: flex; }

.cmi-cookie-notice a{ color: var(--cmi-yellow); text-decoration: underline; }

.cmi-cookie-notice button{
	background: var(--cmi-yellow);
	border: 0;
	padding: 10px 20px;
	border-radius: 3px;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap;
}

/* Logo image (vrai PNG du site principal) */
.site-branding .site-logo img{ max-width: 320px; width: 100%; height: auto; margin: 0 auto; }
.footer-logo img{ max-width: 220px; height: auto; margin: 0 auto; }
