/*
Theme Name:  Vivre à La Rochelle
Theme URI: http://listeo.pro
Author: Purethemes
Author URI: http://themeforest.net/user/purethemes
Description: Directory WordPress Theme by Purethemes
Version: 1.0
License: ThemeForest
License URI: http://themeforest.net/licenses
Text Domain: listeo
Domain Path: /languages/
Tags: light, responsive-layout, post-formats, theme-options, translation-ready, two-columns
Template:  listeo
*/

@font-face {
    font-family: "Trend Sans W00 Four";
    src: url("fonts/33ca94f43a53fc634323a6fe191ffd64.eot");
    src: url("fonts/33ca94f43a53fc634323a6fe191ffd64.eot?#iefix")format("embedded-opentype"),
    url("fonts/33ca94f43a53fc634323a6fe191ffd64.woff2")format("woff2"),
    url("fonts/33ca94f43a53fc634323a6fe191ffd64.woff")format("woff"),
    url("fonts/33ca94f43a53fc634323a6fe191ffd64.ttf")format("truetype"),
    url("https://db.onlinewebfonts.com/t/33ca94f43a53fc634323a6fe191ffd64.svg#Trend Sans W00 Four")format("svg");
}

/* ── Typographie globale : Poppins (titres) + Raleway (corps) ── */
body,
button, input, select, textarea,
.elementor-widget-text-editor {
    font-family: 'Raleway', sans-serif;
}
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.desc-headline, .listing-title, .page-title, .widget-title {
    font-family: 'Poppins', sans-serif;
}

/* Pas de marge au-dessus du footer sur les fiches/archives listing */
.post-type-archive-listing #footer,
.single-listing #footer {
    margin-top: 0 !important;
}

.tdfv {
  --tdfv-primary: #da667b;
  --tdfv-gray: #1e1c3b;
  --tdfv-success: #059669;
  --tdfv-danger: #dc2626;
  --tdfv-space: 2rem;
  --tdfv-radius: 0.6rem;
  --tdfv-border-width: 1px;
  --tdfv-card-border-width: 2px;
  --tdfv-card-body-size : 16px;
  --tdfv-form-input-size: 14px;
  --tdfv-line-height: 1.6;
  --tdfv-text-lg: 16px;
  --tdfv-icon-size:25px;
}
.tdfv li::marker {
	color: #d1d5db;
}
.tdfv ul {
	padding-inline-start: 1.625em;
}
:where(.tdfv) .tdfv-body ul {
	margin:0;
}
:where(.tdfv) ul, :where(.tdfv) ol {
    padding-left: calc(var(--wwc-space) * 1.25);
}
:where(.tdfv).tdfv-table th {
	font-size: 13px;
}

blockquote {
	margin: 20px 0 25px;
}

@media only screen and (max-width: 768px) {
    #header {
        padding-top: 8px;
    }
	.mmenu-trigger {
		margin-bottom:10px;
	}
}
#header .container {
	width:100%;
	max-width:1440px;
}
.elementor-element:not(.elementor-section) {
    max-width: 1440px;
}

.elementor-heading-title {
	margin-bottom: 20px;
}

h2.wp-block-heading {
	font-size:38px;
	font-weight:800;
	margin-top:0;
}
h2.wp-block-heading:not(:first-child) {
	margin-top:50px;
}

.post-template-default #titlebar {
    padding: 10px 0;
    margin-bottom: 5px;
}
.post-template-default #titlebar #breadcrumbs {
	left:0;
	text-align:left;
}

.single-post .post-content p {
    margin: 5px 0;
}
p:has(+ h3.wp-block-heading) {
    margin-bottom: 2.2rem!important;
}

.elementor-widget-theme-post-content h2 {font-size:30px;letter-spacing:0; font-weight:700;}
.elementor-widget-theme-post-content h3 {font-size:25px;letter-spacing:0; font-weight:700;}
.elementor-widget-theme-post-content h4 {font-size:20px;letter-spacing:0; font-weight:700;}
#single-listing-grid-gallery {margin-bottom:0; min-height:420px}
.listing-nav {margin-bottom:15px;}
#titlebar.listing-titlebar span.listing-tag, #titlebar.listing-titlebar span.listing-pricing-tag {
    margin-right:5px;
}

