/*
Theme Name: raisonart
Description: front 
Author: TwalMedia
Version: 1.4
*/
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

body.ch_cr_app {
	font-family: 'Roboto', sans-serif!important; 
	font-size: 18px;
	font-weight: 300;
}

h1, h2, h3, h4, h5, h6 {
	font-family : "Montserrat", sans-serif;
	font-weight: 500;
}

h2 {
	font-size : 20px;
}
/*====================================
 * SECTION
 * ===================================*/

.ra_content_section {
    background-color: #f6f5f2!important;
border: solid 2px;
}

/*==== section titre principal ====*/
.ra_section_titre_principal {
	background-color: #D6CFC4!important;
	font-size: 20px;
	text-align : center;
}

.ra_section_titre_principal h1 {
	font-size: 30px;
	text-align : center;
}

.ra_description_courte h2 {
    font-size: 20px;
	font-weight: 400;
    padding: 20px 0;
    line-height: 1.2em;
}

div.ra_main-content {
	background-color: #fff;
	border-radius: 10px;
	padding: 10px 20px;
	font-size: 120%;
}

/* image + galerie */
div .ra_main-image-content {
	background-color: #fff;
	padding: 10px;
    border-radius: 10px;
}
.main-image, .random-oeuvre {
    margin: 0px !important;
/*	width:720px;
	height: 720px;*/
	text-align: center;
}
.main-image img {
    max-width: 100%;
    height: auto;
    max-height: 100%;
}

.ra_tax_layout_grid .ra_description_courte {
	 position: sticky;
  	top: 120px;
	align-self: flex-start; /* important en flex */
}

.ra_main_accroche {
	line-height : 1.6em;
	font-weight: 400;
}

/*===========================
 * GRILLE GRID
 * =========================*/
/*
 * .ra_grid {
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(220px,1fr));
	gap:20px;
}
*/
div.ra_grid, ul.ra_grid
 {
/*    width: 100%;
    display: flex;
    flex-wrap: wrap;*/
	 display: grid;
    gap: 20px;
    list-style: none;
    padding: 0px;
    margin: 0px;
}


.ra_grid.ra_grid-accueil {
	grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
}
.ra_grid-accueil .catalogue-dimension, .ra_grid-accueil .ra_more, .ra_hide {
	display: none;
}
.ra_grid .ra_catalogue_accroche, .card-text {
	text-align: center;
	font-size: 90%;
}
tmp_.ch-catalogue-edit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); /* plusieurs colonnes */
  gap: 12px;
}

.ra_grid .catalogue-item {
    tmp_border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    background: #ffffff;
    transition: transform 0.5s ease;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    position: relative;
}

.ra_grid .catalogue-item:hover {
    transform: translateY(-5px);
}

.catalogue-thumb {
    position: relative;
}

.tmp_catalogue-thumb .ra_icone_vendue {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 3;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #b8322a;
    box-shadow: 0 0 0 2px rgba(255,255,255,0.95);
}

.catalogue-thumb .ra_icone_vendue {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 4;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #9f2f28;
	box-shadow: 0 0 0 1px rgba(255,255,255,.85);
	opacity: .75;
}

.ra_grid .catalogue-item .catalogue-thumb {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 4 / 4;
    background: #f5f5f5;
}

.ra_grid .catalogue-item .catalogue-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* texte */
.ra_grid .catalogue-item .catalogue-meta{
	display:flex;flex-direction:column;gap:4px;
	justify-content: center;
	align-items: center;
}

.ra_grid .catalogue-item .catalogue-title{
	font-family: 'Roboto', sans-serif!important; 
	width: 100%;
	font-size:1rem!important;
	padding: 5px 2px;
	text-align: center;
	margin:0;
}

.ra_grid .catalogue-item .catalogue-year{
	opacity:.7;
	font-size:.9rem
}
/*=====================================
 * 
 * ICONE
 * 
 * ====================================*/
.ra-cr-selection-grid .icon_fav::before{
  content:"\01F5D1";
  font-size:20px;
}
.ra-cr-interest-button__icon::before { 
	content:"\270E"; /* haut gauche */
	tmp_content:"\270F";
	font-size: 110%;
	font-weight : 500;

}
.ra-cr-selection-grid .ra-cr-select-toggle:hover  .icon_fav {
	color: red;
}
.heart::before {
	 content:" ♥ ";
	
}
.ra-cr-selection-grid .icon_fav::before{
  content:"\01F5D1";
  font-size:20px;
}


/***************************************
 * 
 * CATALOGUE
 * 
 * ***********************************/
/* Cartouche texte sous image */
.ra_grid .catalogue-item .catalogue-meta,
.ra_grid .catalogue-item .ra_catalogue_accroche,
.ra_grid .catalogue-item .ra_more {
    background: #f5f1eb;
}

