/*!/wp-content/themes/listable-child-theme/style.css*//*
Theme Name: Listable Child
Theme URI: https://pixelgrade.com/demos/listable/
Author: PixelGrade
Author URI: https://pixelgrade.com/
Description: A directory WordPress theme that will help you create and manage a local or global listings site.
Template: listable
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: listable-child-theme
Domain Path: /languages/
Tags: light, white, red

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

Listable is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/

/*modif espacement menu */
.header--transparent .primary-menu > ul > .cta.page_item,
	.header--transparent ul.primary-menu > .cta.menu-item {
		margin-left: 5px;
		margin-right: 5px;
	}


/*modif page paiement */

#woocommerce-info{
font-size:1.2rem;}


/* Formulaire */
.job_form_tarifs  {
	width:100px !important;
	display:inline-block !important;
}
.job_form_tarif_nbdays {
	width:auto !important;
	display:inline-block !important;
}
#job_form_subcats {
	margin-top: 10px;
}
#job_form_subcats div {
	margin-top: 10px;
}
#job_form_subcats span,.job_form_maincat_label {
	font-size: 0.8em;
}
#job_form_subcats select {
	width:50% !important;
	display:inline-block !important;
}
.job_form_availability_wrapper {
	clear:both;
	display:block;
}
#job_form_availability {
	list-style-type: none;
	padding: 0;
}
.job_form_disponibilite {
	width:150px !important;
	display:inline-block !important;
	background: #FFF url("/wp-content/themes/listable-child-theme/images/calendar.png") no-repeat right center;
}
.job_form_disponibilite_price {
	width:120px !important;
	display:inline-block !important;
}
.job_form_disponibilite_disable {
	background: #DDD;
}

/* Filtres de recherche */
#lodging_filters .search_tarif {
	display: inline-block;
	margin-right: 80px;
}

#lodging_filters .search_capacite {
	display: inline-block;
}
#lodging_filters .search_capacite input {
	width: 150px;
	display: inline-block
}

#lodging_filters .search_disponibilites {
	margin-top:15px;
}
#lodging_filters  .job_search_disponibilite {
	width:150px;
	display:inline-block;
	background: url("/wp-content/themes/listable-child-theme/images/calendar.png") no-repeat right center;
}


/* -------------- Personnalisation theme parent ------------------------ */

/* Taille map sur page Archive */
@media only screen and (min-width: 900px) {
	.myflex__left {
		float: left;
		width: 100%;
		width: calc(700px);

		-webkit-flex-basis: 700px;
		flex-basis: 700px;
		-ms-flex-preferred-size: 700px;
	}
/*modif affichage package */
.package{margin: 0 12px 20px;}
 
.single-job_listing .single_job_listing .column-content {
      width: 64%; }
.single-job_listing .single_job_listing .column-sidebar {
      width: 36%; }
}
@media only screen and (min-width: 1300px) {
	.myflex__left {
		width: calc(1000px);

		-webkit-flex-basis: 1000px;
		flex-basis: 1000px;
		-ms-flex-preferred-size: 1000px;
	}
}
@media only screen and (min-width: 900px) {
	.myflex__right {
		display: block;
		float: left;
		width: 100%;
		width: calc(100%  - 700px);}
.primary-menu > ul .children, ul.primary-menu .sub-menu{
min-width:20rem;}
	
}
@media only screen and (min-width: 1300px) {
	.myflex__right {
		width: calc(100% - 1000px);
	}
	.grid.job_listings > .grid__item,
.job_listings.product-content > .grid__item,
.product-content.job_listings > *{
		width:33%;}
}
/* barre de recherche */

.facetwp-facet {
width:100%;
margin-left:10px;}

/* Page single listing */
#listing_content-2 {
	background: none;
	border: none;
	border-radius: 0;
	border-bottom: 1px solid #CCC;
	padding: 0;
	margin: 30px 0 0;
}
#listing_content-2 .job_description {
}
#listing_content-2 .job_description h2 {
	margin: 0 0 10px;
	font-size: 1.5rem;
}
#listing_content-2 .job_description h3 {
	margin-top: 1rem;
	font-size: 1.1rem;
	font-weight:bold;
	letter-spacing: 1px;
	text-decoration: underline;
}
#listing_content-2 .job_description h4{
	margin-top:1.5rem;}
	
/* suppression affichage bouton avis*/
.single-action-buttons .action{
display:none;}

/* customisation bouton réserver*/
#jmfe-custom-job_reserver{
	font-size:1.1em;
	font-weight:bold;
	color: #F9F7F7;}

/* customisation des éléments des pages de fiches*/


#jmfe_widget-5,#jmfe_widget-7,#jmfe_widget-9,#jmfe_widget-16,#jmfe_widget-20{
background: none;
	border: none;
	border-radius: 0;
	border-bottom: 1px solid #CCC;
	padding-top:0px;
	padding-left:0px;
	padding-bottom: 30px;
	margin: 30px 0 0;
	
}