.essentiel {
	padding:24px;
	background-color: #ffe5eb;
	color:#da667b;
	border-radius:8px;
	margin:20px 0 30px 0;
}
.essentiel h2 {
	color:#da667b;
	font-size:1.2em;
}


.mega-menu:not(.mm-panel),
#navigation ul li:hover .mega-menu {
    transform: translate3d(-0%, 12px, 0);
}
.mega-menu.four-columns:not(.mm-panel) {
    width: 1024px;
}
#navigation .mega-menu:not(.mm-panel)>ul>li, .mega-menu-section {
    width: 254px;
}
.mega-menu-headline {
	color: #000000;
    font-weight: 500;
    font-family: 'Poppins';
}
#navigation ul.sub-menu  > li > a {
    font-weight: 300;
}
#navigation li.nav-submenu-title > a {
	color:#000!important;
	font-weight:500!important;
	cursor:text!important;
	margin-top:10px!important;
}
#navigation li.nav-submenu-title:hover > a {
	color:#000;
}
#navigation li.nav-submenu-title > a:after {
	content:''!important;
	display:none;
}
#navigation li.nav-submenu-title ul.sub-menu li {
	padding:0!important;
}

.sidebar h2.widgettitle {font-size:20px; letter-spacing:0;}

.sidebar .search-input-icon i {
    position: absolute;
    top: 50%;
    transform: translateY(calc(-50% - 7px));
    right: 31px;
}

.custom-search-fields-container.dynamic-fields {padding:10px;}

.tax-event_category .details-sidebar-col-nl,
.event-archive .details-sidebar-col-nl {
	display:none;
}

/* CHARGEMENT DES ICONES POUR LES CARACTERISTIQUES DES PUBLICATIONS */
.feature-tag-nl i::before {
    /* content: ""; */
    display: inline-block;
    width: 16px;
    height: 16px;
	font-size:14px;
    color: currentColor; /* hérite de la couleur du texte */
    /* désactive le FA */
    font-family: unset !important;
}
.feature-tag-nl.main-detail-_event_date i::before,
.feature-tag-nl.main-detail-_event_date_end i::before {
    /* ton SVG → comme masque */
    -webkit-mask-image: url("assets/img/deadline.png");
    mask-image: url("assets/img/deadline.png");
    mask-size: cover;
}
.feature-tag-nl.main-detail-_classifieds_chambres i::before {
    /* ton SVG → comme masque */
    -webkit-mask-image: url("assets/img/bed.svg");
    mask-image: url("assets/img/bed.svg");
    mask-size: cover;
}

.feature-tag-nl.main-detail-_type_de_chauffage i::before {
    /* ton SVG → comme masque */
    -webkit-mask-image: url("assets/img/radiator.svg");
    mask-image: url("assets/img/radiator.svg");
    mask-size: cover;
}
.feature-tag-nl.main-detail-_classifieds_surface i::before {
    /* ton SVG → comme masque */
    -webkit-mask-image: url("assets/img/scale.svg");
    mask-image: url("assets/img/scale.svg");
    mask-size: cover;
}
.feature-tag-nl.main-detail-_classifieds_sdb i::before {
    /* ton SVG → comme masque */
    -webkit-mask-image: url("assets/img/bathtub.svg");
    mask-image: url("assets/img/bathtub.svg");
    mask-size: cover;
}
.feature-tag-nl.main-detail-_reference_du_bien i::before {
    /* ton SVG → comme masque */
    -webkit-mask-image: url("assets/img/folder.svg");
    mask-image: url("assets/img/folder.svg");
    mask-size: cover;
}
/* FIN CHARGEMENT ICONES */


/*Taux immobilier */
.bloc-taux-ligne {
	display: flex;
    justify-content: space-between;
    text-align: center;
}
.bloc-taux-ligne .taux {
	width:32%;
	background: rgba(218,102,123,.28);
    border-radius: 16px;
    padding: 28px 0;
}