/* Bloc meta */
.ra_grid .catalogue-item .catalogue-meta {
    padding: 12px 18px 0;
    text-align: center;
}

/* Titre */
.ra_grid .catalogue-title {
    font-family: 'Roboto', sans-serif !important;
    width: 100%;
    font-size: 1rem !important;
    line-height: 1.25;
    font-weight: 600;
    color: #2f2f2f;
    padding: 0;
    margin: 0 0 6px;
    text-align: center;
}

/* Accroche courte */
.ra_grid .ra_catalogue_accroche {
    padding: 0 18px;
    text-align: center;
    font-size: 0.92rem;
    line-height: 1.35;
    color: #6f6258;
    min-height: 2.6em; /* stabilise la hauteur sur 1 ou 2 lignes */
}

/* Lien Voir */
.ra_grid .ra_more {
    padding: 8px 18px 12px;
    text-align: center;
}

.ra_grid a.ra_voir-oeuvre {
    color: #7c8c92;
    text-decoration: none;
    font-size: 0.95rem;
    border-bottom: 1px solid transparent;
}

.ra_grid a.ra_voir-oeuvre:hover {
    color: #3f4a4f;
    border-bottom-color: currentColor;
}


/* oeuvres dans exposition */
.ra_grid.oeuvres-in-expo  .catalogue-dimension,
.ra_grid.oeuvres-in-expo .catalogue-genre,
.ra_grid.oeuvres-in-expo .catalogue-serie{
	display: none;
}

.catalogue-serie {
	display: none;
}
.ra_grid .ra_more {
	text-align: center;
}
.ra_grid .ra_voir-oeuvre {
	text-align: center;
}

/* [COLONNES DIMENSIONS] */
ul.ra_grid.nbcol_2 li, div.ra_grid.nbcol_2 div {
	flex: 0 0 calc(50% - 20px);
	
}
ul.ra_grid.nbcol_3 li, div.ra_grid.nbcol_3 div {
	flex: 0 0 calc(33.3333% - 20px);
	
}
ul.ra_grid.nbcol_4 li, div.ra_grid.nbcol_4 div {
	flex: 0 0 calc(25% - 20px);
}
ul.ra_grid.nbcol_5 li, div.ra_grid.nbcol_5 div {
	flex: 0 0 calc(20% - 20px);
}
ul.ra_grid.nbcol_6 li, div.ra_grid.nbcol_6 div {
	flex: 0 0 calc(16.6% - 20px);
}

/* Grille mobile first : Les styles de base s’appliquent aux petits écrans. 
 *  grid-cols-1 grid-sm-2 grid-md-3 grid-lg-4
 * */

/* smartphone 1 item par ligne  */
.grid-cols-1 { 
	grid-template-columns: repeat(1, 1fr); 
}

/* smartphone 1 item par ligne  */
@media (min-width: 576px) {
  .grid-sm-2 { grid-template-columns: repeat(2, 1fr); }
}

/* tablettes */
@media (min-width: 768px) {
  .grid-md-3 { grid-template-columns: repeat(3, 1fr); }
	.grid-md-2 { grid-template-columns: repeat(2, 1fr); }
}
/* laptop ipad 1024*/
@media (min-width: 1025px) {
	.grid-lg-6 { grid-template-columns: repeat(6, 1fr); }
	.grid-lg-5 { grid-template-columns: repeat(5, 1fr); }
  	.grid-lg-4 { grid-template-columns: repeat(4, 1fr); }
  	.grid-lg-3 { grid-template-columns: repeat(3, 1fr); }
	.grid-lg-2 { grid-template-columns: repeat(2, 1fr); }
}

/*============================
 * grid taxonomie
 * ==========================*/
/* base */
.ra_tax_layout_grid {
	display: flex;
	gap: 40px;
	align-items: flex-start;
}
/* ratios */

.ra_ratio_1_3 .ra_description_courte { flex: 0 0 33.333%; }
.tmp_ra_ratio_1_3 .ra_tax_oeuvres { flex: 0 0 66.666%; }

.ra_ratio_2_5 .ra_description_courte { flex: 0 0 40%; }
.ra_ratio_2_5 .ra_tax_oeuvres { flex: 0 0 60%; }

.ra_ratio_1_2 .ra_description_courte { flex: 0 0 50%; }
.ra_ratio_1_2 .ra_tax_oeuvres { flex: 0 0 50%; }

/* sécurité */
.ra_tax_oeuvres {
	min-width: 0;
}
/****************************
 * COLONNE DESCRIPTION COURTE + cartouche description oeuvre
 * **********************************/