#jmfe_widget-5.widget-sidebar-title,#jmfe_widget-7.widget_sidebar_title,#jmfe_widget-9.widget-sidebar-title,#jmfe_widget-16.widget-sidebar-title,#jmfe_widget-20.widget-sidebar-title{
	float: left;
	width: 150px;        
	margin: 0 0 10px;
}
#jmfe_widget-5 h3.widget_sidebar_title,#jmfe_widget-7 h3.widget_sidebar_title,#jmfe_widget-9 h3.widget_sidebar_title,#jmfe_widget-16 h3.widget_sidebar_title,#jmfe_widget-20 h3.widget_sidebar_title {
	float: left;
	width: 150px; 
	font-size: 0.875em;
	font-weight:bold;
	color: #484848;
}
#jmfe-wrap-job_langue,#jmfe-wrap-job_tariftxt,#jmfe-wrap-job_horaires,#jmfe-wrap-job_labels,#jmfe-wrap-job_nombre_nuit{
        
	font-size: 0.875em;
	margin-left: 150px;
	padding-bottom:30px;
	
}
#jmfe-custom-company_telmob,#jmfe-wrap-company_facebook{
	padding: 0.4375rem 0 0 0.75rem;}

#listing_lodginginfo-2 {
	background: none;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
}
#listing_lodginginfo-4{
	background: none;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
}
.lodging_info_widget {
	position: relative;
}
.lodging_info_widget_row {
	clear: both;
	padding: 10px 0 20px !important;
	border-bottom: 1px solid #CCC;
}
.lodging_info_widget_label {
	float: left;
	width: 150px;
font-weight:bold;	
	font-size: 0.875em;

}

.lodging_info_widget_row_content {
	margin-left: 150px;
	font-size: 0.875em;
}
.lodging_info_widget_col {
	float: left;
	width: 50%;
}
@media only screen and (max-width: 720px) {
	.widget_listing_tags li {
		width: 100% !important;
	}
	.lodging_info_widget_col {
		width: 100%;
	}
	.lodging_info_widget_label {
	font-size: 1em;

}
	
	.lodging_info_widget_row_content {
	margin-left: 20px;
		
	
}
}
.listing-tag-list li a {
	font-weight: bold;
}
.listing-tag-list li span.tag_text_disable {
	font-size: 0.9375em;
	color: #777;
	text-decoration: line-through;
}
#lodging_info_calendar_link:before {
	content: "\21B5";
	display: inline-block;
	margin-right: 3px;
	-webkit-transform: scaleX(-1);
	-ms-transform: scaleX(-1);
	transform: scaleX(-1);
}
.lodging_info_widget .clearfloat {
	clear: both;
}
#availability_calendar {
	font-size: 11px;
}


.popular-category label.selectit{
	
	width: 100%; 
	
}

/* Titre sur les cards */
.card--listing .card__content {
    padding-top: 15px;}
@media only screen and (max-width: 500px){

#jmfe_widget-16 h3.widget_sidebar_title,
#jmfe_widget-7 h3.widget_sidebar_title,
#jmfe_widget-5 h3.widget_sidebar_title,
#jmfe_widget-9 h3.widget_sidebar_title,
#jmfe_widget-20 h3.widget_sidebar_title{
	
	width: 60px; 
	
}
#jmfe-wrap-job_tariftxt,#jmfe-wrap-job_langue,#jmfe-wrap-job_horaires,#jmfe-wrap-job_labels,#jmfe-wrap-job_nombre_nuit{
       
margin-left: 60px;
padding-left:30px;
	
	
}}




@media only screen and (min-width: 900px) {
	/*.site-header .site-branding {
    	padding-right: 0px !important;
	}
	.header--transparent ul.primary-menu .menu-item a, ul.primary-menu .header--transparent .menu-item a {
    	padding-left: 0px !important;
	}
	.header--transparent .primary-menu > ul > .cta.page_item, .header--transparent ul.primary-menu > .cta.menu-item {
    	margin-left: 0px !important;
    	margin-right: 10px !important;
	}eader--transparent .primary-menu > ul > .cta.page_item:last-child, .header--transparent ul.primary-menu > .cta.menu-item:last-child {
    	margin-left: 0px !important;
    	margin-right: 0px !important;
	}
	.site-header {
    	padding: 0 0px !important;
	}
	ul.primary-menu .menu-item a {
    	padding: 19px 12px !important;
	}
	ul.primary-menu > .menu-item.menu-item-has-children > a {
    	padding-right: 30px !important;
	}
	.primary-menu > ul > .cta.page_item a, ul.primary-menu > .cta.menu-item a {
    	padding: 5px 8px 4px 8px !important;
	}
	.primary-menu > ul .page_item_has_children:after, ul.primary-menu .menu-item-has-children:after {
    	right: 12px !important;
	}
	.primary-menu > ul > .cta.page_item:after, ul.primary-menu > .cta.menu-item:after {
    	display: none !important;
	}
	.primary-menu ul > .cta.page_item, ul.primary-menu > .cta.menu-item {
    	margin-right: 10px;
	}
	.header-facet-wrapper {
    	margin-right: 0 !important;
    	width: 150px !important;
		min-width:120px !important;
    	padding-right: 0px !important;
	}
	.header-facet-wrapper .facetwp-facet {
    	max-width: 150px;
    	min-width: 110px;
	}*/
	
	.site-header, .site-header .menu-wrapper, ul.primary-menu {
    	height: auto !important;
		max-width: 100% !important;
		text-align: right;
	}
.sub-menu li{text-align: left;}
}
@media only screen and (min-width: 1000px) {
	/*.site-header .site-branding {
    	padding-right: 10px !important;
	}
	.header--transparent ul.primary-menu .menu-item a, ul.primary-menu .header--transparent .menu-item a {
    	padding-left: 10px !important;
	}
	.site-header {
    	padding: 0 10px !important;
	}*/
}
.selectit .tag__icon{ width:50px !important; text-align:center !important; display: inline-block; }
.mini-icon-olfak, .selectit svg{ max-height:25px !important; max-width: 50px !important; }