.titre_taux span {
	font-size: 26px;
    font-style: normal;
    font-weight: 700;
    line-height: 30px;
}
.pourcentage_taux span {
	    font-size: 54px;
    font-weight: 700;
    line-height: 72px;
	color:#DA667B;
}

/* Appliquer à tous les éléments ciblés par un id (ou une classe spécifique) */
.elementor-menu-anchor  {
  scroll-margin-top: 90px; /* ajuster la valeur en fonction de la hauteur de votre menu */
}

.listing-tag {
	margin-right:5px;
}

.listing-card-nl {
	width: calc(100% - 2px);
}

h2.listing-title-nl, h3.listing-title-nl {
	font-size:16px!important;
	letter-spacing:0!important;
}
.listing-details li span {
	display:inline;
}
.listing-item-container.list-layout {
    background: transparent;
    background-color: #ffffff;
    margin-bottom: 25px;
}
.transparent-blur {
  backdrop-filter: blur(24px)!important; /* Applique un flou de 24 pixels */
}

.fs-container section.search,
.fs-inner-container.content {
	background-color: #FBF6EF;
}
.fs-container section.search {
	background-color: #FBF6EF;
	padding: 20px 20px;
}
.fs-container section.title-container {
	padding: 0 20px;
}

.listing-item:before {
    background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.5) 35%, rgba(22, 22, 23, 0.3) 60%, rgba(0, 0, 0, 0) 100%);
}
.listing-small-badges-container {
	left:18px;
}
.listing-item-content {
	padding-right: 18px;
	padding-left:18px;
}
span.like-icon {
	right: 20px;
}
.listeo-related-posts h3,
.card-overlay .listing-item-content h3 {
	color:#fff!important;
}

.listing-item-content span {
    font-size: 14px;
    line-height: 18px;
}
.listeo-related-posts h3,
.listing-item-content h3 {
    font-size: 18px!important;
    line-height: 24px;
}
@media(min-width: 426px) {
	.fs-container section.search {
		padding: 20px 40px;
	}
	.fs-container section.title-container {
		padding: 0 40px;
	}

	.listing-item-content h3 {
		font-size: 19px!important;
		line-height: 26px;
		color:#fff;
	}
}
.bootstrap-select.btn-group button {
	height:51px;
	border-radius:3px;
}
.panel-dropdown.active>a, .panel-dropdown>a {
    background: #f1ece5;
}

.google-auto-placed {
	margin: 20px 0;
    border-top: solid 1px #eee;
    padding: 20px 0;
    border-bottom: solid 1px #eee;
}

.leaflet-top {
    transform: translateY(0);
}
@media(max-width:992px) {
    #show-map-button {
        display: block;
		border-radius: 100px;
        background: #66676b;
		text-align: center;
        font-weight: 500;
        color: #fff;
        font-size: 16px;
        padding: 10px;
        margin: 0 0 0px 15px;
    }
	.map-fixed {
		/* max-height: 0px; */
        /* opacity: 0; */
	}
	.hide-map-on-mobile.map-active {
		/* display:block; */
	}
	.hide-map-on-mobile {
		/* display:none; */
	}
}

/* ---------- Widget pubs : titre gris + ligne ---------------- */
.pubs-heading {
    margin: 0 0 15px;
    font-size: 11px!important;
    font-weight: 500;
    color: #7a7a7a;
    text-transform: uppercase;
    position: relative;
    display: flex;
    align-items: center;
	margin-bottom:15px!important;
}

.pubs-heading span {
    padding-right: .7rem;
    background: transparent;
}

.pubs-heading::after {
    content: '';
    flex: 1 1 auto;
    height: 1px;
    background: #d0d0d0;
    position: relative;
    top: 0;
}


#titlebar.listing-titlebar {
	padding-top:40px;
	padding-bottom:15px;
}
#titlebar,
#wrapper header{
    background-color: #FBF6EF;
}
#header {
    box-shadow: none;
}

#navigation ul ul li {
    width: 225px;
}