/*========== OEUVRE ***************/
/* bloc */
.ra_main_section {
	background: #F6F5F2!important;
}
.ra_main_section.ra_description_courte {
	/*background-color: #FFFFFF;
	padding: 10px;
	border-radius: 10px; */
}
.description-oeuvre, div.ra_description_courte, div.ra_module_description_courte {
	background-color: #FFFFFF;
	padding: 20px 20px;
	border-radius: 5px;
    border-width: 1px;
    border-color: #cecece;
    border-style: double;
}
/* cartouche detail */
.description-oeuvre {
	/* background-color: #F6F5F2!important; */
	
}

div.ra_description_courte + div.description-oeuvre {
	margin-top: 20px;
}
div.ra_description_courte {
	/*background-color: #FFFFFF;
	padding: 20px 20px;
	border-radius: 5px;
    border-width: 1px;
    border-color: #cecece;
    border-style: double;*/
    overflow: hidden;
}

/*===========================================
 * CARTOUCHE DESCRIPTION OEUVRE
 * =========================================*/


.cartouche.description-oeuvre {
	font-size : 90%;
	background: #fbf8f3;
	border: 1px solid #e6ddd2;
	border-radius: 16px;
	padding: 20px 22px;
	box-shadow: 0 8px 22px rgba(79, 58, 37, 0.04);
}

/* si le cartouche suit le texte */
div.ra_description_courte + div.description-oeuvre,
div.ra_module_description_courte + div.description-oeuvre {
	margin-top: 24px;
}

/* items */
.cartouche.description-oeuvre .desc-item {
	padding: 5px 0;
	line-height: 1.75;
	color: #4f4339;
	border-bottom: 1px solid #eee4d8;
}

/* dernier item sans trait */
.cartouche.description-oeuvre .desc-item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

/* premier item */
.cartouche.description-oeuvre .desc-item:first-child {
	padding-top: 0;
}

/* labels */
.cartouche.description-oeuvre .desc-item strong {
	display: inline-block;
	min-width: 80px;
	margin-right: 6px;
	font-weight: 500;
	color: #2c221b;
}

/* liens taxonomies */
.cartouche.description-oeuvre .desc-item a {
	color: #5a4430;
	text-decoration: none;
	border-bottom: 1px solid rgba(90, 68, 48, 0.18);
	transition: color 0.2s ease, border-color 0.2s ease;
}

.cartouche.description-oeuvre .desc-item a:hover {
	color: #12009e;
	border-bottom-color: rgba(18, 0, 158, 0.35);
}

/* séparateur visuel entre liens multiples */
.cartouche.description-oeuvre .desc-item a + a {
	margin-left: 2px;
}

/* statut un peu plus visible */
.cartouche.description-oeuvre .desc-ra_statut {
	padding-top: 14px;
}

.cartouche.description-oeuvre .desc-ra_statut a {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	background: #f3ede4;
	border: 1px solid #dfd2c3;
	color: #3d3128;
	border-bottom: none;
	font-size: 0.95rem;
}

.cartouche.description-oeuvre .desc-ra_statut a:hover {
	background: #ede4d8;
	color: #2c221b;
}

/* si tu veux rendre dimensions/date plus discrètes */
.cartouche.description-oeuvre .desc-dimensions,
.cartouche.description-oeuvre .desc-date {
	color: #62554a;
}

/* responsive */
@media (max-width: 767px) {
	.cartouche.description-oeuvre {
		padding: 18px 16px;
		border-radius: 14px;
	}

	.cartouche.description-oeuvre .desc-item strong {
		tmp_display: block;
		min-width: 0;
		margin: 0 0 2px 0;
	}
}
/*********** PAGE EXPOSITIONS **************/
.ra-expositions-overview {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    gap: 2rem;
    align-items: start;
}

.ra-expositions-overview__grid,
.ra-expositions-overview__content {
    min-width: 0;
}

div.ra_description_courte, .ra-expositions-overview__content {
    /*position: sticky;*/
    top: 2rem;
}

@media (max-width: 991px) {
    .ra-expositions-overview {
        grid-template-columns: 1fr;
    }

    .ra-expositions-overview__content {
        position: static;
    }
}
/*============ FILTRES =============*/
/* Container principal de la boîte à filtres */
.filter_box {
    margin-bottom: 20px;
    padding: 15px;
    background-color: #f5f5f5;
    border: 1px solid #ddd;
    border-radius: 8px;
}

#filter_form {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

#filter_form select {
    flex: 1 1 calc(33.333% - 10px); /* 3 colonnes avec un petit gap */
    min-width: 150px;
    padding: 8px;
    border-radius: 4px;
    border: 1px solid #ccc;
}
/* Style des listes déroulantes */
.filter_group select {
    padding: 8px 10px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.filter_group select:hover,
.filter_group select:focus {
    border-color: #0073e6; /* Couleur au survol ou focus */
    outline: none;
}

/* Bouton principal pour appliquer les filtres */
button#apply_filter {
    flex: 1 1 100%; /* Occupe toute la largeur disponible */
    padding: 10px 20px;
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    background-color: #0073e6;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.2s ease;
}