.facet-wrapper .tag__icon{ width:30px !important; text-align:center !important; display: inline-block; }
.facet-wrapper .mini-icon-olfak, .facet-wrapper svg{ max-height:25px !important; max-width: 30px !important; }

.proximity-item {
	margin:0px 10px 10px 10px; float:left; position:relative; width: calc( 25% - 20px ); height:240px; overflow:hidden; line-height: 15px;
}
.proximity-item span {
	color:#663; font-family:Arial, Helvetica, sans-serif; font-size:11px;
}
.proximity-item div {
	width:100%; height:140px; overflow:hidden; margin-top:10px;
}
.clearfloat {
	clear:both; float:none; height: 1px;
} 
@media only screen and (max-width: 1200px) {
	.proximity-item {
		width: calc( 33% - 20px );
	}
}
@media only screen and (max-width: 900px) {
	.proximity-item {
		width: calc( 50% - 20px );
	}
}
@media only screen and (max-width: 600px) {
	.proximity-item {
		width: calc( 100% - 20px );
	}
}
nav.navigation.post-navigation {
	display:none;
}
@media only screen and (min-width: 480px) {
	.widget--footer,
	.footer-text-area,
	.single-job_listing .nav-links,
	.single-job_listing .single_job_listing,
	.entry-content .job_listing_preview_title {
		max-width: 1300px; 
		
	}}
	