#breadcrumbs {
	max-width:100%;
}

h1 {
	font-family: 'Poppins', sans-serif;
	font-size:28px;
}

#listing-overview h2 {
	font-size:30px;
	font-weight:700;
	margin-top:40px;
}
#listing-overview h3 {
	font-size:20px;
	font-weight:500;
	text-decoration:underline;
}

#tax-listing_category-panel,
.listeo-form-restaurant #tax-listing_category-panel,
.listeo-form-immo #listeo-search-form_tax-listing_category {
	display:none;
}

.checkboxes label {
	font-size:14px;
}

img.footer-logo {
    max-height: 50px;
}

.panel-dropdown {
    flex: 1;
    margin: 10px;
    position: relative; /* Nécessaire pour le positionnement du dropdown */
}

.panel-dropdown.wide .panel-dropdown-content {
    position: absolute;
    left: 0; 
    transform: translateX(0%); /* Permet de centrer par rapport à la fenêtre */
    width: 50vw; /* Étendre sur toute la largeur de la fenêtre */
    max-width: 50vw; /* Limite à la taille de la fenêtre */
    z-index: 10; /* Assurer que le dropdown est visible par-dessus les autres éléments */
    background-color: white;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* Optionnel : une ombre pour délimiter le dropdown */
    padding: 15px; /* Espacement interne du contenu */
}

.panel-dropdown.active .panel-dropdown-content {
    display: block; /* S'assurer que le contenu est visible quand actif */
}