button#apply_filter:hover {
    background-color: #005bb5;
    transform: translateY(-2px); /* Légère élévation au survol */
}

button#apply_filter:active {
    background-color: #003f7d;
    transform: translateY(0); /* Retrait de l'élévation au clic */
}



/****** GALERIE OEUVRE *********/
/* =========================================
   GALERIE OEUVRE
   Mobile : 2 colonnes
   Desktop : 1 ligne scrollable
   ========================================= */

.ra_galerie_oeuvre {
    margin-top: 1.25rem;
}

/* Reset éventuel du d-grid / classes bootstrap-like */
.ra_galerie_oeuvre.d-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
	background-color: #fff;
}

/* Chaque item */
.ra_galerie_oeuvre .item-grille {
    min-width: 0;
	padding-right: 0px!important;
}

/* Lien image */
#woo_ch_zoom_trigger, a.zoom {
	cursor: zoom-in;
}
.ra_galerie_oeuvre .wrapper-image a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f7f7f7;
    border: 1px solid #e6e6e6;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: 4 / 4;
    padding: 6px;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

/* Image */
.ra_galerie_oeuvre .wrapper-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 4px;
}

/* Hover */
.ra_galerie_oeuvre .wrapper-image a:hover {
    transform: translateY(-2px);
    border-color: #cfcfcf;
    box-shadow: 0 6px 18px rgba(0,0,0,0.08);
}

/* =========================================
   DESKTOP : ligne horizontale défilante
   ========================================= */
@media (min-width: 992px) {
    .ra_galerie_oeuvre.d-grid {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: 120px;
        grid-template-columns: none;
        overflow-x: auto;
        overflow-y: hidden;
        gap: 14px;
        padding-bottom: 8px;
		padding-top: 8px!important;

        /* scroll plus fluide */
        scroll-behavior: smooth;
        -webkit-overflow-scrolling: touch;

        /* snap optionnel */
        scroll-snap-type: x proximity;
    }

    .ra_galerie_oeuvre .item-grille {
        scroll-snap-align: start;
		padding-right: 5px!important;
    }

    .ra_galerie_oeuvre .wrapper-image a {
        tmp_aspect-ratio: 3 / 4;
    }
}
@media (max-width: 992px) {
	.main-image, .random-oeuvre {

	width:100%;
	height: 100%;
	text-align: center;
}
}
.ra_galerie_oeuvre .wrapper-image a {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 0;
    padding: 4px;
    box-shadow: none;
}

.ra_galerie_oeuvre .wrapper-image a:hover {
    transform: none;
    border-color: #999;
    box-shadow: none;
}
/* =========================================
   Scrollbar discrète
   ========================================= */
.ra_galerie_oeuvre::-webkit-scrollbar {
    height: 8px;
}

.ra_galerie_oeuvre::-webkit-scrollbar-track {
    background: #ececec;
    border-radius: 999px;
}

.ra_galerie_oeuvre::-webkit-scrollbar-thumb {
    background: #c7c7c7;
    border-radius: 999px;
}

.ra_galerie_oeuvre::-webkit-scrollbar-thumb:hover {
    background: #aaaaaa;
}

/*===========================
 * formulaire mail ajout favoris sélection oeuvre
 * ===============================================*/

.ra-cr-interest-button-wrap, .ra-cr-selection-counter {
    margin-top: 1rem;
}

.ra-cr-interest-button, .ra-cr-selection-counter-wrap {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem 1.2rem;
    border: 1px solid #222;
    background: #f0cd72;
    color: #111;
    cursor: pointer;
    transition: all 0.2s ease;
}
.ra-cr-selection-counter-wrap {
	margin-left: 1rem;
}
.ra-cr-selection-counter {
	margin: 0;
	padding:0;
	
	
}
.ra-cr-interest-button:hover {
    opacity: 0.92;
}

.ra-cr-interest-button__icon {
    line-height: 1;
}

/** formulaire **/

.ra-cr-interest-block {
    margin-top: 1rem;
}

.ra-cr-interest-button-wrap {
    margin-bottom: 1rem;
}

.ra-cr-interest-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.8rem 1.2rem;
    border: 1px solid #222;
    background: #f0cd72;
    color: #111;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ra-cr-interest-button:hover {
    opacity: 0.92;
}

.ra-cr-interest-form-wrap {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #ddd;
    background: #fafafa;
}

.ra-cr-interest-form .ra-cr-field {
    margin-bottom: 1rem;
}

.ra-cr-interest-form label {
    display: block;
	font-size: 80%;
    margin-bottom: 0.35rem;
    font-weight: 400;
}