.availability-calendar td.unavailable {
    z-index: 3 !important;
}
.availability-calendar .unavailable div.first, .availability-calendar .unavailable div.last {    
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;    
    z-index: -1;
    background: linear-gradient(to right bottom, #D05E09 50%, #1DCD37 50%);
}
.availability-calendar .unavailable div.last {
    background: linear-gradient(to right bottom, #1DCD37 50%, #D05E09 50%);
}



	
/*
.olfak_button{
	box-sizing: border-box;  
	font-size: 1em; 
	padding: 1em 2em; 
	background: #41a9d5; 
	background: -webkit-gradient(linear, left bottom, left top, color-stop(0, #298fba), color-stop(1, #41a9d5));
    border: 1px solid; border-color: #2685ad #247fa5 #227598 #247fa5; color: #ffffff !important;
        -webkit-border-radius: 0.25em; -moz-border-radius: 0.25em; border-radius: 0.25em;
        -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), 0 1px 2px rgba(0,0,0,0.065); -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), 0 1px 2px rgba(0,0,0,0.065); box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), 0 1px 2px rgba(0,0,0,0.065);
    text-shadow: 0 1px 0 rgba(0, 0, 0, 0.05); 
	text-align: center; 
	display: inline-block; 
	cursor: pointer; 
	text-decoration: none; 
	line-height: 1em;
}

@media (min-width: 320px) {
    .olfak_fancy, .single-job_listing .single_job_listing .column-content.olfak_fancy, .entry-header, .single-job_listing .entry-header::before {display:none !important; } 
    .fancybox-hidden {display:block !important; padding-top:40px;}
	.grid { border-bottom: 0; margin-bottom: 0px; padding-bottom: 0px; }
	.single-job_listing .single_job_listing .column-content { width:100%; max-width: 100%; }
	.olfak_button{ display:block; }
	body:not(.single):not(.woocommerce-checkout):not(.page-template-full_width) .entry-content { max-width: 100% !important; }
}
@media (min-width: 1024px) {
    .olfak_fancy, .single-job_listing .single_job_listing .column-content.olfak_fancy, .entry-header, .single-job_listing .entry-header::before {display:block !important;} 
    .fancybox-hidden {display:none !important; padding-top:40px;}
	.grid { border-bottom: 1px solid #CCC; margin-top: 40px; padding-bottom: 0px; }
}

*/
.event-special { border-bottom:1px solid #CCC; padding-bottom:10px; margin-top:20px; }
@media (min-width: 320px) {
    .event-image { max-width:100%; width:100%; float:none; margin:10px 0px; }
    .event-title { margin-top: 0 !important; }

	
}
@media (min-width: 640px) {
    .event-image { max-width:250px; width:250px; float:left; margin:10px 15px 15px 0; }
    .event-title { margin-top: 3.5rem !important; }
    .event-title { margin-top: 0 !important; }
}


.job-manager-form fieldset label:not(.full-line-checkbox-field label) {  width: 100% !important; }
.description_tooltip {   padding: 10px 10px !important; }
.job-manager-form fieldset .job-manager-uploaded-files .job-manager-uploaded-file{width:23%!important;}

/* Dans @font-face (fichier CSS qui déclare la police) */
@font-face{font-family:"Font Awesome 6 Free";src:url("https://use.fontawesome.com/releases/v6.4.2/webfonts/fa-regular-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}

@font-face{font-family:"Font Awesome 6 Free";src:url("https://use.fontawesome.com/releases/v6.4.2/webfonts/fa-solid-900.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap;}

@font-face{font-family:"Font Awesome 6 Brands";src:url("https://use.fontawesome.com/releases/v6.4.2/webfonts/fa-brands-400.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}

/* TEST Font Awesome menu */
ul.primary-menu .sub-menu i.fas,
ul.primary-menu .sub-menu i.fa-solid {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
ul.primary-menu .sub-menu i.far {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 400 !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}
ul.primary-menu .sub-menu i.fab,
ul.primary-menu .sub-menu i.fa-brands {
    font-family: "Font Awesome 6 Brands" !important;
    font-weight: 400 !important;
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* PERIGORD_DASHBOARD_MOBILE_BUTTONS_FIX_V1 */
@media (max-width: 600px) {
    #job-manager-job-dashboard .job-dashboard-actions > li:has(> form button.job-dashboard-action-relist),
    #job-manager-job-dashboard .job-dashboard-actions > li:has(> a.job-dashboard-action-perigord_featured_buy) {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #job-manager-job-dashboard .job-dashboard-actions > li > form:has(button.job-dashboard-action-relist) {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #job-manager-job-dashboard .job-dashboard-actions a.job-dashboard-action-perigord_featured_buy,
    #job-manager-job-dashboard .job-dashboard-actions button.job-dashboard-action-relist {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        text-align: center !important;
        line-height: 1.4 !important;
    }
}


/* PERIGORD_RELIST_BUTTON_FIX_V1 */
@media (max-width: 600px) {
    #job-manager-job-dashboard .job-dashboard-actions > li > form[id^="job_package_selection_"] {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    #job-manager-job-dashboard .job-dashboard-actions > li > form[id^="job_package_selection_"] button.job-dashboard-action-relist {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        box-sizing: border-box !important;
        padding: 9px 12px !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        text-align: center !important;
        line-height: 1.4 !important;
    }
}

/* PERIGORD_DASHBOARD_MOBILE_WIDTH_FIX_V1 */
@media (max-width: 600px) {
    #job-manager-job-dashboard,
    #job-manager-job-dashboard table.job-manager-jobs {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    #job-manager-job-dashboard table.job-manager-jobs {
        table-layout: fixed !important;
    }

    #job-manager-job-dashboard table.job-manager-jobs tr,
    #job-manager-job-dashboard table.job-manager-jobs td {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
}

/* PERIGORD_DASHBOARD_OVERFLOW_FIX_V1 */
@media (max-width: 600px) {
    .page-job-dashboard .hentry {
        overflow: visible !important;
    }
}

/* PERIGORD_DASHBOARD_MARGIN_FIX_V1 */
@media (max-width: 600px) {
    #job-manager-job-dashboard {
        margin-left: 0 !important;
    }
}


/* WPJM listing cards: shared styling for archives, categories, search and AJAX results. */
body:not(.single-job_listing) .grid.job_listings {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
}

body:not(.single-job_listing) .grid.job_listings > .grid__item {
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 0;
    color: inherit;
    text-decoration: none;
}

body:not(.single-job_listing) .grid.job_listings .card--listing {
    display: flex;
    height: 100%;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #dedfd6;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 18px rgb(33 59 49 / 7%);
    transition: transform 200ms ease, border-color 200ms ease, box-shadow 200ms ease;
}

body:not(.single-job_listing) .grid.job_listings > .grid__item:is(:hover, :focus-visible) .card--listing {
    transform: translateY(-3px);
    border-color: #bdc9bd;
    box-shadow: 0 12px 30px rgb(33 59 49 / 12%);
}

body:not(.single-job_listing) .grid.job_listings > .grid__item:focus-visible {
    outline: 3px solid #e1a849;
    outline-offset: 4px;
}

body:not(.single-job_listing) .grid.job_listings .card__image {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
    flex: 0 0 auto;
    background-position: center;
    background-size: cover;
}

body:not(.single-job_listing) .grid.job_listings .card__content {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 16px 18px 18px;
}

body:not(.single-job_listing) .grid.job_listings .card__title {
    margin: 0 0 8px;
    color: #213b31;
    font: 400 1.25rem / 1.25 Georgia, "Times New Roman", serif;
    letter-spacing: -.02em;
}

body:not(.single-job_listing) .grid.job_listings .card__tagline,
body:not(.single-job_listing) .grid.job_listings .card__tagline2,
body:not(.single-job_listing) .grid.job_listings .card_prix,
body:not(.single-job_listing) .grid.job_listings .card__footer {
    color: #58665d;
    font-size: .88rem;
    line-height: 1.5;
}

body:not(.single-job_listing) .grid.job_listings .card__tagline p,
body:not(.single-job_listing) .grid.job_listings .card__tagline2 p {
    margin: 0;
}

body:not(.single-job_listing) .grid.job_listings .card_prix {
    margin-top: auto;
    padding-top: 12px;
    color: #213b31;
    font-weight: 600;
}

body:not(.single-job_listing) .grid.job_listings .card__featured-tag {
    top: 12px;
    left: 12px;
    border-radius: 999px;
    padding: 6px 10px;
    color: #fff;
    background: #213b31;
    font-size: .7rem;
    font-weight: 700;
    line-height: 1.2;
}

body:not(.single-job_listing) .grid.job_listings .card__image .product__price {
    right: 12px;
    bottom: 12px;
    border-radius: 999px;
    padding: 6px 10px;
    color: #213b31;
    background: #fff;
    font-size: .82rem;
    font-weight: 700;
}

@media (min-width: 1300px) {
    body:not(.single-job_listing) .grid.job_listings {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 899px) {
    body:not(.single-job_listing) .grid.job_listings {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 600px) {
    body:not(.single-job_listing) .grid.job_listings {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    body:not(.single-job_listing) .grid.job_listings .card__content {
        padding: 15px 16px 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body:not(.single-job_listing) .grid.job_listings .card--listing {
        transition: none;
    }

    body:not(.single-job_listing) .grid.job_listings > .grid__item:is(:hover, :focus-visible) .card--listing {
        transform: none;
    }
}
/* Listing cards: excerpt and existing listing markers only. */
body:not(.single-job_listing) .grid.job_listings .card__tagline > p {
    display: -webkit-box;
    overflow: hidden;
    line-height: 1.5;
    max-height: 6em;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
}
body:not(.single-job_listing) .grid.job_listings .card__tags {
    display: flex;
}
body:not(.single-job_listing) .grid.job_listings .card__tag {
    border-color: transparent;
}
body:not(.single-job_listing) .grid.job_listings .card__footer {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
body:not(.single-job_listing) .grid.job_listings .card__rating,
body:not(.single-job_listing) .grid.job_listings .card__pin,
body:not(.single-job_listing) .grid.job_listings .card__tags {
    display: flex;
    align-items: center;
    visibility: visible;
    opacity: 1;
}
body:not(.single-job_listing) .grid.job_listings .card__tags {
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}
body:not(.single-job_listing) .grid.job_listings .card__tags li,
body:not(.single-job_listing) .grid.job_listings .card__tag,
body:not(.single-job_listing) .grid.job_listings .pin__icon {
    display: flex;
    align-items: center;
    justify-content: center;
}
body:not(.single-job_listing) .grid.job_listings .card__pin svg,
body:not(.single-job_listing) .grid.job_listings .pin__icon img,
body:not(.single-job_listing) .grid.job_listings .pin__icon svg {
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

/* Listing cards: release the card footer from Listable's fixed pin container. */
body:not(.single-job_listing) .grid.job_listings .card__footer {
    width: auto;
    height: auto;
    margin: 10px 0 0;
    overflow: visible;
}

/* Listing cards: one excerpt, compact footer; marker source remains in the DOM. */
body.tax-job_listing_category .grid.job_listings .card__tagline2,
body.tax-job_listing_category .grid.job_listings .card__footer .card__tags,
body.tax-job_listing_category .grid.job_listings .card__footer .card__pin {
    display: none;
}
body:not(.single-job_listing) .grid.job_listings .card__tagline {
    flex: 0 0 auto;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    font-size: .88rem;
    line-height: 1.5;
    max-height: 6em;
    min-height: 0;
    margin: 0;
    padding: 0;
}
body:not(.single-job_listing) .grid.job_listings .card__tagline > p {
    display: inline;
    font: inherit;
    margin: 0;
    padding: 0;
}
body:not(.single-job_listing) .grid.job_listings .card_prix:empty {
    display: none;
}
body:not(.single-job_listing) .grid.job_listings .card_prix {
    margin-top: 0;
    padding-top: 0;
}
body:not(.single-job_listing) .grid.job_listings .card__footer {
    flex: 0 0 auto;
    gap: 8px;
    margin-top: 10px;
}
body:not(.single-job_listing) .grid.job_listings .card__footer .card__rating,
body:not(.single-job_listing) .grid.job_listings .card__footer .card__address {
    position: static;
    flex: 0 1 auto;
    float: none;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}
body:not(.single-job_listing) .grid.job_listings .card__footer .card__rating {
    font-weight: 600;
}
body:not(.single-job_listing) .grid.job_listings .card__content {
    flex: 0 0 auto;
}
/* Listing cards: hide numeric rating while retaining category icons for map pins. */
body.tax-job_listing_category .grid.job_listings .card__footer .card__rating {
    display: none !important;
}
body:not(.single-job_listing) .grid.job_listings .card__footer {
    justify-content: flex-start;
    gap: 0;
}
body:not(.single-job_listing) .grid.job_listings .card__footer .card__address {
    margin: 0;
    padding: 0;
}
/* Listing cards: align the locality row at the bottom of each equal-height card. */
body:not(.single-job_listing) .grid.job_listings .card__content {
    flex: 1 1 auto;
}
body:not(.single-job_listing) .grid.job_listings .card__footer {
    margin-top: auto;
    padding-top: 8px;
}
body:not(.single-job_listing) .grid.job_listings .card__footer .card__address {
    display: flex;
    align-items: center;
    gap: 5px;
}
body:not(.single-job_listing) .grid.job_listings .card__footer .card__address > svg {
    display: block;
    flex: 0 0 12px;
    width: 12px;
    height: 17px;
}

/* PERIGORD_WPJM_FORM_V2_START */
/* BEGIN PERIGORD SINGLE FORM SECTIONS */
#submit-job-form.perigord-sectioned-form > .perigord-form-section-title {
    clear: both;
    margin: 2.5rem 0 1.5rem;
    padding: 1rem 0 .75rem;
    border-top: 2px solid #e5e0da;
    color: #292724;
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3;
}
#submit-job-form.perigord-sectioned-form > .perigord-form-section-title[hidden] {
    display: none !important;
}
#submit-job-form.perigord-sectioned-form > fieldset[data-perigord-section-field] {
    min-width: 0;
}
#submit-job-form.perigord-sectioned-form .field-description,
#submit-job-form.perigord-sectioned-form small.description {
    line-height: 1.5;
}
#submit-job-form.perigord-sectioned-form label,
#submit-job-form.perigord-sectioned-form .field-description {
    overflow-wrap: anywhere;
}
@media (max-width: 640px) {
    #submit-job-form.perigord-sectioned-form > .perigord-form-section-title {
        margin-top: 2rem;
        font-size: 1.25rem;
    }
    #submit-job-form.perigord-sectioned-form #job_form_subcats select {
        display: block !important;
        width: 100% !important;
    }
    #submit-job-form.perigord-sectioned-form .job_form_tarifs {
        max-width: 100%;
        width: 100px !important;
    }
    #submit-job-form.perigord-sectioned-form .job-manager-uploaded-files .job-manager-uploaded-file {
        width: 46% !important;
        max-width: 100%;
    }
    #submit-job-form.perigord-sectioned-form .field-description,
    #submit-job-form.perigord-sectioned-form .description_tooltip {
        max-width: 100%;
        overflow-wrap: anywhere;
    }
}
/* END PERIGORD SINGLE FORM SECTIONS */

/* New submissions only: pack-compatible subcategory choice. */
#submit-job-form .perigord-subcategory-choice {
    background: #fbf2ed;
    border: 1px solid #dfbeb0;
    border-left: 4px solid #ad6049;
    border-radius: 5px;
    padding: 18px;
    margin-bottom: 16px;
    min-width: 0;
    overflow-wrap: anywhere;
}
#submit-job-form .perigord-subcategory-heading {
    color: #88452f;
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 8px;
}
#submit-job-form .perigord-subcategory-error {
    color: #9b2924;
    font-weight: 600;
    margin: 8px 0;
}
#submit-job-form .perigord-subcategory-error[hidden] { display: none; }
#submit-job-form #perigord-subcategory-error:not([hidden]) {
    display: block;
    clear: both;
    color: #9b2924;
}
#submit-job-form .perigord-subcategory-choice select { max-width: 100%; }
@media (max-width: 640px) {
    #submit-job-form .perigord-subcategory-choice { padding: 12px; }
}

