/**
 * Blog — cartes d'articles arrondies façon Bitelo, article seul,
 * archives, tags pilule.
 */

/* ---- Cartes d'articles ---- */
.bt-theme .et_extra_layout .hentry,
.bt-theme .posts-blog-feed-module .hentry {
	background: var(--bt-color-surface);
	border: 1px solid var(--bt-color-border);
	border-radius: var(--bt-radius-lg);
	box-shadow: var(--bt-shadow-sm);
	overflow: hidden;
	margin-bottom: var(--bt-spacing-lg);
	transition: box-shadow var(--bt-transition-normal), transform var(--bt-transition-normal);
}

.bt-theme .et_extra_layout .hentry:hover {
	box-shadow: var(--bt-shadow-md);
	transform: translateY(-4px);
}

/* Titres de cartes */
.bt-theme .hentry .entry-title a,
.bt-theme .hentry h2 a {
	color: var(--bt-color-heading);
	transition: color var(--bt-transition-fast);
}

.bt-theme .hentry .entry-title a:hover,
.bt-theme .hentry h2 a:hover {
	color: var(--bt-color-accent);
}

/* Harmonisation héritée : hauteur des titres en grille */
.bt-theme .et_pb_blog_grid h2 {
	min-height: 56px;
	font-size: 16px;
}

/* ---- Grilles de produits (module Blog Grid Divi) ----
   Cartes façon Bitelo : arrondi 20px, bordure fine neutre, ombre douce,
   élévation au survol, zoom subtil de l'image. Le body/#page-container
   est nécessaire pour battre les bordures générées par le module. */
body.bt-theme #page-container .et_pb_blog_grid .et_pb_post {
	background: var(--bt-color-surface);
	border: 1px solid var(--bt-color-border) !important;
	border-radius: var(--bt-radius-lg);
	box-shadow: var(--bt-shadow-sm);
	overflow: hidden;
	padding: 0 !important;
	transition: box-shadow var(--bt-transition-normal), transform var(--bt-transition-normal);
}

body.bt-theme #page-container .et_pb_blog_grid .et_pb_post:hover {
	box-shadow: var(--bt-shadow-md);
	transform: translateY(-4px);
}

body.bt-theme #page-container .et_pb_blog_grid .et_pb_image_container {
	margin: 0;
	overflow: hidden;
	border-bottom: 1px solid var(--bt-color-border);
	background: var(--bt-color-surface);
}

body.bt-theme #page-container .et_pb_blog_grid .et_pb_image_container img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform var(--bt-transition-slow);
}

body.bt-theme #page-container .et_pb_blog_grid .et_pb_post:hover .et_pb_image_container img {
	transform: scale(1.05);
}

body.bt-theme #page-container .et_pb_blog_grid .et_pb_post .entry-title {
	padding: var(--bt-spacing-md) var(--bt-spacing-lg) 0;
	margin: 0;
}

body.bt-theme #page-container .et_pb_blog_grid .et_pb_post .entry-title a {
	color: var(--bt-color-heading);
	font-weight: 600;
	transition: color var(--bt-transition-fast);
}

body.bt-theme #page-container .et_pb_blog_grid .et_pb_post .entry-title a:hover {
	color: var(--bt-color-accent);
}

body.bt-theme #page-container .et_pb_blog_grid .et_pb_post .post-content,
body.bt-theme #page-container .et_pb_blog_grid .et_pb_post .post-meta {
	padding: 0 var(--bt-spacing-lg);
}

body.bt-theme #page-container .et_pb_blog_grid .et_pb_post > :last-child {
	padding-bottom: var(--bt-spacing-md);
}

/* ---- Métadonnées ---- */
.bt-theme .post-meta,
.bt-theme .entry-meta {
	font-size: var(--bt-font-size-xs);
	color: var(--bt-color-text-muted);
	text-transform: none;
	letter-spacing: 0.02em;
}

.bt-theme .post-meta a,
.bt-theme .entry-meta a {
	color: var(--bt-color-text-muted);
	transition: color var(--bt-transition-fast);
}

.bt-theme .post-meta a:hover,
.bt-theme .entry-meta a:hover {
	color: var(--bt-color-accent);
}

/* ---- Article seul ---- */
.bt-theme .single .hentry {
	background: var(--bt-color-surface);
	border: 1px solid var(--bt-color-border);
	border-radius: var(--bt-radius-lg);
	box-shadow: var(--bt-shadow-sm);
	padding: var(--bt-spacing-xl);
	transform: none;
}

.bt-theme .single .hentry:hover {
	transform: none;
	box-shadow: var(--bt-shadow-sm);
}

.bt-theme .single .entry-title {
	font-size: clamp(1.7rem, 4vw, 2.6rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	margin-bottom: var(--bt-spacing-md);
}

.bt-theme .single .post-thumbnail img {
	border-radius: var(--bt-radius-lg);
}

.bt-theme .single .entry-content {
	font-size: var(--bt-font-size-lg);
	line-height: 1.75;
}

.bt-theme .single .entry-content p {
	margin-bottom: var(--bt-spacing-md);
}

/* ---- Tags : pilules Bitelo ---- */
.bt-theme .post-tags a,
.bt-theme .tagcloud a {
	display: inline-block;
	padding: 0.3rem 0.9rem;
	margin: 0.15rem;
	background: var(--bt-color-surface-alt);
	border: 0;
	border-radius: var(--bt-radius-pill);
	color: var(--bt-color-text);
	font-size: var(--bt-font-size-xs) !important;
	transition: background-color var(--bt-transition-fast), color var(--bt-transition-fast);
}

.bt-theme .post-tags a:hover,
.bt-theme .tagcloud a:hover {
	background: var(--bt-color-accent);
	color: #ffffff;
}

/* ---- Navigation entre articles : affichage sobre d'origine ----
   (le markup utilise des span.button qu'il ne faut pas transformer
   en pilules — voir l'exclusion :not(span) dans components.css) */
.bt-theme .post-nav {
	margin: var(--bt-spacing-lg) 0;
}

.bt-theme .post-nav .nav-link .title {
	color: var(--bt-color-text-muted);
	font-size: var(--bt-font-size-sm);
	transition: color var(--bt-transition-fast);
}

.bt-theme .post-nav .nav-link a:hover .title {
	color: var(--bt-color-accent);
}

.bt-theme .post-nav .nav-link span.button {
	background: transparent;
	color: var(--bt-color-heading);
	font-weight: 600;
	padding: 0;
	border: 0;
}

/* ---- Auteur ---- */
.bt-theme .author-box,
.bt-theme .about-author {
	background: var(--bt-color-surface-alt);
	border-radius: var(--bt-radius-lg);
	padding: var(--bt-spacing-lg);
	display: flex;
	gap: var(--bt-spacing-md);
	align-items: flex-start;
}

.bt-theme .author-box .avatar,
.bt-theme .about-author .avatar {
	border-radius: var(--bt-radius-pill);
}

/* ---- En-têtes d'archives ---- */
.bt-theme .archive .page-title,
.bt-theme .category .page-title,
.bt-theme .search .page-title {
	font-size: clamp(1.5rem, 3.5vw, 2.2rem);
	font-weight: 600;
	letter-spacing: -0.02em;
	padding-bottom: var(--bt-spacing-sm);
	border-bottom: 3px solid var(--bt-color-accent);
	display: inline-block;
	margin-bottom: var(--bt-spacing-lg);
}