.ra-cr-interest-form input[type="text"],
.ra-cr-interest-form input[type="email"],
.ra-cr-interest-form select,
.ra-cr-interest-form textarea {
    width: 100%;
    max-width: 100%;
    padding: 0.7rem;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

.ra-cr-interest-submit {
	display: inline-block;
    padding: 1rem 1.4rem;
    border: 1px solid #222;
    background: var( --ra-bg-bouton);
	width : 100%;
	font-size: 120%;
    tmp_color: #fff;
    cursor: pointer;
}

.ra-cr-interest-feedback {
    margin-bottom: 1rem;
    padding: 0.85rem 1rem;
    border: 1px solid transparent;
}

.ra-cr-interest-feedback--success {
    background: #edf7ed;
    border-color: #b7dfb9;
    color: #1f5f2a;
}

.ra-cr-interest-feedback--error {
    background: #fff1f0;
    border-color: #f0b8b8;
    color: #8a1f1f;
}

/* Bloc actions œuvre */
.ra-cr-interest-block {
	margin-top: 1.25rem;
}

/* Mode mixte : boutons côte à côte */
.ra-cr-interest-block--mode-mixte {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

/* Le formulaire doit toujours passer dessous */
.ra-cr-interest-block--mode-mixte .ra-cr-interest-form-wrap {
	flex: 0 0 100%;
	width: 100%;
}

/* Boutons */
.ra-cr-interest-block--mode-mixte .ra-cr-interest-button-wrap,
.ra-cr-interest-block--mode-mixte .ra-cr-select-toggle {
	flex: 1 1 220px;
}

/* Bouton intérêt à gauche */
.ra-cr-interest-block--mode-mixte .ra-cr-interest-button-wrap {
	order: 1;
}

/* Bouton sélection à droite */
.ra-cr-interest-block--mode-mixte .ra-cr-select-toggle {
	order: 2;
}

/* Formulaire dessous */
.ra-cr-interest-block--mode-mixte .ra-cr-interest-form-wrap {
	order: 3;
}

/* Style commun */
.ra-cr-interest-button,
.ra-cr-select-toggle--context-single {
	width: 100%;
	min-height: 42px;
	padding: 10px 14px;
	border: 1px solid #e2d7c9;
	background: #faf7f1;
	color: #1f2733;
	border-radius: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	cursor: pointer;
	font-size: 14px;
	line-height: 1.2;
}

/* État sélectionné */
.ra-cr-select-toggle--context-single.is-selected {
	tmp_background: #fff;
	tmp_border-color: #d4c4b2;
}

/* Responsive : empilé proprement */
@media (max-width: 640px) {
	.ra-cr-interest-block--mode-mixte {
		display: block;
	}

	.ra-cr-interest-button-wrap,
	.ra-cr-select-toggle--context-single {
		width: 100%;
		margin-bottom: 10px;
	}
}

/*=== COMPTEUR SELECTION ==*/
.ra-cr-selection-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    text-decoration: none;
    color: #111;
    font-weight: 400;
}

.ra-cr-selection-link__icon {
    line-height: 1;
    font-size: 1.1rem;
}

.ra-cr-selection-link__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.2rem;
    height: 1.2rem;
    padding: 0 0.3rem;
    border-radius: 999px;
    background: #d48d18;
    color: #fff;
    font-size: 0.75rem;
    line-height: 1;
    font-weight: 500;
}

/*=== PAGE SELECTION OEUVRE ===*/

.ra-main-image-with-selection, .catalogue-thumb {
	position: relative;
}

.ra-main-image-with-selection .ra-cr-select-toggle--main-image, .ra_grid .ra-cr-select-toggle {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 5;
}


.ra-main-image-with-selection .ra-cr-select-toggle--main-image,
.ra_grid .ra-cr-select-toggle
{
	width: 34px;
	height: 34px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border: 0;
	background: rgba(255,255,255,.92);
	box-shadow: 0 4px 14px rgba(0,0,0,.18);
	cursor: pointer;
	font-size: 22px;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}

.ra-main-image-with-selection .ra-cr-select-toggle--main-image .ra-cr-select-toggle__label {
	display: none;
}

.ra-main-image-with-selection .ra-cr-select-toggle--main-image.is-selected,
.ra_grid  .is-selected
{
	background: #fff;
	color: red!important;
}
.ra_grid .ra-cr-select-toggle.is-select {
	color: black!important;
}
.ra-cr-selection-list .ra-cr-select-toggle {
	top: auto;
	font-size: 14px;
	bottom : 12px;
	color: black!important;
	background: rgba(255,255,255,.6);
	box-shadow: 0 2px 7px rgba(0,0,0,.05);
}
/* */
.ra-cr-selection-items {
    display: grid;
    gap: 1rem;
}

.ra-cr-selection-item {
    display: grid;
    grid-template-columns: 90px 1fr;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid #ddd;
    background: #fff;
}