/* Graphiques Charts */
.chart-container {
    width: 100%;
    max-width: 1200px;
    background-color: #fff;
    padding: 20px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

.filters-container .page-title {
    margin-bottom: 20px;
}
/* Aligner les sorts avec le bouton pour afficher la sidebar avec les filtres */
.full-page-job-listings-container {
	margin-top : -60px;
}

/* Badge Horaires ouverture */
.listing-badge {
    transform: rotate(40deg);
    right: -44px;
    top: 32px;
    font-weight: 500;
	font-size:13px;
}
.boxed-widget.opening-hours {
	padding-top:80px;
}
.boxed-widget.opening-hours .listing-badge {
    transform: rotate(0); 
    left: 0;
    top: 0;
    width: 100%;
    font-size: 14px;
    margin-bottom: 20px;
    padding: 10px 0;
}
.status-button-nl.opens-today,
.listing-badge.opens-today {
    background-color: #cddc39;
}
.status-button-nl.opens-soon,
.listing-badge.opens-soon {
    background-color: #8bc34a;
}
.status-button-nl.now-open,
.listing-badge.now-open {
    background-color: #4caf50;
}
.status-button-nl.closes-soon,
.listing-badge.closes-soon {
    background-color: #ff9800;
}
.status-button-nl.permanently-closed,
.listing-badge.permanently-closed {
    background-color: #000;
}
.status-button-nl.temporarily-closed,
.listing-badge.temporarily-closed {
    background-color: #777777;
}

.feature-tag-nl.main-detail-_service_tab_statut_de_lentreprise {
	display:none;
}

/* Modification de l'apparence du formulaire split page */
.gray-style .row.with-forms {
    box-shadow: none;
    background-color: #f6f6f6;
    top: -10px;
    position: relative;
    margin: 10px 0 0 0;
    border-radius: 50px;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 9px;
    max-height: 68px;
}
.gray-style .row.with-forms input, .gray-style .row.with-forms input:focus {
    font-size: 16px !important;
    border: none;
    font-weight: 500 !important;
    background: #f6f6f6;
    margin: 0;
    padding: 0;
    height: 44px;
    line-height: 44px;
    box-shadow: none;
}
.main-search-input-item {
    flex: 1;
    border-right: 1px solid #e9e9e9;
    margin-top: 3px;
    position: relative;
}

/* Modification du radius slider */
.range-slider {
	display: flex;
    align-items: center;
    flex-direction: row;
    flex-wrap: wrap;
}
.range-output {
    margin-bottom: 0; 
    order: 2;
    margin-left: 10px;
}
.data-radius-title {
    margin-top: 0; 
    line-height: 20px;
    order: 1;
}
.rangeslider--horizontal {
	order:3;
}
.hide-desactiver-rayon .panel-disable {
	display:none!important;
}

/* Barres des diagnostics */
/* Conteneur pour les diagnostics */
.diagnostics-energetiques {
    display: flex;
    flex-direction: row;
    gap: 40px;
    max-width: 100%;
}

.diagnostic {
    display: flex;
    flex-direction: column;
}

/* Barre de diagnostic (DPE ou GES) */
.energyDiagnosticScore {
    display: flex;
	align-items: center;
    list-style-type: none;
    padding: 0;
    margin: 5px 0;
}

.energyDiagnosticScore li {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    font-weight: bold;
    color: white;
    border-right: 1px solid white;
}

.energyDiagnosticScore li:last-child {
    border-right: none;
}

/* Couleurs des segments DPE */
.score-dpe li:nth-child(1) {
    background-color: #00a774; /* A - Vert foncé */
}

.score-dpe li:nth-child(2) {
    background-color: #00bb54; /* B - Vert clair */
}

.score-dpe li:nth-child(3) {
    background-color: #4ac57b; /* C - Jaune */
}

.score-dpe li:nth-child(4) {
    background-color: #fdeb00; /* D - Orange */
}

.score-dpe li:nth-child(5) {
    background-color: #ffbc00; /* E - Orange foncé */
}

.score-dpe li:nth-child(6) {
    background-color: #ff882f; /* F - Rouge */
}

.score-dpe li:nth-child(7) {
    background-color: #ec0118; /* G - Rouge foncé */
}
/* Couleurs des segments GES */
.score-ges li:nth-child(1) {
    background-color: #a3dbfc; /* A - Vert foncé */
}

.score-ges li:nth-child(2) {
    background-color: #8ab5d2; /* B - Vert clair */
}

.score-ges li:nth-child(3) {
    background-color: #7692b1; /* C - Jaune */
}

.score-ges li:nth-child(4) {
    background-color: #5e708d; /* D - Orange */
}

.score-ges li:nth-child(5) {
    background-color: #4d5272; /* E - Orange foncé */
}

.score-ges li:nth-child(6) {
    background-color: #393550; /* F - Rouge */
}

.score-ges li:nth-child(7) {
    background-color: #291b35; /* G - Rouge foncé */
}

.energyDiagnosticScore li {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-flex: 1;
    flex: 1 1 0px;
    -webkit-box-pack: center;
    justify-content: center;
    height: 10px;
    margin-left: 2px;
    cursor: default
}
/* Mettre en évidence la classe sélectionnée */
.energyDiagnosticScore.score-A li:nth-child(1),
.energyDiagnosticScore.score-B li:nth-child(2),
.energyDiagnosticScore.score-C li:nth-child(3),
.energyDiagnosticScore.score-D li:nth-child(4),
.energyDiagnosticScore.score-E li:nth-child(5),
.energyDiagnosticScore.score-F li:nth-child(6),
.energyDiagnosticScore.score-G li:nth-child(7) {
    /* outline: 3px solid black; */
    position: relative;
	height: 40px;
    border-radius: 4px;
}

.energyDiagnosticScore li[tabindex="0"] {
    outline: 3px solid black;
}


.energyDiagnosticScore li:first-child {
    margin: 0;
    border-radius: 10px 0 0 10px
}

.energyDiagnosticScore li:last-child {
    border-radius: 0 10px 10px 0
}


.feat .listing-item {
	height:298px;
}
.feat .listing-item-container .numerical-rating,
.feat .listing-item-container .star-rating {
	display:none;
}


.new-grid-layout-nl .listing-image-container-nl {
	height: 280px;
    min-height: 280px;
}

/* COMPLIANZ */
#cmplz-manage-consent .cmplz-manage-consent {
    font-size: 15px;
}
.cmplz-message p {
	font-size:14px;
	line-height:1.3em;
}

