/* ============================================================
   ADMIN — barre d'outils WP
   ============================================================ */
#wp-admin-bar-wp-logo,
#wp-admin-bar-themes,
#wp-admin-bar-customize,
#wp-admin-bar-comments,
#wp-admin-bar-new-content,
#wp-admin-bar-search { display: none; }


/* ============================================================
   FANCYBOX / PARTAGE A2A
   ============================================================ */
div#fancybox-title-outside { font-family: bold; color: #fff; font-size: 1.5em; text-align: center; }
#fancybox-title-over { color: #fff; text-align: center; }
/* box-shadow unset override — vendor prefixes retirés (obsolètes) */
#fancybox-outer { box-shadow: unset !important; }

/* Masque le bouton a2a par défaut */
.a2a_s_a2a,
.a2a_s_a2a:hover { opacity: 0; background: none; width: 0; height: 0; }
.a2a_s_a2a g { display: none; }


/* ============================================================
   LOADER — spinner CSS (remplace wait_horizontal.gif)
   ============================================================ */
/* Supprime l'ancienne barre de points (loading.gif) ; on garde le spinner rond */
.loading { position: relative; min-height: 80px; background-image: none !important; }
.loading::after {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 36px; height: 36px;
  margin: -18px 0 0 -18px;
  border: 3px solid rgba(0,0,0,0.1);
  border-top-color: #1f1f1f;
  border-radius: 50%;
  animation: thot_spin 0.7s linear infinite;
  pointer-events: none;
}
@keyframes thot_spin { to { transform: rotate(360deg); } }
#thot_popup_wait { background-image: none; }


/* ============================================================
   POSTLIST AGENDA — 3448 (accueil) + 8835 (page dédiée)
   ============================================================ */

/* Image en hauteur naturelle, sans crop */
.postList_3448 .postList_item_image_container { padding-top: 0; height: auto; overflow: hidden; }
.postList_3448 .postList_item_image { position: relative; height: auto; width: 100%; }
.postList_3448 .postList_item_image_img {
  position: relative; top: auto; left: auto; transform: none;
  width: 100%; height: auto !important; object-fit: unset; display: block;
}

/* Supprime "en savoir plus" */
.postList_3448 .postList_item_content_container .postList_read_more_wrapper { display: none; }

/* Alignement à gauche — couvre wrappers et éléments générés */
.postList_3448 .postList_title,
.postList_3448 .postList_subtitle,
.postList_3448 .postList_description,
.postList_3448 .postList_item_content_container,
.postList_3448 .title,
.postList_3448 .subtitle,
.postList_3448 .description,
.postList_3448 .date { text-align: left; }

/* Labels avec picto : flex inline */
.postList_3448 .postList_title .before,
.postList_3448 .postList_subtitle .before,
.postList_3448 .postList_description .before {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: bold;
  white-space: nowrap;
}

/* Picto SVG commun — 15×15, fond transparent */
.postList_3448 .postList_title .before::before,
.postList_3448 .postList_subtitle .before::before,
.postList_3448 .postList_description .before::before {
  content: '';
  display: inline-block;
  width: 15px; height: 15px;
  flex-shrink: 0;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

/* Picto : calendrier (Quoi) */
.postList_3448 .postList_title .before::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Crect x='1.5' y='2.5' width='13' height='12' rx='1.5' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Cline x1='5' y1='1' x2='5' y2='4.5' stroke='%23000' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='11' y1='1' x2='11' y2='4.5' stroke='%23000' stroke-width='1.4' stroke-linecap='round'/%3E%3Cline x1='1.5' y1='7' x2='14.5' y2='7' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E");
}

/* Picto : pin (Où) */
.postList_3448 .postList_subtitle .before::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M8 1.5C5.5 1.5 3.5 3.5 3.5 6c0 3.7 4.5 8.5 4.5 8.5s4.5-4.8 4.5-8.5c0-2.5-2-4.5-4.5-4.5z' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Ccircle cx='8' cy='6' r='1.5' fill='%23000'/%3E%3C/svg%3E");
}

/* Picto : personne (Qui) */
.postList_3448 .postList_description .before::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='5' r='2.8' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Cpath d='M2 15c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
}

@media screen and (max-width: 580px) {
  .postList_3448.thot_FE_postList.postList_horizontal_scroll { padding: 0; }
}

/* Pages "Salons" (8835, à venir + passés) : date "punaisée" partagée
   avec l'agenda accueil — voir le bloc AGENDA plus bas dans ce fichier. */