.ra-cr-selection-item__thumb img {
    display: block;
    width: 100%;
    height: auto;
}

.ra-cr-selection-item__title {
    margin: 0 0 0.5rem;
}

.ra-cr-selection-item__remove {
    border: 0;
    background: none;
    color: #a00;
    cursor: pointer;
    padding: 0;
}

/* Vider la sélection */

.ra-cr-selection-page__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.ra-cr-selection-clear {
    padding: 0.55rem 0.9rem;
    border: 1px solid #bbb;
    background: #fff;
    color: #333;
    cursor: pointer;
}

.ra-cr-selection-clear[disabled] {
    opacity: 0.5;
    cursor: not-allowed;
}

/*==============================
 * RESPONSIVE
 * ============================*/

/* Tablet (moins de 1024px) */
@media (max-width: 1024px) {
    ul.ra_grid.nbcol_2 li, div.ra_grid.nbcol_2 div,
	ul.ra_grid.nbcol_3 li, div.ra_grid.nbcol_3 div,
	ul.ra_grid.nbcol_4 li, div.ra_grid.nbcol_4 div,
	ul.ra_grid.nbcol_5 li, div.ra_grid.nbcol_5 div,
	ul.ra_grid.nbcol_6 li, div.ra_grid.nbcol_6 div
	{
        flex: 0 0 calc(50% - 20px); /* 2 colonnes */
    }
}
/*== GRID TAXONOMIE */

@media (max-width: 1200px) {
	.ra_tax_layout_grid  {
		gap: 28px;
	}
}

@media (max-width: 980px) {
	.ra_main_section .et_pb_row, .et_pb_row  {
		margin-top: 20px;
		width: 95%!important;
	}
	.ra_tax_layout_grid  {
		flex-direction: column;
		gap: 24px;
	}

	.ra_tax_layout_grid  > .ra_description_courte,
	.ra_tax_layout_grid  > .ra_tax_oeuvres {
		flex: 0 0 100%;
		width: 100%;
		max-width: 100%;
	}

	.ra_tax_layout_grid  .ra_description_courte {
		position: static;
		top: auto;
	}
}
/*=========================================
 * ra-section-card
 * =======================================*/
 :root {
	--ra-bg: #f6f2ec;
	--ra-surface: #faf7f2;
	--ra-surface-strong: #f4eee5;
	--ra-card: #ffffff;
	--ra-border: #e5ddd2;
	--ra-border-soft: #e7dfd5;
	--ra-text: #2d2a26;
	--ra-text-strong: #2c221b;
	--ra-text-soft: #54493f;
	--ra-muted: #8a7766;
	--ra-radius-lg: 18px;
	--ra-radius-md: 14px;
	--ra-radius-sm: 12px;
	--ra-shadow: 0 8px 24px rgba(79, 58, 37, 0.08);
	 --ra-padding-1 : 3px;
	  --ra-padding-2 : 5px;
	  --ra-padding-3 : 10px;
	 
	 /* boutons */
	 --ra-bg-bouton :  #f6f2ec;
}

/* bouton */
.ra-cr-interest-block button, .ra_grid button {
	background-color : var( --ra-bg-bouton);
	border-radius : var(--ra-radius-sm:);
	border-color: var(--ra-border);
	border: 1px solid var(--ra-border);
	padding : var(--ra-padding-3);
}

.ra-info-card, .ra-section-card {
	padding: 16px 18px!important;
	background-color: var(--ra-bg);
	border: 1px solid var(--ra-border-soft);
	border-radius: var(--ra-radius-sm);
}
.ra-cr-selection-form-wrap.ra-section-card {
	margin-top: 20px;
}
/*====================================
 * CONTACT
 * ==================================*/

.ra-contact-block {
	font-size: 15px;
	line-height: 1.6;
	color: #444;
}

.ra-contact-block > div {
	margin-bottom: 8px;
}

.ra-contact-name {
	font-weight: 600;
	font-size: 16px;
	color: #222;
}

.ra-contact-phone a,
.ra-contact-mobile a,
.ra-contact-email a,
.ra-contact-maps a {
	color: inherit;
	text-decoration: none;
}

.ra-contact-email.icon a::before {
	content: "\2709"; /* enveloppe */
	margin-right: 6px;
}

.ra-contact-phone a:hover,
.ra-contact-mobile a:hover,
.ra-contact-email a:hover,
.ra-contact-maps a:hover {
	color: #b78a43;
}
.ra-contact-mobile.icon a::before {
	content: "\260E";
	display: inline-block;
	margin-right: 8px;
	line-height: 1;
}
.ra-contact-whatsapp a {
	display: inline-block;
	padding: 6px 10px;
	border-radius: 4px;
	background: #25D366;
	color: #fff;
	text-decoration: none;
	font-weight: 500;
}