/* Rooms help: presentation only; the existing button handler stays unchanged. */
#submit-job-form .perigord-rooms-category-help > button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .6em;
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    margin-bottom: 20px;
    min-height: 44px;
    padding: 12px 18px;
    border: 1px solid #9f4b2f;
    border-radius: 4px;
    background: #9f4b2f;
    color: #fff;
    font: inherit;
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color .15s ease, border-color .15s ease;
}
#submit-job-form .perigord-rooms-category-help > button::before,
#submit-job-form .perigord-rooms-category-help > button::after {
    content: "";
    flex: 0 0 14px;
    height: 14px;
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M8 14V2M3 7l5-5 5 5'/%3E%3C/svg%3E");
}
#submit-job-form .perigord-rooms-category-help > button:hover {
    background-color: #884027;
    border-color: #884027;
    color: #fff;
}
#submit-job-form .perigord-rooms-category-help > button:focus {
    outline: 3px solid #442719;
    outline-offset: 3px;
}
@media (max-width: 640px) {
    #submit-job-form .perigord-rooms-category-help > button {
        gap: .35em;
        padding-inline: 8px;
        font-size: clamp(12px, 3.4vw, 16px);
    }
    #submit-job-form .perigord-rooms-category-help > button::before,
    #submit-job-form .perigord-rooms-category-help > button::after {
        flex-basis: 12px;
        height: 12px;
    }
}