@media (min-width: 992px) {
    #footer .container {
        width: 82%;
    }
	h1 {
		font-size:36px;
	}
}
@media (min-width: 1260px) {
	h1 {
		font-size:44px;
	}
    #listeo-listings-container:not(.new-grid-layout-nl) .listing-image-container-nl {
        height: 240px;
    }
}
@media (max-width: 375px) {
    h1 {
		font-size:24px;
	}
}
@media (max-width: 768px) {
    .blog-page .blog-post .post-content, .single-post .post-content {
        padding: 30px 20px;
    }
	
	.diagnostics-energetiques {
		flex-direction: column;
		gap: 40px;
		max-width: 100%;
	}
}



.pricing-list-container button span {
	color:inherit;
	position:static;
	transform:none;
	border-bottom: solid 1px #da667b;
}
.pricing-list-container .plus-tabs-nav span {
	position:static;
	color:#da667b;
}
.pricing-list-container .plus-tabs-nav li {
	background-color:#fdf7f8;
	padding:10px 20px;
	border-bottom: solid 1px #da667b;
}
.pricing-list-container .e-n-tab-title {
    min-width: 100px;
}

/* Affichage Tableau Stations services */
.nom-station {
	width:50%;
}

/* Tableau */
.elementor-element table thead {
	border-bottom: solid 1px;
}
.elementor-element table tr {
	border-bottom: solid 1px #ccc;
}
.elementor-element table tr > td {
	padding:4px 0;
}

.valr-maillage-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 20px;
    margin: 40px auto; /* centre horizontalement */
    max-width: 1360px; /* largeur max */
    width: 100%;
    box-sizing: border-box;
}

.valr-maillage-grid h2 {
    grid-column: 1 / -1;
    margin-bottom: 10px;
}

.valr-maillage-card {
    position:relative;
	background-color: #da667b4a;
    min-height:320px;
    background-size:cover;
    background-position:center;
    border-radius:8px;
    overflow:hidden;
}

.valr-maillage-link {
    display:block;
    height:100%;
    text-decoration:none;
}

.valr-maillage-overlay {
    position:absolute;
    inset:0;
    /* background:rgba(0,0,0,0.45); */
    color:#9f9f9f;
    padding:20px;
    display:flex;
    flex-direction:column;
    justify-content:flex-end;
}

.valr-maillage-contenu {
	background-color: #FFFFFF;
    margin: 0px 0px 0px 0px;
    padding: 16px 30px 20px 30px;
    border-radius: 10px;
    max-width: 80%;
}

.valr-maillage-overlay h3 {
    margin:0 0 5px;
    font-size:18px!important;
    color:#000!important;
}

.valr-maillage-overlay p {
    margin:0;
    font-size:14px;
    opacity:0.9;
	line-height: 1.2em;
}

.valr-maillage-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%!important;
    object-fit: cover;
}

/* =====================================================
 * Mobile horizontal scroll – widget Listings with Ads
 * ===================================================== */
@media (max-width: 767px) {
    .tdf-mobile-scroll .list-layout {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
		align-items:stretch !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding-bottom: 20px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }
    .tdf-mobile-scroll .list-layout::-webkit-scrollbar {
        display: none;
    }
    .tdf-mobile-scroll .list-layout .listing-card-container-nl {
        flex: 0 0 66vw !important;
        width: 66vw !important;
        max-width: 66vw !important;
        min-width: 0 !important;
        float: none !important;
        scroll-snap-align: start;
        padding-right: 12px !important;
        box-sizing: border-box !important;
    }
    .tdf-mobile-scroll .list-layout .listing-card-container-nl:last-child {
        padding-right: 0 !important;
    }
    .tdf-mobile-scroll .loader-ajax-container,
    .tdf-mobile-scroll .pagination-container,
    .tdf-mobile-scroll nav.pagination,
    .tdf-mobile-scroll .load-more-button {
        display: none !important;
    }
}

/* ── Mobile : aération du header + trigger menu ── */
@media only screen and (max-width: 768px) {
    #header { padding-top: 8px; }
    .mmenu-trigger { margin-bottom: 10px; }
}