.ra-contact-whatsapp a:hover {
	background: #1ebe5d;
}


/*======= page contact **/
/* Ligne contact simplifiée : tél / WhatsApp / mail */
.ra-contact-block.ra-contact-line {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 14px;
	align-items: center;
	margin-top: 18px;
}

.ra-contact-block.ra-contact-line > div {
	margin: 0;
}

.ra-contact-block.ra-contact-line a {
	display: inline-flex;
	align-items: center;
	padding: 8px 13px;
	border-radius: 999px;
	background: #f3ede4;
	border: 1px solid #e0d4c6;
	color: #3d3128;
	font-size: 0.95rem;
	line-height: 1.2;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.ra-contact-block.ra-contact-line .ra-contact-mobile .ra-contact-label {
	font-size: 0;
}
.ra-contact-block.ra-contact-line .ra-contact-mobile .ra-contact-label::before {
	content: "☎ ";
	font-size: 0.95rem;

}

/* whatsapp */
.ra-contact-whatsapp a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.ra-icon-whatsapp {
	fill: #25D366;
	fill: #6b5b4d;
	flex-shrink: 0;
}

.ra-contact-whatsapp a:hover .ra-icon-whatsapp {
	fill: #12009e;

}

.ra-contact-block.ra-contact-line .ra-contact-whatsapp a:hover .ra-icon-whatsapp {
	fill: #1ebe5d;
	fill: #12009e;
}
/*
.ra-contact-block.ra-contact-line .ra-contact-phone a, .ra-contact-block.ra-contact-line .ra-contact-mobile a  {
	display: inline-flex;
	align-items: center;
	padding: 0px 0px;
	border-radius: 0px;
	background: transparent;
	border: 0px solid #e0d4c6;
	tmp_color: #3d3128;
	tmp_font-size: 0.95rem;
	line-height: 1.2;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.ra-contact-block.ra-contact-line .ra-contact-phone, .ra-contact-block.ra-contact-line .ra-contact-mobile {
		display: inline-flex;
	align-items: center;
	padding: 8px 13px;
	border-radius: 999px;
	background: #f3ede4;
	border: 1px solid #e0d4c6;
	color: #3d3128;
	font-size: 0.95rem;
	line-height: 1.2;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
*/
.ra-contact-block.ra-contact-line a:hover {
	background: #ede4d8;
	color: #12009e;
	transform: translateY(-1px);
}
/*================================
 * SIDEBAR
 * ===============================*/
.am_sidebar_narrative {
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.am_sidebar_narrative .am_side_block {
	background: #f8f5f0;
	border: 1px solid #e7dfd2;
	padding: 24px 22px;
	border-radius: 14px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.04);
}

.am_sidebar_narrative .am_side_kicker {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #9b7b52;
}

.am_sidebar_narrative h3 {
	margin: 0 0 12px;
	font-size: 22px;
	line-height: 1.2;
	color: #2f2a24;
}

.am_sidebar_narrative p {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: #4b443d;
}

.am_sidebar_narrative .am_side_links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.am_sidebar_narrative .am_side_links li {
	margin: 0;
	padding: 0;
}

.am_sidebar_narrative .am_side_links a {
	display: inline-block;
	color: #2f2a24;
	text-decoration: none;
	font-size: 15px;
	line-height: 1.5;
	padding-bottom: 2px;
	border-bottom: 1px solid transparent;
	transition: all 0.2s ease;
}

.am_sidebar_narrative .am_side_links a:hover {
	color: #9b7b52;
	border-bottom-color: #9b7b52;
}

.am_sidebar_narrative .am_side_quote {
	background: linear-gradient(180deg, #fbf8f3 0%, #f4eee5 100%);
}

.am_sidebar_narrative .am_side_quote blockquote {
	margin: 0;
	font-size: 20px;
	line-height: 1.6;
	font-style: italic;
	color: #3c342c;
	position: relative;
	padding-left: 18px;
}

.am_sidebar_narrative .am_side_quote blockquote:before {
	content: "“";
	position: absolute;
	left: 0;
	top: -4px;
	font-size: 28px;
	line-height: 1;
	color: #b5966c;
}

.am_sidebar_narrative .am_side_button_wrap {
	margin-top: 18px;
}

.am_sidebar_narrative .am_side_button {
	display: inline-block;
	padding: 11px 16px;
	border-radius: 999px;
	background: #9b7b52;
	color: #fff;
	text-decoration: none;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.2;
	transition: all 0.2s ease;
}

.am_sidebar_narrative .am_side_button:hover {
	background: #866744;
	color: #fff;
}

.am_sidebar_narrative .am_side_button_outline {
	background: transparent;
	border: 1px solid #9b7b52;
	color: #9b7b52;
}

.am_sidebar_narrative .am_side_button_outline:hover {
	background: #9b7b52;
	color: #fff;
}

@media (max-width: 980px) {
	.am_sidebar_narrative {
		gap: 18px;
	}

	.am_sidebar_narrative .am_side_block {
		padding: 20px 18px;
		border-radius: 12px;
	}

	.am_sidebar_narrative h3 {
		font-size: 20px;
	}

	.am_sidebar_narrative .am_side_quote blockquote {
		font-size: 18px;
	}
}

/*=====================================
 * PAGE EDITORIALE / BLOG
 *=====================================*/

.ra-layout-editorial {
	align-items: start;
}

/* bloc principal */
.ra_module_description_principale,
.et_pb_post_content.ra_module_description_principale {
	background: #fffdfa;
	border: 1px solid #e7dfd5;
	border-radius: 20px;
	padding: 34px 34px 38px;
	box-shadow: 0 10px 30px rgba(79, 58, 37, 0.04);
	color: #43372e;
}
.page .ra_module_description_principale,
.page .et_pb_post_content.ra_module_description_principale {
	background: transparent;
	border: 0px solid #e7dfd5;
	border-radius: 0px;
	padding: 0px 0px 0px;
	box-shadow: 0 10px 30px rgba(79, 58, 37, 0.04);
	color: #43372e;
}
/* ===============================
   MODULE TEXTE PRINCIPAL
   =============================== */
.ra_module_description_principale {
	max-width: 860px;
	margin: 0 auto;
	font-size: 1.06rem;
	line-height: 1.85;
	color: #2d2a26;
}

.ra_module_description_principale p {
	margin: 0 0 1.25em;
}

.ra_module_description_principale strong {
	font-weight: 600;
}

.ra_module_description_principale ul {
	margin: 0.4em 0 1.4em 1.2em;
	padding: 0;
}

.ra_module_description_principale li {
	margin: 0 0 0.45em;
	line-height: 1.7;
}

/* ===============================
   ACCROCHE
   =============================== */
.ra_module_description_principale .accroche {
	margin: 0 0 2.2em;
	font-size: 1.16rem;
	line-height: 1.9;
	color: #3a3029;
}

.ra_module_description_principale .accroche p:last-child {
	margin-bottom: 0;
}

/* ===============================
   GALERIES WORDPRESS
   =============================== */
.ra_module_description_principale .gallery {
	margin: 2em 0 2.4em !important;
}

.ra_module_description_principale .gallery-item {
	padding: 0 8px;
	box-sizing: border-box;
}

.ra_module_description_principale .gallery img {
	border: none !important;
	display: block;
	width: 100%;
	height: auto;
}

.ra_module_description_principale .gallery::after {
	content: "";
	display: block;
	clear: both;
}

/* ===============================
   MOBILE
   =============================== */
@media (max-width: 767px) {
	.ra_module_description_principale {
		font-size: 1rem;
		line-height: 1.75;
	}

	.ra_module_description_principale .accroche {
		font-size: 1.08rem;
		line-height: 1.75;
	}

	.ra_module_description_principale h2 {
		margin-top: 2em;
	}
}

/*==================================================
 * 
 * FILTRES TOUTES LES OEUVRES
 * 
 * ================================================*/

.filter_box {
    margin-bottom: 24px;
}

.filter_box .filter_form,
.filter_box form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.filter_box select,
.filter_box .ra-filter-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-width: 220px;
    max-width: 300px;
    padding: 12px 42px 12px 14px;
    border: 1px solid #d9d1c6;
    border-radius: 10px;
    background-color: #fff;
    color: #3b3128;
    font-size: 15px;
    line-height: 1.3;
    cursor: pointer;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 20 20' fill='none'><path d='M5 7.5L10 12.5L15 7.5' stroke='%23715e4b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 14px;
}

.filter_box select:hover,
.filter_box .ra-filter-select:hover {
    border-color: #bda98f;
}

.filter_box select:focus,
.filter_box .ra-filter-select:focus {
    outline: none;
    border-color: #9d7f5f;
    box-shadow: 0 0 0 3px rgba(157, 127, 95, 0.12);
}

.filter_box option {
    color: #3b3128;
}

.filter_box option:disabled {
    color: #b8b1a8;
    font-style: italic;
}

.ra_filter_empty {
    margin-top: 16px;
    padding: 14px 16px;
    border: 1px solid #e4d7d0;
    border-radius: 10px;
    background: #fcf8f6;
    color: #7a5748;
    font-size: 14px;
}

@media (max-width: 980px) {
    .filter_box .filter_form,
    .filter_box form {
        flex-direction: column;
        align-items: stretch;
    }

    .filter_box select,
    .filter_box .ra-filter-select {
        width: 100%;
        min-width: 0;
    }
}