/* Submission/edit form: expand only equipment and labels checklists. */
#submit-job-form .fieldset-job_tags .job-manager-term-checklist-job_tags,
#submit-job-form .fieldset-job_labels .job-manager-term-checklist-job_labels {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 20px;
    height: auto;
    max-height: none;
    overflow: visible;
    width: 100%;
    min-width: 0;
    padding: 0;
    box-sizing: border-box;
}
@media (max-width: 640px) {
    #submit-job-form .fieldset-job_tags .job-manager-term-checklist-job_tags,
    #submit-job-form .fieldset-job_labels .job-manager-term-checklist-job_labels {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* Keep equipment/label text readable inside the existing two-column grid. */
#submit-job-form :is(.fieldset-job_tags, .fieldset-job_labels) .job-manager-term-checklist > li {
    float: none !important;
    width: auto;
    min-width: 0;
    max-width: none;
    margin: 0;
    box-sizing: border-box;
}
#submit-job-form :is(.fieldset-job_tags, .fieldset-job_labels) .job-manager-term-checklist label.selectit {
    display: flex;
    align-items: flex-start;
    gap: .5em;
    float: none !important;
    width: 100% !important;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    box-sizing: border-box;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    line-height: 1.5;
}
#submit-job-form :is(.fieldset-job_tags, .fieldset-job_labels) .job-manager-term-checklist label.selectit > input[type="checkbox"] {
    flex: 0 0 22px;
    width: 22px !important;
    height: 22px;
    min-width: 22px;
    box-sizing: border-box;
    padding: 0;
    border: 1px solid #767676;
    border-radius: 2px;
    background-color: #fff;
    max-width: none;
    margin: .25em 0 0;
}
#submit-job-form :is(.fieldset-job_tags, .fieldset-job_labels) .job-manager-term-checklist label.selectit > input[type="checkbox"]:focus-visible {
    outline: 2px solid #9f4b2f;
    outline-offset: 2px;
}
#submit-job-form :is(.fieldset-job_tags, .fieldset-job_labels) .job-manager-term-checklist label.selectit > .tag__icon {
    flex: 0 0 28px;
    width: 28px !important;
    margin-inline: 0 !important;
}
#submit-job-form.perigord-sectioned-form > .perigord-saved-availability-preview {
    margin-bottom: 0;
}
#submit-job-form.perigord-sectioned-form > .perigord-saved-availability-preview > iframe[data-perigord-preview-height] {
    margin-bottom: 0;
}
#submit-job-form.perigord-sectioned-form > .perigord-saved-availability-preview + #perigord-section-contact {
    margin-top: 35px;
    padding-top: 0;
}