/* ============================================================
   POSTLIST NOUVEAUTÉS — 3421 + 8805
   Description toujours visible sous l'image (écrase show_hover)
   ============================================================ */
.postList_3421 .thot_FE_postList_horizontal_scroll_wrapper,
.postList_8805 .thot_FE_postList_horizontal_scroll_wrapper { align-items: stretch; }

/* Espace réservé pour le bouton "en savoir plus" ancré en bas */
.postList_3421 .postList_item,
.postList_8805 .postList_item { position: relative; padding-bottom: 55px; }

/* Annule le layout text_on_image_show_hover */
.postList_3421 .postList_item_content_container_after,
.postList_8805 .postList_item_content_container_after {
  position: static !important;
  height: auto !important;
  opacity: 1;
  width: 100%;
  display: block !important;
  padding: 12px 15px;
  text-align: left;
  background-color: #fff;
  transition: none;
}

.postList_3421 .postList_item_content_container_after .title,
.postList_8805 .postList_item_content_container_after .title { color: #1f1f1f; font-size: 1em; }

.postList_3421 .postList_item_content_container_after .description,
.postList_8805 .postList_item_content_container_after .description { color: #555; }

/* Supprime le transform qui créerait un containing block parasite */
.postList_3421 .postList_item_content_container .postList_item_content,
.postList_8805 .postList_item_content_container .postList_item_content { transform: none !important; transition: none; }

.postList_3421 .postList_item_content_container .description,
.postList_8805 .postList_item_content_container .description { border-left: none !important; }

/* Réinitialise les spans colorés générés par le thème */
.postList_3421 .postList_item_content_container span,
.postList_8805 .postList_item_content_container span { background: transparent !important; color: #1f1f1f !important; padding: 0 !important; }

/* Bouton ancré en bas à droite */
.postList_3421 .postList_read_more_wrapper,
.postList_8805 .postList_read_more_wrapper { position: absolute; bottom: 0; right: 0; display: block; }
.postList_3421 .postList_read_more_wrapper .postList_read_more,
.postList_8805 .postList_read_more_wrapper .postList_read_more {
  display: inline-block;
  padding: 15px 40px !important;
  font-size: 0.9em !important;
  text-transform: uppercase !important;
  color: #000 !important;
  letter-spacing: 1px !important;
  border: 1px solid #000 !important;
  background: transparent !important;
  transition: all 250ms ease-in-out;
  cursor: pointer;
}
.postList_3421 .postList_item:hover .postList_read_more_wrapper .postList_read_more,
.postList_8805 .postList_item:hover .postList_read_more_wrapper .postList_read_more { color: #fff; background-color: #000; }


/* ============================================================
   AGENDA HOME
   ============================================================ */
#agenda_home { text-align: left; }
#agenda_home .waz_FE_postList_horizontal_scroll_wrapper { padding-top: 0 !important; }


/* ============================================================
   SINGLE PRODUCT — mise en page moderne (héros pleine largeur)
   ============================================================ */
#product_main_info .row,
#product_main_info .col_container { overflow: visible; }

/* --- Bandeau héros pleine largeur --- */
#single_product.product_hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 70px 30px;
	box-sizing: border-box;
	background: #f5f2ec;
	color: #333;
}
/* Grille : en-tête pleine largeur + 3 colonnes (couverture | achat | description) */
.product_hero_inner {
	display: grid;
	grid-template-columns: 280px minmax(170px, 210px) 1fr;
	gap: 40px 55px;
	align-items: start;
	width: 1460px;
	max-width: 100%;
	margin: 0 auto;
}
.product_hero_header { grid-column: 1 / -1; }
.product_hero_col { min-width: 0; }

/* Colonne 1 : couverture + accroche */
.product_hero .single_product_image { float: none; width: 100%; margin: 0; }
.product_hero .single_product_image img {
	display: block;
	width: 100%;
	border: none;
	border-radius: 4px;
	box-shadow: 0 22px 55px rgba(0, 0, 0, .35);
	transition: transform 300ms ease;
}
.product_hero .single_product_image img:hover { transform: translateY(-4px); }
.product_hero_cover .single_product_accroche {
	max-width: 100%;
	margin: 28px 0 0;
	padding: 0;
	border: 0;
	text-align: left;
	font-style: italic;
	color: #555;
	line-height: 1.5;
	overflow-wrap: break-word;
	word-wrap: break-word;
}
/* Pas de fond coloré sur les mots de l'accroche dans la couverture */
.product_hero_cover .single_product_accroche span {
	display: inline;
	padding: 0;
	font-size: 1em;
	color: #555;
	background: none;
}
/* Grosses guillemets avant et après (échappements Unicode pour éviter le mojibake) */
.product_hero_cover .single_product_accroche::before,
.product_hero_cover .single_product_accroche::after {
	font-family: Georgia, "Times New Roman", serif;
	font-style: normal;
	font-size: 2.4em;
	line-height: 0;
	color: var(--accent, #1f5a6b);
}
/* vertical-align règle la hauteur : valeur négative = plus bas, vers 0/positif = plus haut */
.product_hero_cover .single_product_accroche::before { content: "\00AB"; margin-right: 6px; vertical-align: 0.1em; }
.product_hero_cover .single_product_accroche::after { content: "\00BB"; margin-left: 4px; vertical-align: -0.2em; }

/* En-tête : titre + auteurs */
.product_hero .product_title {
	font-family: regular;
	font-size: 2.6em;
	line-height: 1.1;
	color: var(--accent, #1f5a6b);
	background: none;
	margin: 0 0 10px;
}
.product_hero .product_title span {
	display: block;
	margin-top: 8px;
	font-size: .5em;
	color: #555;
}
.product_hero .product_auteurs p {
	font-family: regular;
	font-size: 1.3em;
	margin: 0;
}
.product_hero .product_auteurs span {
	display: inline-block;
	color: #555;
	background: none;
	border: none;
}

/* Colonne 3 : résumé + infos techniques */
.product_hero .product_excerpt {
	margin: 0 0 22px;
	font-size: 1.05em;
	line-height: 1.7;
	color: #333;
}
.product_hero .product_excerpt p { margin-bottom: 1em; }
/* Espace les paragraphes séparés par <br> dans le résumé */
.product_hero .product_excerpt br { display: block; content: ""; margin-bottom: .8em; }
.product_hero .product_meta p { font-size: .95em; color: #8a8a8a; letter-spacing: .3px; }
.product_hero .product_meta .sep { margin: 0 5px; color: #c4c4c4; }

/* CTA : prix puis boutons en dessous */
.product_hero_cta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
}
.product_hero_price { font-size: 1.7em; font-weight: bold; color: #222; }
.product_hero_price del { margin-right: 8px; font-weight: normal; opacity: .6; }
.product_hero_actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	align-items: center;
}

/* Boutons façon "en savoir plus" : bordure, fond transparent, remplissage au survol */
.product_btn,
#btn_commander .button,
#btn_commander button {
	display: inline-block;
	margin: 0 !important;
	padding: 7px 24px !important;
	font-size: 1.1em !important;
	line-height: 1.4 !important;
	font-weight: normal !important;
	text-align: center;
	text-transform: none;
	letter-spacing: 1px;
	color: #000 !important;
	background: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: color 200ms ease, background-color 200ms ease;
}
.product_btn:hover,
#btn_commander .button:hover,
#btn_commander button:hover {
	color: #fff !important;
	background: #000 !important;
}
.single_product_accroche {
	max-width: 820px;
	margin: 45px auto 0;
	padding: 0 30px;
	text-align: left;
}
.single_product_accroche span { display: inline-block; padding: 3px; font-size: 1.5em; color: #fff; background: #00aaab; }

/* --- Auteurs + leurs ouvrages : cartes horizontales --- */
.product_authors_section {
	clear: both;
	max-width: 1100px;
	margin: 0 auto;
	padding: 60px 30px;
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	align-items: flex-start;
}
.author_cards { flex: 0 0 auto; }
.author_cards_heading {
	font-family: light;
	font-size: 1.1em;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #909090;
	margin: 0 0 20px;
}
.author_card {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	width: 130px;
	margin-right: 20px;
	vertical-align: top;
	text-align: center;
	text-decoration: none;
}
.author_card_photo {
	display: block;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid #efefef;
	background: #f5f5f5;
	margin-bottom: 12px;
	transition: transform 250ms ease-in-out;
}
.author_card_photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.author_card:hover .author_card_photo { transform: scale(1.05); }
.author_card_name { font-size: .95em; color: #333; line-height: 1.2; }
.author_card:hover .author_card_name { color: #00aaab; }

.author_books { flex: 1 1 320px; min-width: 0; }
.author_books_label {
	font-family: light;
	font-size: 1.1em;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #909090;
	margin: 0 0 20px;
}
.author_books_grid {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.author_books_item {
	display: block;
	width: 90px;
}
.author_books_item img {
	width: 100%;
	border: 1px solid #efefef;
	transition: transform 250ms ease-in-out, box-shadow 250ms ease-in-out;
}
.author_books_item:hover img {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0, 0, 0, .18);
}

/* --- Sections « mêmes livres » (inchangées) --- */
#product_same_cat_container, #product_same_theme_container { display: none; padding: 50px 0; background-color: #f5f5f5; }
#product_same_cat_container .horizontal_scroll_btn_wrapper, #product_same_theme_container .horizontal_scroll_btn_wrapper { display: none; }
#product_same_cat_container .waz_FE_postList.postList_horizontal_scroll, #product_same_theme_container .waz_FE_postList.postList_horizontal_scroll { padding: 0 !important; }
#product_same_cat_container h3, #product_same_theme_container h3 { text-align: right; font-size: 1.5em; margin-top: 1px; line-height: 1; font-family: light; text-transform: uppercase; letter-spacing: 1px; }
#product_same_cat_container h3 span, #product_same_theme_container h3 span { display: inline-block; padding: 0 5px; line-height: 1; }
#product_same_cat_container .more_books_voir_tout, #product_same_theme_container .more_books_voir_tout { margin-left: 261px; }
#product_same_cat_container .more_books_voir_tout a, #product_same_theme_container .more_books_voir_tout a { color: #909090; font-size: 14px; }
#product_same_cat_container .more_books_voir_tout a:hover, #product_same_theme_container .more_books_voir_tout a:hover { color: #000; }
#product_same_cat_container { margin-top: 0; padding-bottom: 15px; }
#product_same_theme_container { padding-top: 0; }
.product_same_cat_title { float: left; width: 250px; padding-right: 8px; }
.product_same_cat_title a:hover { display: inline-block; transform: scale(1.05); }
.product_same_cat_wrapper { float: left; width: calc(100% - 250px); min-height: 150px; }

/* --- Responsive --- */
/* Écran moyen : couverture à gauche, achat + description empilés à droite */
@media screen and (max-width: 1100px) {
	.product_hero_inner { grid-template-columns: 260px 1fr; gap: 35px 45px; }
	.product_hero_cover { grid-row: span 2; }
}
/* Écran petit : tout empilé, avec une marge plus importante entre les blocs */
@media screen and (max-width: 760px) {
	#single_product.product_hero { padding: 45px 22px; }
	.product_hero_inner { grid-template-columns: 1fr; gap: 40px; }
	.product_hero_cover { grid-row: auto; max-width: 300px; }
	.product_hero .product_title { font-size: 2em; }
	.product_same_cat_title, .product_same_cat_wrapper { float: none; width: 100%; padding: 0; }
	.product_same_cat_title h3, .product_same_cat_wrapper h3 { text-align: left !important; margin: 0 0 10px 8.5px; }
	.product_same_cat_title h3 br, .product_same_cat_wrapper h3 br { display: none; }
}


/* ============================================================
   PAGE AUTEUR — reprise de la charte fiche produit
   ============================================================ */
.author_hero {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 70px 30px;
	box-sizing: border-box;
	background: #f5f2ec;
	color: #333;
}
.author_hero_inner {
	display: grid;
	grid-template-columns: 320px 1fr;
	gap: 55px;
	align-items: start;
	width: 1460px;
	max-width: 100%;
	margin: 0 auto;
}
.author_hero_photo img {
	display: block;
	width: 100%;
	border: none;
	border-radius: 4px;
	box-shadow: 0 22px 55px rgba(0, 0, 0, .35);
}
.author_hero .author_name {
	display: block !important;
	font-family: regular;
	font-size: 2.6em;
	line-height: 1.1;
	color: var(--accent, #1f5a6b) !important;
	background: none !important;
	padding: 0 !important;
	margin: 0 0 22px;
}
.author_bio { font-size: 1.05em; line-height: 1.75; color: #333; text-align: left; }
.author_bio p { margin-bottom: 1em; }
.author_bio a { color: var(--accent, #1f5a6b); text-decoration: underline; }

/* Titre de section + grille des ouvrages */
.author_books_heading {
	font-family: light;
	font-size: 1.6em;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #1f1f1f;
	margin: 60px 0 25px;
}
.author_books_list { display: flex; flex-wrap: wrap; gap: 30px; }
.author_books_list .author_book { float: none !important; width: 200px; margin: 0 !important; }
.author_book_link { display: block; text-decoration: none; }
.author_book_cover {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid #efefef;
	transition: transform 250ms ease, box-shadow 250ms ease;
}
.author_book_link:hover .author_book_cover { transform: translateY(-4px); box-shadow: 0 8px 20px rgba(0, 0, 0, .18); }
.author_book_title { margin: 12px 0 4px; font-family: regular; font-size: 1em; line-height: 1.2; color: #1f1f1f; }
/* Résumé sobre, en noir, sous la couverture (plus d'overlay coloré) */
.author_book_resume { margin: 0; font-size: .85em; line-height: 1.45; color: #1f1f1f; }
.author_book_resume span { background: none !important; color: #1f1f1f !important; padding: 0 !important; }

/* Section "Nos autrices & auteurs" : nom affiché en permanence sous la photo */
#more_author_col_middle { display: flex; flex-wrap: wrap; justify-content: center; gap: 30px; }
.more_author_item { display: flex; flex-direction: column; align-items: center; width: 150px; text-decoration: none; }
.more_author_img {
	display: block;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	border: 1px solid #efefef;
	background-size: cover;
	background-position: center;
	transition: transform 250ms ease;
}
.more_author_item:hover .more_author_img { transform: scale(1.05); }
.more_author_caption { display: block; margin-top: 12px; text-align: center; font-size: .95em; line-height: 1.2; color: #1f1f1f; }
.more_author_item:hover .more_author_caption { color: #1f5a6b; }

@media screen and (max-width: 900px) {
	.author_hero_inner { grid-template-columns: 1fr; gap: 32px; }
	.author_hero_photo { max-width: 280px; }
	.author_hero .author_name { font-size: 2em; }
}
@media screen and (max-width: 680px) {
	.author_hero { padding: 45px 22px; }
	.author_books_heading { font-size: 1.3em; margin-top: 45px; }
}


/* ============================================================
   HEADER SOCIAL — icônes : chemins absolus (le CSS dynamique
   utilise une URL relative qui casse sur les URL profondes)
   ============================================================ */
#header_social .social.instagram { background-image: url(../images/instagram.png) !important; }
#header_social .social.facebook  { background-image: url(../images/facebook.png) !important; }
#header_social #search_btn,
#header_social .social.search    { background-image: url(../images/search.png) !important; }
#header_social .social.cart      { background-image: url(../images/panier.png) !important; }


/* ============================================================
   LISTE AUTRICES & AUTEURS — postList 6866
   Plus de hover : nom affiché en permanence, sobre, sous l'image
   ============================================================ */
/* Voile de survol masqué */
.postList_6866 .postList_item_image_voile { display: none !important; }
/* L'item ne doit plus avoir une hauteur fixe (sinon le nom déborde sur la rangée suivante) */
.postList_6866 .postList_item { height: auto !important; padding-bottom: 22px; overflow: visible; }
/* Le bloc nom (overlay) repasse en flux normal, sous l'image */
.postList_6866 .postList_item_content_container_after {
	position: static !important;
	height: auto !important;
	opacity: 1 !important;
	display: block !important;
	width: 100%;
	margin-top: 14px;
	padding: 0 5px;
	background: none !important;
	text-align: center;
	transform: none !important; /* annule le translateY(70px) de l'animation hover */
	transition: none !important;
}
.postList_6866 .postList_item_content_container .postList_item_content { transform: none !important; transition: none !important; }
/* Hover : zoom très léger de la photo (sur le conteneur, pour ne pas
   écraser le translate de positionnement de l'image elle-même) */
.postList_6866 .postList_item_image_container { transition: transform 250ms ease; }
.postList_6866 .postList_item:hover .postList_item_image_container { transform: scale(1.015); }
/* Nom sobre, gris, centré sous l'image (présentation type "vie littéraire") */
.postList_6866 .postList_item_content_container_after,
.postList_6866 .postList_item_content_container_after .postList_item_content,
.postList_6866 .postList_item_content_container_after .postList_title,
.postList_6866 .postList_item_content_container_after .title { text-align: center !important; }
.postList_6866 .postList_item_content_container_after .title { color: #555 !important; font-family: regular; font-size: 1.1em !important; line-height: 1.25; margin: 0; }
.postList_6866 .postList_item_content_container_after span { background: transparent !important; color: #555 !important; padding: 0 !important; }


/* ============================================================
   MENU PRINCIPAL — sous-menu (Catalogue) : positionnement + lisibilité
   Le sous-menu était en left:50% d'un parent statique -> trop à droite
   ============================================================ */
#main_menu li.big_menu { position: relative; }
#main_menu li.big_menu > ul.sub-menu { left: 0 !important; right: auto !important; }
/* Police des sous-menus agrandie (~x1.3) */
#main_menu ul.sub-menu a { font-size: 13.5px !important; }
/* Sous-sous-menus (3e niveau) un peu plus petits */
#main_menu ul.sub-menu ul.sub-menu a { font-size: 11.5px !important; }


/* ============================================================
   PAGE "Merci aux libraires" (page-id-13886) — table stylée
   ============================================================ */
.page-id-13886 .thot_FE_textArea table {
	width: 100%;
	max-width: 720px;
	margin: 34px auto 0;
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .08);
	font-size: 15px;
}
.page-id-13886 .thot_FE_textArea table thead th {
	background: #1f5a6b;
	color: #fff;
	text-align: left;
	padding: 14px 22px;
	font-family: regular;
	font-size: 1em;
	font-weight: normal;
	text-transform: uppercase;
	letter-spacing: 1px;
}
.page-id-13886 .thot_FE_textArea table thead th:last-child { text-align: right; }
.page-id-13886 .thot_FE_textArea table tbody td {
	padding: 11px 22px;
	border-bottom: 1px solid #ececec;
	color: #333;
	line-height: 1.3;
}
.page-id-13886 .thot_FE_textArea table tbody td:first-child { width: 62%; font-weight: bold; color: #1f1f1f; }
.page-id-13886 .thot_FE_textArea table tbody td:last-child { color: #888; text-align: right; }
.page-id-13886 .thot_FE_textArea table tbody tr:nth-child(even) td { background: #faf8f4; }
.page-id-13886 .thot_FE_textArea table tbody tr:hover td { background: #eef4f5; }
.page-id-13886 .thot_FE_textArea table tbody tr:last-child td { border-bottom: none; }


/* ============================================================
   CATALOGUE (genre / thème) — carte produit
   ============================================================ */
.catalogue_product { position: relative; }
.catalogue_product .catalogue_product_below { padding-bottom: 0; }

/* Résumé entre l'image et le titre, puis espace avant le titre */
.catalogue_product .catalogue_product_resume {
	margin: 14px 0 22px;
	font-size: .9em;
	line-height: 1.45;
	color: #555;
}
.catalogue_product .catalogue_product_resume span { background: transparent !important; color: #555 !important; padding: 0 !important; }

/* Titre en gras */
.catalogue_product .catalogue_product_title { font-weight: bold; color: #1f1f1f; margin: 0 0 4px; }

/* Auteur : pas en gras, en italique */
.catalogue_product .catalogue_product_author,
.catalogue_product .catalogue_product_author strong { font-weight: normal !important; font-style: italic; color: #555; }

/* Bouton "En savoir plus" : mêmes caractéristiques que la page d'accueil,
   collé en bas à droite de la carte (aucun espace en dessous) */
.catalogue_product .catalogue_product_cta {
	position: absolute;
	right: 0;
	bottom: 0;
	margin: 0 !important;
	display: inline-block;
	padding: 15px 40px !important;
	font-size: .9em !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	color: #000 !important;
	background: transparent !important;
	border: 1px solid #000 !important;
	border-radius: 0 !important;
	transition: all 250ms ease-in-out;
	cursor: pointer;
}
.catalogue_product:hover .catalogue_product_cta { color: #fff !important; background: #000 !important; }


/* ============================================================
   AGENDA ACCUEIL (postList 3448) — date "punaisée" sur l'image
   Cadre blanc centré chevauchant le haut de l'image + punaise,
   comme sur editionsthot.com.
   Partagé : 3448 (accueil) + 8835 (pages Salons à venir / passés)
   ============================================================ */
.postList_3448 .postList_item,
.postList_8835 .postList_item { position: relative; }

/* Réserve l'espace au-dessus des cartes pour la punaise qui dépasse
   (le wrapper du scroll horizontal a overflow:hidden et tronquerait sinon).
   Uniquement l'accueil : les pages 8835 sont en grille (overflow visible). */
.postList_3448 .thot_FE_postList_horizontal_scroll_wrapper { padding-top: 112px; }

/* Le cadre de date se superpose en absolu, à cheval sur le haut de l'image */
.postList_3448 .postList_item_date_container,
.postList_8835 .postList_item_date_container {
  position: absolute;
  top: -48px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  width: auto;
  margin: 0;
  padding: 0;
  text-align: center;
}

/* Cadre blanc — on neutralise le badge "pin" absolu du CSS de page
   (position:absolute; left:50%) qui décalait le cadre vers la droite */
.postList_3448 .postList_date,
.postList_8835 .postList_date {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  transform: none;
  margin: 0;
  display: inline-block;
  background: #fff;
  padding: 5px 14px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.22);
  text-align: center;
}

/* Punaise au-dessus du cadre (images/pin.png, 42×64) */
.postList_3448 .postList_date::after,
.postList_8835 .postList_date::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  margin-bottom: -6px;
  width: 14px;
  height: 68px;
  background: url("../images/pin.png") no-repeat center / contain;
  /* Punaise foncée (anthracite) tout en conservant son relief */
  /*filter: grayscale(1) brightness(0.28) contrast(1.05);*/
  pointer-events: none;
}

/* Texte de la date */
.postList_3448 .postList_date .date,
.postList_8835 .postList_date .date {
  margin: 0;
  text-align: center;
  font-size: 1em;
  color: #000;
  line-height: 1.25;
  white-space: nowrap;
}
.postList_3448 .postList_date .day,
.postList_8835 .postList_date .day {
  font-size: 1.15em;
  font-family: bold;
  display: inline;
}
.postList_3448 .postList_date .month,
.postList_8835 .postList_date .month {
  font-size: 1em;
  font-family: regular;
  display: inline;
}
.postList_3448 .postList_date .year,
.postList_8835 .postList_date .year {
  display: block;
  font-family: light;
  font-size: 0.8em;
  color: #777;
  letter-spacing: 0.04em;
}

/* Pages Salons (8835) : taille + family des textes de contenu alignées
   sur l'agenda accueil (référence .postList_3448 .postList_item_content).
   Les labels Quoi/Où/Qui (.before) sont déjà identiques (18px bold). */
.postList_8835 .postList_item_content .title,
.postList_8835 .postList_item_content .subtitle,
.postList_8835 .postList_item_content .description {
  font-size: 0.8em;
  font-family: light;
}


/* ============================================================
   FORMULAIRE CONTACT — bouton "Envoyer"
   Le bouton submit CF7 etait blanc sur fond blanc (invisible).
   On reprend le style des boutons du theme (.thot_FE_button) :
   contour noir, fond transparent, inversion au survol.
   La classe .bouton-send-contact-form est ajoutee sur l'input submit.
   !important car .wpcf7-form input[type="submit"] est plus specifique.
   ============================================================ */
.bouton-send-contact-form {
  -webkit-appearance: none;
  appearance: none;
  width: auto !important;
  height: auto !important;
  color: #000 !important;
  background-color: transparent !important;
  border: 1px solid #000 !important;
  border-radius: 0 !important;
  padding: 15px 40px !important;
  font-family: light !important;
  font-size: 0.9em !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  line-height: 1 !important;
  box-shadow: none !important;
  cursor: pointer;
  display: inline-block;
  transition: all 250ms ease-in-out;
}
.bouton-send-contact-form:hover {
  color: #fff !important;
  background-color: #000 !important;
}


/* ============================================================
   FANCYBOX — masque le contenu source des popups (recherche, epub,
   extrait...). Sans !important pour que Fancybox puisse l'afficher
   dans la popup. La lib ne fournit pas cette règle sur toutes les pages.
   ============================================================ */
.fancybox-hidden { display: none; }
/* Mais le contenu doit rester visible une fois ouvert dans une popup */
#fancybox-content .fancybox-hidden,
#fancybox-wrap .fancybox-hidden,
#thot_popup_content .fancybox-hidden { display: block; }


/* ============================================================
   RECHERCHE — menu déroulant autonome (sans Fancybox)
   ============================================================ */
/* #header_social est déjà en position:absolute (coin haut-droit) : il sert
   de référence au menu déroulant, pas besoin de le repositionner. */
#search.search_open {
	display: block;
	position: absolute;
	top: 100%;
	right: 0;
	z-index: 2000;
	/* !important pour écraser le style inline (width:800px; max-width:100%; padding:50px) */
	width: 320px !important;
	max-width: 86vw !important;
	margin-top: 12px;
	padding: 22px !important;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 12px 34px rgba(0, 0, 0, .18);
	text-align: left;
}
#search.search_open h3 { margin: 0 0 12px; font-size: 1.05em; }
#search.search_open #search_text {
	width: 100%;
	box-sizing: border-box;
	padding: 10px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
}
#search.search_open #search_link {
	display: inline-block;
	width: auto;
	white-space: nowrap;
	margin-top: 12px;
	padding: 10px 22px;
	border: 1px solid #000;
	color: #000;
	line-height: 1;
	letter-spacing: 1px;
	text-align: center;
	cursor: pointer;
	transition: color 200ms ease, background-color 200ms ease;
}
#search.search_open #search_link:hover { color: #fff; background: #000; }
#search.search_open #search_error { margin-top: 8px; color: #bc061f; font-size: .9em; }


/* ============================================================
   MENU BURGER (mobile) — overlay clair et lisible
   Le panneau #burger_content a un fond noir en dur et aucune couleur
   de liens hors variante .dark_bgrd (jamais appliquée). On le bascule
   en thème clair : fond blanc, titres noirs, sous-titres gris foncé,
   liens soulignés, croix de fermeture noire, sous-éléments espacés.
   Ne touche QUE les éléments du burger (mobile) : le menu desktop
   (#header_menu / #main_menu) reste intact.
   ============================================================ */

/* Fond blanc */
#burger_content { background: #fff !important; }

/* Espacement vertical des entrées de 1er niveau */
#burger_content #burger_content_wrapper > ul > li + li { margin-top: 30px; }

/* Liens (titres) de 1er niveau : noirs, soulignés, bien dimensionnés */
#burger_content #burger_content_wrapper > ul > li > a {
	display: inline-block;
	margin-bottom: 0;
	padding: 6px 4px;
	color: #000;
	font-family: semibold;
	font-size: 1.5em;
	line-height: 1.2;
	letter-spacing: .3px;
	text-underline-offset: 4px;
}
#burger_content #burger_content_wrapper > ul > li > a:hover,
#burger_content #burger_content_wrapper > ul > li.current-menu-item > a {
	color: #781412;
}

/* Sous-menus (sous-titres) : gris foncé, soulignés, davantage espacés */
#burger_content #burger_content_wrapper > ul > li > ul { margin-top: 14px; }
#burger_content #burger_content_wrapper > ul > li > ul > li { margin: 0 14px 16px 14px; }
#burger_content #burger_content_wrapper > ul > li > ul > li > a {
	color: #444;
	font-size: 1.05em;
	text-underline-offset: 3px;
	border-bottom: none;
}
#burger_content #burger_content_wrapper > ul > li > ul > li > a:hover,
#burger_content #burger_content_wrapper > ul > li > ul > li.current-menu-item > a {
	color: #781412;
	border-bottom: none;
}

/* 3e niveau (ex : genres sous « Par genre », thèmes sous « Par Thème ») :
   détacher la liste de son sous-titre et aérer les entrées entre elles. */
#burger_content #burger_content_wrapper > ul > li > ul > li > ul { margin-top: 16px; }
#burger_content #burger_content_wrapper > ul > li > ul > li > ul > li { margin: 0 16px 16px 16px; }

/* Croix de fermeture : dessinée en CSS (croix noire nette), l'image
   par défaut n'étant pas garantie visible. */
#burger_content #burger_content_close a {
	background-image: none !important;
	position: relative;
}
#burger_content #burger_content_close a::before,
#burger_content #burger_content_close a::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 30px;
	height: 2px;
	background: #000;
	border-radius: 2px;
}
#burger_content #burger_content_close a::before { transform: translate(-50%, -50%) rotate(45deg); }
#burger_content #burger_content_close a::after  { transform: translate(-50%, -50%) rotate(-45deg); }


/* ============================================================
   MENU PRINCIPAL — centré sur l'écran (desktop)
   ============================================================ */
@media screen and (min-width: 1025px) {
	#header_menu {
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		float: none;
		width: auto;
		margin: 0;
		/* reste sur une seule ligne (sinon le shrink-to-fit en absolu le fait wrapper) */
		white-space: nowrap;
	}
	/* nowrap uniquement sur le 1er niveau ; les sous-menus gardent un flux normal */
	#header_menu > ul { white-space: nowrap; }
	#header_menu .sub-menu { white-space: normal; }
}