/* Form visual harmony: scoped to submission/edit, no field behaviour changes. */
#submit-job-form.perigord-sectioned-form {
    color: #484848;
    background-color: #fff;
}
#submit-job-form.perigord-sectioned-form > .perigord-form-section-title {
    margin: 32px 0 18px;
    padding: 16px 0 0;
    border-top: 1px solid #e5e0da;
    color: #292724;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3;
}
#submit-job-form.perigord-sectioned-form > .perigord-form-section-title:first-of-type {
    margin-top: 20px;
}
#submit-job-form.perigord-sectioned-form > fieldset > label {
    color: #292724;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
}
#submit-job-form.perigord-sectioned-form :is(input[type="text"], input[type="email"], input[type="url"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], input[type="date"], select, textarea) {
    background-color: #fff;
    color: #292724;
    border: 1px solid #8c837d;
    border-radius: 4px;
    min-height: 44px;
    box-sizing: border-box;
}
#submit-job-form.perigord-sectioned-form :is(input, select, textarea):focus-visible {
    outline: 2px solid #442719;
    outline-offset: 2px;
    border-color: #9f4b2f;
}
#submit-job-form.perigord-sectioned-form :is(.field-description, small.description, .description_tooltip) {
    color: #625b55;
    font-size: 14px;
    line-height: 1.5;
    font-style: normal;
}
#submit-job-form.perigord-sectioned-form :is(.field-description, small.description) {
    margin-top: 6px;
}
#submit-job-form.perigord-sectioned-form :is(.field-description, small.description) a {
    color: #9f4b2f;
    text-decoration: underline;
}
#submit-job-form.perigord-sectioned-form .perigord-subcategory-choice {
    background: #fbf3ef;
    border-color: #dfc8bd;
    border-left-color: #9f4b2f;
    padding: 14px;
    border-radius: 4px;
}
#submit-job-form.perigord-sectioned-form .perigord-subcategory-heading { color: #884027; }
#submit-job-form.perigord-sectioned-form :is(button[type="submit"], input[type="submit"], .perigord-rooms-category-help > button) {
    background: #9f4b2f;
    color: #fff;
    border: 1px solid #9f4b2f;
    border-radius: 4px;
    min-height: 44px;
    white-space: normal;
    line-height: 1.4;
}
#submit-job-form.perigord-sectioned-form :is(button[type="submit"], input[type="submit"], .perigord-rooms-category-help > button):hover {
    background: #884027;
    border-color: #884027;
}
#submit-job-form.perigord-sectioned-form :is(button[name="save_draft"], input[name="save_draft"]) {
    background: #fff;
    color: #9f4b2f;
}
#submit-job-form.perigord-sectioned-form :is(button[name="save_draft"], input[name="save_draft"]):hover {
    background: #fbf3ef;
    color: #884027;
}
#submit-job-form.perigord-sectioned-form .perigord-rooms-category-help > button { font-size: 16px; }
#submit-job-form.perigord-sectioned-form :is(.fieldset-job_tags, .fieldset-job_labels) label.selectit {
    color: #484848;
}
#submit-job-form.perigord-sectioned-form :is(.fieldset-job_tags, .fieldset-job_labels) input[type="checkbox"] {
    accent-color: #9f4b2f;
}
#submit-job-form.perigord-sectioned-form > .perigord-saved-availability-preview > p {
    color: #625b55;
    font-size: 14px;
    line-height: 1.5;
}
#submit-job-form.perigord-sectioned-form > .perigord-saved-availability-preview > iframe[data-perigord-preview-height] {
    border: 1px solid #e5e0da !important;
    border-radius: 4px;
    box-sizing: border-box;
    background: #fff;
}
#submit-job-form.perigord-sectioned-form > .perigord-saved-availability-preview + #perigord-section-contact {
    margin-top: 28px;
    padding-top: 16px;
}
@media (max-width: 640px) {
    #submit-job-form.perigord-sectioned-form > .perigord-form-section-title {
        margin-top: 26px;
        font-size: 20px;
    }
    #submit-job-form.perigord-sectioned-form .perigord-subcategory-choice { padding: 12px; }
}


/* Compact form spacing and visible terracotta section accents. */
#submit-job-form.perigord-sectioned-form {
    padding-left: 28px;
    padding-right: 28px;
    box-sizing: border-box;
    max-width: 100%;
}
#submit-job-form.perigord-sectioned-form > .perigord-form-section-title {
    color: #9f4b2f;
    border-left: 3px solid #9f4b2f;
    padding-left: 12px;
    margin-top: 28px;
    margin-bottom: 16px;
}
#submit-job-form.perigord-sectioned-form > .perigord-form-section-title:first-of-type {
    margin-top: 20px;
}
#submit-job-form.perigord-sectioned-form > p:has(> input[type="submit"], > button[type="submit"]) {
    margin-top: 24px;
    margin-bottom: 24px;
}
#submit-job-form.perigord-sectioned-form > p:has(> input[type="submit"], > button[type="submit"]) .button + .button {
    margin-top: 12px;
}
@media (max-width: 1024px) {
    #submit-job-form.perigord-sectioned-form {
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media (max-width: 640px) {
    #submit-job-form.perigord-sectioned-form {
        padding-left: 16px;
        padding-right: 16px;
    }
    #submit-job-form.perigord-sectioned-form > .perigord-form-section-title {
        margin-top: 28px;
        margin-bottom: 16px;
    }
    #submit-job-form.perigord-sectioned-form > .perigord-form-section-title:first-of-type {
        margin-top: 20px;
    }
}
/* Seasonal offers: presentation only, existing controls remain untouched. */
#submit-job-form.perigord-sectioned-form > .perigord-seasonal-intro {
    color: #625b55;
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 16px;
}
#submit-job-form.perigord-sectioned-form > .perigord-seasonal-event {
    background: #fff;
    border: 1px solid #e5e0da;
    border-radius: 4px;
    padding: 16px;
    margin: 0 0 16px;
    min-width: 0;
    box-sizing: border-box;
}
#submit-job-form.perigord-sectioned-form > .perigord-seasonal-event[hidden],
#submit-job-form.perigord-sectioned-form > .perigord-seasonal-intro[hidden] {
    display: none !important;
}
#submit-job-form.perigord-sectioned-form > .perigord-seasonal-event > h3 {
    color: #9f4b2f;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    margin: 0 0 16px;
}
#submit-job-form.perigord-sectioned-form > .perigord-seasonal-event > fieldset > label {
    color: #292724;
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
}
#submit-job-form.perigord-sectioned-form > .perigord-seasonal-event > fieldset:last-child {
    margin-bottom: 0;
}
@media (max-width: 640px) {
    #submit-job-form.perigord-sectioned-form > .perigord-seasonal-event { padding: 12px; }
}

#submit-job-form.perigord-sectioned-form .fieldset-main_image .field-description,
#submit-job-form.perigord-sectioned-form .fieldset-main_image small.description {
    display: block;
    position: static;
    clear: both;
    height: auto;
    max-height: none;
    overflow: visible;
    margin: 12px 0 0 !important;
    line-height: 1.6;
    white-space: normal;
}
#submit-job-form.perigord-sectioned-form .fieldset-main_image .description_tooltip {
    display: block;
    position: static;
    inset: auto;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
    text-align: left;
    line-height: 1.6;
    white-space: normal;
    overflow-wrap: anywhere;
}
#submit-job-form.perigord-sectioned-form .fieldset-main_image .description_tooltip::after {
    display: none;
}
/* PERIGORD_WPJM_FORM_V2_END */