/*
Template:       onelisting
Theme Name:     OneListing Child
Theme URI:      https://directorist.com/product/onelisting/
Author:         wpWax
Author URI:     https://wpwax.com/
Description:    OneListing - Smart and Powerful Directory & Listing WordPress Theme
Version:        1.0
Text Domain:    onelisting-child
*/

:root {
	--dwt-primary: #444752;
	--dwt-primary-hover: #5a5d68;
	--dwt-dark: #000;
	--dwt-dark-hover: #444752;
	--dwt-text: #404040;
	--dwt-text-light: #808080;
	--dwt-heading: #000;
	--dwt-white: #fff;
	--dwt-border: #e9e9e9;
	--dwt-bg-light: #F4F5F6;
	--dwt-bg-gray: #f4f4f4;
	--dwt-shadow: 0 4px 6px rgba(0,0,0,.04);
	--dwt-shadow-hover: 0 4px 6px rgba(0,0,0,.08);
	--dwt-radius: 8px;
	--dwt-radius-lg: 12px;
	--dwt-transition: all .3s ease;
	--directorist-color-primary: var(--dwt-primary);
	--directorist-color-primary-rgb: 68, 71, 82;
	--directorist-color-open-badge: #32cc6f;
	--directorist-color-closed-badge: #e23636;
	--directorist-color-featured-badge: #fa8b0c;
	--directorist-color-popular-badge: #f51957;
	--directorist-color-new-badge: #122069;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
	background: var(--dwt-white);
	color: var(--dwt-text);
	font-family: 'Poppins', 'Open Sans', sans-serif;
	font-weight: 400;
	font-size: 14px;
	line-height: 26px;
	-webkit-font-smoothing: antialiased;
	margin: 0;
}

a { color: var(--dwt-heading); text-decoration: none; transition: var(--dwt-transition); }
a:hover, a:focus { color: var(--dwt-primary); text-decoration: none; outline: 0; }

h1, h2, h3, h4, h5, h6 {
	font-family: 'Poppins', sans-serif;
	color: var(--dwt-heading);
	font-weight: 500;
	line-height: 1.4;
	margin: 0 0 15px;
}
h1 { font-size: 36px; line-height: 1.5; }
h2 { font-size: 30px; line-height: 35px; }
h3 { font-size: 20px; }
h4 { font-size: 18px; line-height: 18px; }
h5 { font-size: 16px; line-height: 22px; }
h6 { font-size: 14px; line-height: 18px; }

p { font-family: 'Open Sans', sans-serif; font-size: 14px; font-weight: 400; line-height: 30px; color: var(--dwt-text-light); margin: 0 0 15px; }

img { max-width: 100%; height: auto; }

/* ========================================
   HEADER - DWT dark style (transparent on homepage)
   ======================================== */
.home #site-header,
.page-id-9 #site-header {
	background: transparent;
	border-bottom: 0;
	box-shadow: none;
	z-index: 99;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
}
.menu-transparent #site-header { position: absolute; }
.home #site-header .theme-header-menu-area,
.page-id-9 #site-header .theme-header-menu-area { min-height: 70px; padding: 15px 0; }
.home #site-header .site-title,
.page-id-9 #site-header .site-title,
.home #site-header .site-title a,
.page-id-9 #site-header .site-title a { color: #fff !important; font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
.home #site-header .theme-menu-action-box,
.page-id-9 #site-header .theme-menu-action-box { gap: 20px; }
.home #site-header .theme-menu-action-box a,
.page-id-9 #site-header .theme-menu-action-box a { color: #fff; }
.home #site-header .theme-menu-action-box a:hover,
.page-id-9 #site-header .theme-menu-action-box a:hover { color: var(--dwt-primary); }
.home #site-header .btn-add-listing,
.page-id-9 #site-header .btn-add-listing,
.directorist-btn,
.directorist-search-form__submit,
.directorist-btn-primary {
	border: 0 !important;
	border-radius: var(--dwt-radius) !important;
	background: #242424 !important;
	color: #fff !important;
	font-weight: 500;
	font-size: 14px;
	line-height: 35px;
	padding: 0 20px;
	text-transform: uppercase;
	transition: var(--dwt-transition);
}
.home #site-header .btn-add-listing:hover,
.page-id-9 #site-header .btn-add-listing:hover,
.directorist-btn:hover,
.directorist-search-form__submit:hover,
.directorist-btn-primary:hover {
	background: var(--dwt-primary) !important;
	border-color: var(--dwt-primary) !important;
	color: #fff !important;
}
#site-header { margin-top: 0; }
#site-header .theme-header-menu-area { min-height: 70px; padding: 15px 0; }

/* ========================================
   HEADER TOP BAR - DWT dark style
   ======================================== */
.header-info-bar {
	background: #000;
	border-bottom: 1px solid rgba(255,255,255,.08);
	font-size: 13px;
	color: #fff;
	padding: 8px 0;
}
.header-info-bar p { margin: 0; font-family: 'Poppins', sans-serif; font-weight: 400; color: #fff; }
.location-selector { position: relative; display: inline-block; }
.location-selector .loc { margin-right: 8px; font-weight: 400; color: #fff; }
.location-selector .dropdown-toggle { color: #fff; padding: 4px 8px; border-radius: 3px; transition: var(--dwt-transition); }
.location-selector .dropdown-toggle:hover { background: rgba(255,255,255,.1); color: #fff; }
.location-selector .dropdown-menu {
	min-width: 180px;
	border: 1px solid rgba(255,255,255,.1);
	border-radius: var(--dwt-radius-lg);
	box-shadow: var(--dwt-shadow);
	background: #000;
	margin-top: 8px;
	padding: 8px 0;
}
.location-selector .dropdown-menu li a {
	padding: 8px 20px;
	font-size: 13px;
	color: #fff;
	transition: var(--dwt-transition);
	display: flex;
	align-items: center;
	gap: 8px;
}
.location-selector .dropdown-menu li a:hover { background: var(--dwt-primary); color: #fff; }
.loc-flag { font-size: 16px; }
.header-social { margin: 0; }
.header-social li { display: inline-block; margin-left: 12px; }
.header-social li a {
	width: 32px; height: 32px; line-height: 32px; text-align: center;
	background: rgba(255,255,255,.08); border-radius: 50%; color: #fff;
	font-size: 13px; transition: var(--dwt-transition);
	display: inline-flex; align-items: center; justify-content: center;
}
.header-social li a:hover { background: var(--dwt-primary); color: #fff; transform: translateY(-2px); }

/* ========================================
   HOMEPAGE SEARCH / HERO - DWT style
   ======================================== */
.page-id-9 .banner,
.page-id-9 .theme-banner-breadcrumb { display: none !important; }
.page-id-9 #primary { padding: 100px 0 120px; background: #f5f5f5; }
.page-id-9 #primary .directorist-search-contents {
	position: relative; max-width: 1170px; margin: 0 auto;
	padding: 80px 50px; border-radius: 5px;
	background: linear-gradient(135deg, rgba(36,36,36,.95) 0%, rgba(36,36,36,.85) 100%);
	box-shadow: 0 10px 50px rgba(0,0,0,.15);
}
.page-id-9 #primary .directorist-search-contents::before {
	content: "Les bonnes adresses, près de chez vous";
	display: block; max-width: 720px; margin: 0 auto 20px;
	color: #fff; font-size: clamp(28px, 5vw, 48px); font-weight: 500;
	line-height: 1.3; text-align: center;
}
.page-id-9 #primary .directorist-search-contents::after {
	content: "Restaurants, artisans, commerces et loisirs en Normandie";
	display: block; margin: 0 auto 40px;
	color: rgba(255,255,255,.8); font-size: 18px; text-align: center;
	font-family: 'Open Sans', sans-serif;
}
.page-id-9 #primary .directorist-search-form-wrap {
	max-width: 940px; margin: 0 auto; padding: 15px; border: 0;
	border-radius: 4px; background: #fff;
	box-shadow: 0 2px 22px rgba(0,0,0,.05);
}
.page-id-9 #primary .directorist-search-form__box { padding: 0; }
.page-id-9 #primary .directorist-search-form__top { gap: 15px; }
.page-id-9 #primary .directorist-search-field,
.page-id-9 #primary .directorist-form-group { margin: 0; }
.page-id-9 #primary .directorist-search-field input,
.page-id-9 #primary .directorist-search-field select,
.page-id-9 #primary .directorist-form-element {
	min-height: 50px; border: 1px solid var(--dwt-border) !important;
	border-radius: var(--dwt-radius) !important; background: #fff;
	color: var(--dwt-text); box-shadow: none !important; padding: 0 20px;
	font-family: 'Open Sans', sans-serif; font-size: 14px;
}
.page-id-9 #primary .directorist-search-form__submit {
	min-height: 50px; padding: 0 30px;
	border-radius: 0 var(--dwt-radius) var(--dwt-radius) 0 !important;
	background: var(--dwt-primary) !important; font-weight: 500;
	text-transform: capitalize;
}
.page-id-9 #primary .directorist-search-form__submit:hover { background: var(--dwt-primary-hover) !important; }
.page-id-9 #primary .directorist-search-contents > h2,
.page-id-9 #primary .directorist-search-contents > h3 { color: #fff; }

/* ========================================
   ARCHIVE LISTING CARDS - DWT style
   ======================================== */
.directorist-archive-grid-view {
	--directorist-archive-grid-gap: 30px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: var(--directorist-archive-grid-gap);
}
.directorist-archive-contents { color: var(--dwt-text); }
.listing-with-sidebar { gap: 30px; }
.listing-with-sidebar__header { margin-bottom: 30px; }
.directorist-listings-header { color: var(--dwt-heading); }

.directorist-listing-single.directorist-listing-card {
	border: 1px solid var(--dwt-border) !important;
	border-radius: var(--dwt-radius-lg) !important;
	background: var(--dwt-white) !important;
	box-shadow: var(--dwt-shadow);
	transition: var(--dwt-transition);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.directorist-listing-single.directorist-listing-card:hover {
	border-color: var(--dwt-primary) !important;
	box-shadow: var(--dwt-shadow-hover);
	transform: translateY(-5px);
}
.directorist-listing-single__thumb { overflow: hidden; position: relative; }
.directorist-listing-single__thumb img {
	width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .5s ease;
}
.directorist-listing-single:hover .directorist-listing-single__thumb img { transform: scale(1.05); }
.directorist-listing-single__content { padding: 20px !important; flex: 1; display: flex; flex-direction: column; }
.directorist-listing-title,
.directorist-listing-title a {
	color: var(--dwt-heading) !important; font-size: 18px !important;
	font-weight: 500 !important; line-height: 1.4; margin-bottom: 8px; display: block;
}
.directorist-listing-title a:hover { color: var(--dwt-primary) !important; }
.directorist-listing-single__info__list {
	color: var(--dwt-text-light); font-family: 'Open Sans', sans-serif;
	font-size: 13px; line-height: 24px; margin-bottom: 12px;
	display: flex; flex-wrap: wrap; gap: 10px;
}
.directorist-listing-single__meta {
	padding-top: 12px; border-top: 1px solid var(--dwt-border); margin-top: auto;
}
.directorist-listing-category a,
.directorist-listing-category span {
	border-radius: var(--dwt-radius); background: var(--dwt-bg-gray);
	color: var(--dwt-dark) !important; font-size: 12px; font-weight: 500;
	padding: 4px 12px; transition: var(--dwt-transition);
	display: inline-block; margin-bottom: 6px;
}
.directorist-listing-category a:hover { background: var(--dwt-primary); color: #fff !important; }

/* Listing badges */
.directorist-badge {
	display: inline-block; padding: 3px 10px; border-radius: var(--dwt-radius);
	font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px;
}
.directorist-badge-featured { background: #ffc107; color: #212121; }
.directorist-badge-verified { background: #28a745; color: #fff; }
.directorist-badge-new { background: var(--dwt-primary); color: #fff; }
.directorist-badge-open { background: #28a745; color: #fff; }
.directorist-badge-closed { background: #dc3545; color: #fff; }
.directorist-badge-pending { background: #ffc107; color: #212121; }

/* Category boxes - DWT catz-boxes style */
.catz-boxes {
	border: 1px solid var(--dwt-border); border-radius: var(--dwt-radius-lg);
	padding: 25px 20px; text-align: center; transition: var(--dwt-transition);
	background: #fff;
}
.catz-boxes:hover {
	border-color: var(--dwt-primary); box-shadow: var(--dwt-shadow-hover);
	transform: translateY(-4px);
}
.catz-boxes .cat-icon {
	width: 80px; height: 80px; border-radius: 50%; background: var(--dwt-bg-gray);
	display: inline-flex; align-items: center; justify-content: center;
	margin: 0 auto 15px; transition: var(--dwt-transition); font-size: 32px;
	color: var(--dwt-primary);
}
.catz-boxes:hover .cat-icon { background: var(--dwt-primary); color: #fff; }
.catz-boxes h4 { font-size: 16px; font-weight: 600; color: var(--dwt-heading); margin-bottom: 4px; }
.catz-boxes p { color: var(--dwt-text-light); font-size: 13px; margin: 0; }

.category-grid-item { text-align: center; transition: var(--dwt-transition); }
.category-grid-item:hover { transform: translateY(-4px); }
.category-grid-item .cat-icon {
	width: 80px; height: 80px; border-radius: 50%; background: var(--dwt-bg-gray);
	display: inline-flex; align-items: center; justify-content: center;
	margin: 0 auto 15px; transition: var(--dwt-transition); font-size: 32px;
	color: var(--dwt-primary);
}
.category-grid-item:hover .cat-icon { background: var(--dwt-primary); color: #fff; }
.category-grid-item h4 { font-size: 16px; font-weight: 600; color: var(--dwt-heading); margin-bottom: 4px; }
.category-grid-item p { color: var(--dwt-text-light); font-size: 13px; margin: 0; }

/* ========================================
   SINGLE LISTING - DWT style
   ======================================== */
.single-at_biz_dir #content,
.single-at_biz_dir .site-content { background: var(--dwt-bg-light); }
.single-at_biz_dir .directorist-single-listing,
.single-at_biz_dir .directorist-single-listing__main,
.single-at_biz_dir .directorist-single-listing__sidebar { color: var(--dwt-text); }
.single-at_biz_dir .directorist-single-listing__main > *,
.single-at_biz_dir .directorist-single-listing__sidebar > * {
	border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg);
	background: #fff;
	box-shadow: var(--dwt-shadow);
	margin-bottom: 30px;
}
.directorist-single-listing-slider,
.directorist-single-listing__header { border-radius: var(--dwt-radius-lg); overflow: hidden; }

/* Single listing header meta (date, ratings, bookmark, views) */
.single-listing-header-meta {
	display: flex; flex-wrap: wrap; align-items: center;
	gap: 15px; margin-top: 15px; color: var(--dwt-text-light);
	font-size: 13px;
}
.single-listing-header-meta li {
	display: flex; align-items: center; gap: 6px;
}
.single-listing-header-meta i { color: var(--dwt-primary); }
.single-listing-header-meta a { color: var(--dwt-text-light); }
.single-listing-header-meta a:hover { color: var(--dwt-primary); }

.bookmark-listing,
.single-listing-bookmark {
	background: var(--dwt-bg-gray); border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius); color: var(--dwt-text);
	padding: 6px 12px; font-size: 13px; font-weight: 500;
	transition: var(--dwt-transition);
	display: inline-flex; align-items: center; gap: 6px; cursor: pointer;
}
.bookmark-listing:hover,
.single-listing-bookmark:hover {
	background: var(--dwt-primary); border-color: var(--dwt-primary); color: #fff;
}
.bookmark-listing i,
.single-listing-bookmark i { color: var(--dwt-primary); }
.bookmark-listing:hover i,
.single-listing-bookmark:hover i { color: #fff; }

.directorist-rating-inline { display: inline-flex; align-items: center; gap: 3px; color: #ffc107; font-size: 13px; }
.rating-counter { color: var(--dwt-text-light); font-size: 12px; margin-left: 4px; }

.theme-single-listing-slider-wrap {
	border-radius: var(--dwt-radius-lg); overflow: hidden;
	margin-bottom: 30px; box-shadow: var(--dwt-shadow);
}
.theme-single-listing-slider { border-radius: var(--dwt-radius-lg); overflow: hidden; }
.theme-single-listing-slider__item img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.directorist-single-listing__header { margin-bottom: 30px; }
.directorist-single-listing-title { font-size: 28px; font-weight: 600; color: var(--dwt-heading); margin-bottom: 8px; }
.directorist-single-listing-category a,
.directorist-single-listing-category span {
	display: inline-block; background: var(--dwt-bg-gray);
	color: var(--dwt-dark) !important; font-size: 12px; font-weight: 600;
	padding: 4px 12px; border-radius: var(--dwt-radius);
	margin-right: 8px; margin-bottom: 8px; transition: var(--dwt-transition);
}
.directorist-single-listing-category a:hover { background: var(--dwt-primary); color: #fff !important; }
.directorist-single-listing-meta {
	display: flex; flex-wrap: wrap; gap: 15px; margin-top: 15px;
	color: var(--dwt-text-light); font-size: 13px;
}
.directorist-single-listing-meta li {
	display: flex; align-items: center; gap: 6px;
}
.directorist-single-listing-meta i { color: var(--dwt-primary); }

/* Single listing sections */
.directorist-single-section {
	background: #fff; border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg); padding: 30px;
	margin-bottom: 30px; box-shadow: var(--dwt-shadow);
}
.directorist-single-section-title {
	font-size: 18px; font-weight: 600; color: var(--dwt-heading);
	margin-bottom: 20px; padding-bottom: 12px;
	border-bottom: 1px solid var(--dwt-border); position: relative;
}
.directorist-single-section-title::before {
	content: ""; position: absolute; bottom: -1px; left: 0;
	width: 40px; height: 2px; background: var(--dwt-primary);
}
.directorist-single-field { margin-bottom: 20px; }
.directorist-single-field-label {
	font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600;
	color: var(--dwt-heading); margin-bottom: 6px; display: block;
}
.directorist-single-field-value { color: var(--dwt-text); font-size: 14px; line-height: 1.6; }
.directorist-single-field-value a { color: var(--dwt-primary); }
.directorist-single-field-value a:hover { text-decoration: underline; }

/* Single listing top actions */
.directorist-single-listing-top {
	padding: 20px 0; border-bottom: 1px solid var(--dwt-border); margin-bottom: 30px;
}
.directorist-single-listing-action {
	border-radius: var(--dwt-radius) !important;
	padding: 8px 16px !important; font-size: 13px !important;
	font-weight: 500 !important; font-family: 'Poppins', sans-serif;
	transition: var(--dwt-transition);
}
.directorist-btn-light {
	background: var(--dwt-bg-gray) !important;
	border: 1px solid var(--dwt-border) !important;
	color: var(--dwt-text) !important;
}
.directorist-btn-light:hover {
	background: var(--dwt-primary) !important;
	border-color: var(--dwt-primary) !important; color: #fff !important;
}
.directorist-btn__back { background: var(--dwt-bg-gray) !important; border-color: var(--dwt-border) !important; }
.directorist-btn__back:hover {
	background: var(--dwt-primary) !important;
	border-color: var(--dwt-primary) !important; color: #fff !important;
}
.directorist-single-listing-action__text { margin-left: 6px; }
.directorist-single-listing-quick-action { display: flex; gap: 10px; }

/* Single listing tabs */
.directorist-single-listing-tabs {
	border-bottom: 2px solid var(--dwt-border); margin-bottom: 30px;
}
.directorist-single-listing-tabs .nav-link {
	background: transparent; border: 0;
	border-bottom: 2px solid transparent;
	color: var(--dwt-text-light);
	font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500;
	padding: 12px 20px; margin-right: 8px; border-radius: 0;
	transition: var(--dwt-transition);
}
.directorist-single-listing-tabs .nav-link:hover,
.directorist-single-listing-tabs .nav-link.active {
	color: var(--dwt-primary);
	border-bottom-color: var(--dwt-primary); background: transparent;
}
.directorist-single-listing-tabs .nav-link i { margin-right: 8px; }

/* ========================================
   ARCHIVE HEADER BAR & FILTERS
   ======================================== */
.directorist-header-bar {
	background: #fff; border-bottom: 1px solid var(--dwt-border);
	padding: 15px 0; margin-bottom: 30px;
}
.directorist-listings-header {
	display: flex; align-items: center; justify-content: space-between;
	flex-wrap: wrap; gap: 15px;
}
.directorist-listings-header__left { display: flex; align-items: center; gap: 15px; }
.directorist-listings-header__right { display: flex; align-items: center; gap: 15px; }
.directorist-listings-header__actions { display: flex; align-items: center; gap: 10px; }
.directorist-filter-btn {
	background: var(--dwt-bg-gray) !important;
	border: 1px solid var(--dwt-border) !important;
	color: var(--dwt-text) !important;
	border-radius: var(--dwt-radius) !important;
	padding: 8px 16px !important;
	font-size: 13px !important; font-weight: 500 !important;
}
.directorist-filter-btn:hover {
	background: var(--dwt-primary) !important;
	border-color: var(--dwt-primary) !important; color: #fff !important;
}
.directorist-listings-header__left .directorist-btn {
	font-weight: 500; color: var(--dwt-heading);
}
.directorist-listings-header__left .directorist-btn:hover { color: var(--dwt-primary); }

/* Sort Dropdown */
.directorist-sortby-dropdown .directorist-dropdown__toggle {
	background: var(--dwt-bg-gray) !important;
	border: 1px solid var(--dwt-border) !important;
	color: var(--dwt-text) !important;
	border-radius: var(--dwt-radius) !important;
	padding: 8px 16px !important;
	font-size: 13px !important; font-weight: 500 !important;
	font-family: 'Poppins', sans-serif;
}
.directorist-sortby-dropdown .directorist-dropdown__toggle:hover {
	background: var(--dwt-primary) !important;
	border-color: var(--dwt-primary) !important; color: #fff !important;
}
.directorist-sortby-dropdown .directorist-icon-caret { margin-left: 8px; }
.directorist-dropdown__links {
	background: #fff; border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg);
	box-shadow: var(--dwt-shadow-hover);
	padding: 8px 0; margin-top: 8px; min-width: 180px;
}
.directorist-dropdown__links__single {
	display: block; padding: 8px 20px; font-size: 13px;
	color: var(--dwt-text); transition: var(--dwt-transition);
}
.directorist-dropdown__links__single:hover,
.directorist-dropdown__links__single.active {
	background: var(--dwt-primary); color: #fff;
}

/* View Mode Dropdown */
.directorist-viewas { display: flex; align-items: center; gap: 8px; }
.directorist-viewas__item {
	width: 36px; height: 36px;
	display: inline-flex; align-items: center; justify-content: center;
	background: var(--dwt-bg-gray); border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius); color: var(--dwt-text-light);
	font-size: 14px; transition: var(--dwt-transition);
}
.directorist-viewas__item:hover,
.directorist-viewas__item.active {
	background: var(--dwt-primary); border-color: var(--dwt-primary); color: #fff;
}
.directorist-archive-sidebar-toggle {
	background: var(--dwt-bg-gray) !important;
	border: 1px solid var(--dwt-border) !important;
	color: var(--dwt-text) !important;
	border-radius: var(--dwt-radius) !important;
	padding: 8px 16px !important;
	font-size: 13px !important; font-weight: 500 !important;
}
.directorist-archive-sidebar-toggle:hover {
	background: var(--dwt-primary) !important;
	border-color: var(--dwt-primary) !important; color: #fff !important;
}

/* Sidebar widgets */
.directorist-archive-sidebar,
.directorist-archive-sidebar__widget,
.directorist-archive-sidebar .directorist-widget {
	border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg);
}
.directorist-archive-sidebar .directorist-widget,
.directorist-archive-sidebar .directorist-search-form { background: #fff; }

.sidebar .widget {
	background: #fff; border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg);
	padding: 25px; margin-bottom: 30px; box-shadow: var(--dwt-shadow);
}
.sidebar .widget-title {
	font-size: 16px; font-weight: 500; color: var(--dwt-heading);
	margin-bottom: 20px; padding-bottom: 12px;
	border-bottom: 2px solid var(--dwt-primary); position: relative;
}
.sidebar .widget-title::before {
	content: ""; position: absolute; bottom: -2px; left: 0;
	width: 40px; height: 2px; background: var(--dwt-primary);
}
.sidebar .nav > li > a {
	color: var(--dwt-text); padding: 10px 15px;
	border-radius: var(--dwt-radius); transition: var(--dwt-transition);
	display: block;
}
.sidebar .nav > li > a:hover,
.sidebar .nav > li > a:focus,
.sidebar .nav > li > a.active {
	background: var(--dwt-primary); color: #fff;
}
.sidebar .nav > li > a:hover i,
.sidebar .nav > li > a:focus i,
.sidebar .nav > li > a.active i { color: #fff; }

/* ========================================
   SINGLE LISTING SLIDER / SWIPER
   ======================================== */
.theme-swiper-pagination { bottom: 15px !important; }
.theme-swiper-pagination .swiper-pagination-bullet {
	background: rgba(255,255,255,.6) !important; opacity: 1;
	width: 10px; height: 10px; margin: 0 4px !important;
	border-radius: 50%; transition: var(--dwt-transition);
}
.theme-swiper-pagination .swiper-pagination-bullet-active {
	background: var(--dwt-primary) !important; transform: scale(1.2);
}
.theme-swiper-button-nav {
	width: 44px; height: 44px;
	background: rgba(255,255,255,.9) !important; border-radius: 50%;
	color: var(--dwt-heading) !important; box-shadow: var(--dwt-shadow);
	transition: var(--dwt-transition);
	display: flex !important; align-items: center; justify-content: center;
}
.theme-swiper-button-nav:hover {
	background: var(--dwt-primary) !important; color: #fff !important;
	transform: scale(1.1);
}
.theme-swiper-button-nav::after { font-size: 18px !important; font-weight: 600; }
.theme-single-listing-see-all { position: absolute; bottom: 15px; right: 15px; z-index: 10; }
.btn-listing-see-all {
	background: rgba(255,255,255,.95) !important; border: 0 !important;
	border-radius: var(--dwt-radius) !important;
	padding: 8px 16px !important; font-size: 13px !important;
	font-weight: 500 !important; color: var(--dwt-heading) !important;
	box-shadow: var(--dwt-shadow);
}
.btn-listing-see-all:hover {
	background: var(--dwt-primary) !important; color: #fff !important;
}

/* ========================================
   REVIEWS
   ======================================== */
.directorist-review-item {
	border-bottom: 1px solid var(--dwt-border); padding: 25px 0;
}
.directorist-review-item:last-child { border-bottom: 0; padding-bottom: 0; }
.directorist-review-header {
	display: flex; justify-content: space-between; margin-bottom: 12px;
}
.directorist-review-author { display: flex; align-items: center; gap: 12px; }
.directorist-review-author img {
	width: 48px; height: 48px; border-radius: 50%; object-fit: cover;
}
.directorist-review-author-name {
	font-weight: 600; color: var(--dwt-heading); font-size: 14px;
}
.directorist-review-date { color: var(--dwt-text-light); font-size: 12px; }
.directorist-review-rating { color: #ffc107; font-size: 14px; }
.directorist-review-content {
	color: var(--dwt-text); line-height: 1.8; font-size: 14px;
}
.directorist-review-reply {
	margin-top: 15px; padding: 15px;
	background: var(--dwt-bg-light); border-radius: var(--dwt-radius);
	border-left: 3px solid var(--dwt-primary);
}

/* Rating stars */
.directorist-rating { display: inline-flex; align-items: center; gap: 8px; }
.directorist-rating-stars { color: #ffc107; font-size: 14px; }
.directorist-rating-value {
	font-family: 'Poppins', sans-serif; font-size: 24px; font-weight: 700;
	color: var(--dwt-heading); line-height: 1;
}
.directorist-rating-count { color: var(--dwt-text-light); font-size: 13px; }

/* ========================================
   MAP
   ======================================== */
.directorist-map-wrap {
	border-radius: var(--dwt-radius-lg); overflow: hidden;
	margin-bottom: 30px; box-shadow: var(--dwt-shadow);
}
.directorist-map { height: 400px; width: 100%; }
.directorist-map .leaflet-container { border-radius: var(--dwt-radius-lg); }

/* ========================================
   CLAIM LISTING
   ======================================== */
.directorist-claim-listing {
	background: var(--dwt-bg-light); border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg); padding: 25px; margin-top: 30px;
}
.directorist-claim-listing-title {
	font-size: 16px; font-weight: 600; color: var(--dwt-heading);
	margin-bottom: 10px;
}
.directorist-claim-listing-text {
	color: var(--dwt-text-light); font-size: 14px; margin-bottom: 15px;
}

/* ========================================
   RELATED LISTINGS
   ======================================== */
.directorist-similar-properties {
	margin-top: 50px; padding-top: 30px; border-top: 1px solid var(--dwt-border);
}
.directorist-similar-properties-title {
	font-size: 22px; font-weight: 600; color: var(--dwt-heading);
	margin-bottom: 25px; position: relative; padding-bottom: 12px;
}
.directorist-similar-properties-title::before {
	content: ""; position: absolute; bottom: 0; left: 0;
	width: 50px; height: 3px; background: var(--dwt-primary); border-radius: 2px;
}

/* ========================================
   HOW IT WORKS
   ======================================== */
.how-it-work-item { text-align: center; padding: 30px 20px; }
.how-it-work-number {
	width: 60px; height: 60px; border-radius: 50%;
	background: var(--dwt-primary); color: #fff;
	font-family: 'Poppins', sans-serif; font-size: 24px; font-weight: 700;
	display: flex; align-items: center; justify-content: center;
	margin: 0 auto 20px;
}
.how-it-work-title {
	font-size: 18px; font-weight: 600; color: var(--dwt-heading);
	margin-bottom: 10px;
}
.how-it-work-desc {
	color: var(--dwt-text-light); font-size: 14px; line-height: 1.7;
}

/* ========================================
   CTA SECTION
   ======================================== */
.cta-section {
	background: linear-gradient(135deg, var(--dwt-dark) 0%, #1a1a1a 100%);
	border-radius: var(--dwt-radius-lg); padding: 60px;
	text-align: center; color: #fff;
}
.cta-section h2 { color: #fff; font-size: 32px; font-weight: 600; margin-bottom: 15px; }
.cta-section p {
	color: rgba(255,255,255,.7); font-size: 16px;
	max-width: 600px; margin: 0 auto 30px;
}
.cta-section .btn {
	background: var(--dwt-primary) !important;
	border-color: var(--dwt-primary) !important; color: #fff !important;
	padding: 14px 36px; font-size: 14px;
}
.cta-section .btn:hover {
	background: var(--dwt-primary-hover) !important;
	border-color: var(--dwt-primary-hover) !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(229,45,39,.3);
}

/* ========================================
   PAGINATION
   ======================================== */
.pagination { margin: 30px 0; }
.pagination > li { display: inline-block; margin: 0 5px; }
.pagination > li > a,
.pagination > li > span {
	background: var(--dwt-border);
	border: 1px solid var(--dwt-border);
	color: #777; font-size: 14px; font-weight: 500;
	padding: 10px 16px; border-radius: var(--dwt-radius);
	transition: var(--dwt-transition);
}
.pagination > li > a:hover,
.pagination > .active > a,
.pagination > .active > span {
	background: var(--dwt-primary);
	border-color: var(--dwt-primary); color: #fff;
}

/* ========================================
   BLOG / NEWS
   ======================================== */
.blog-post-card {
	background: #fff; border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg); overflow: hidden;
	transition: var(--dwt-transition);
}
.blog-post-card:hover {
	border-color: var(--dwt-primary); box-shadow: var(--dwt-shadow-hover);
	transform: translateY(-4px);
}
.blog-post-thumb { position: relative; overflow: hidden; }
.blog-post-thumb img {
	width: 100%; aspect-ratio: 16/9; object-fit: cover;
	transition: transform .5s ease;
}
.blog-post-card:hover .blog-post-thumb img { transform: scale(1.05); }
.blog-post-category {
	position: absolute; top: 15px; left: 15px;
	background: var(--dwt-primary); color: #fff;
	font-size: 11px; font-weight: 600; padding: 4px 12px;
	border-radius: var(--dwt-radius);
	text-transform: uppercase; letter-spacing: .5px;
}
.blog-post-content { padding: 25px; }
.blog-post-meta {
	display: flex; gap: 15px; margin-bottom: 12px;
	color: var(--dwt-text-light); font-size: 12px;
}
.blog-post-meta i { color: var(--dwt-primary); margin-right: 4px; }
.blog-post-title {
	font-size: 20px; font-weight: 600; color: var(--dwt-heading);
	margin-bottom: 12px; line-height: 1.3;
}
.blog-post-title a:hover { color: var(--dwt-primary); }
.blog-post-excerpt {
	color: var(--dwt-text-light); font-size: 14px;
	line-height: 1.7; margin-bottom: 20px;
}
.blog-post-readmore {
	font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 500;
	color: var(--dwt-primary); display: inline-flex;
	align-items: center; gap: 6px; transition: var(--dwt-transition);
}
.blog-post-readmore:hover { gap: 10px; }

/* ========================================
   PRICING / PACKAGES
   ======================================== */
.pricing-card {
	background: #fff; border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg); padding: 40px 30px;
	transition: var(--dwt-transition); position: relative;
}
.pricing-card:hover {
	border-color: var(--dwt-primary); box-shadow: var(--dwt-shadow-hover);
	transform: translateY(-4px);
}
.pricing-card.featured {
	border-color: var(--dwt-primary); box-shadow: var(--dwt-shadow-hover);
}
.pricing-card.featured::before {
	content: "Populaire"; position: absolute; top: -12px; left: 50%;
	transform: translateX(-50%); background: var(--dwt-primary); color: #fff;
	font-size: 11px; font-weight: 600; padding: 4px 16px;
	border-radius: var(--dwt-radius); text-transform: uppercase; letter-spacing: .5px;
}
.pricing-card-title {
	font-size: 18px; font-weight: 600; color: var(--dwt-heading);
	margin-bottom: 10px;
}
.pricing-card-price {
	font-family: 'Poppins', sans-serif; font-size: 42px;
	font-weight: 700; color: var(--dwt-heading); margin-bottom: 5px;
}
.pricing-card-price span {
	font-size: 16px; font-weight: 400; color: var(--dwt-text-light);
}
.pricing-card-period {
	color: var(--dwt-text-light); font-size: 13px; margin-bottom: 25px;
}
.pricing-card-features { list-style: none; padding: 0; margin: 0 0 30px; }
.pricing-card-features li {
	display: flex; align-items: center; gap: 10px;
	padding: 10px 0; color: var(--dwt-text);
	font-size: 14px; border-bottom: 1px solid var(--dwt-border);
}
.pricing-card-features li:last-child { border-bottom: 0; }
.pricing-card-features i { color: var(--dwt-primary); font-size: 14px; }
.pricing-card .btn {
	width: 100%; padding: 12px; text-transform: uppercase;
	font-weight: 500; letter-spacing: .5px;
}

/* ========================================
   FORM ELEMENTS
   ======================================== */
input, select, textarea, .directorist-form-element {
	border: 1px solid var(--dwt-border) !important;
	border-radius: var(--dwt-radius) !important; background: #fff;
	color: var(--dwt-text); box-shadow: none !important;
	padding: 10px 15px; font-family: 'Open Sans', sans-serif;
	font-size: 14px; transition: var(--dwt-transition);
}
input:focus, select:focus, textarea:focus,
.directorist-form-element:focus {
	border-color: var(--dwt-primary) !important;
	box-shadow: 0 0 0 3px rgba(229,45,39,.15) !important; outline: 0;
}

.btn, .button {
	padding: 10px 20px; font-size: 14px; font-weight: 500;
	border-radius: var(--dwt-radius); border: 1px solid transparent;
	transition: var(--dwt-transition); cursor: pointer;
}
.btn-primary, .btn-theme {
	background: var(--dwt-dark); border-color: var(--dwt-dark); color: #fff;
}
.btn-primary:hover, .btn-theme:hover,
.btn-primary:focus, .btn-theme:focus,
.btn-primary:active, .btn-theme:active {
	background: var(--dwt-primary); border-color: var(--dwt-primary); color: #fff;
}

/* ========================================
   HEADER SEARCH TRIGGER / LOGIN
   ======================================== */
.theme-menu-action-box__search--trigger {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: var(--dwt-radius-lg);
	background: var(--dwt-bg-gray); color: var(--dwt-text);
	font-size: 16px; transition: var(--dwt-transition);
}
.theme-menu-action-box__search--trigger:hover {
	background: var(--dwt-primary); color: #fff; transform: translateY(-2px);
}

.theme-menu-action-box__login--modal .btn {
	border-radius: var(--dwt-radius) !important;
	padding: 0 20px !important; font-size: 13px !important;
	line-height: 34px !important; font-weight: 500 !important;
	text-transform: uppercase !important;
	border: 1px solid var(--dwt-border) !important;
	background: transparent !important; color: var(--dwt-text) !important;
}
.theme-menu-action-box__login--modal .btn:hover {
	background: var(--dwt-primary) !important;
	border-color: var(--dwt-primary) !important; color: #fff !important;
}
.theme-menu-action-box__login--modal .btn i { margin-left: 6px; }

/* ========================================
   SEARCH MODAL
   ======================================== */
.dspb-search-modal {
	position: fixed; top: 0; left: 0;
	width: 100%; height: 100%; background: rgba(0,0,0,.8);
	z-index: 9999; display: flex;
	align-items: center; justify-content: center;
	opacity: 0; visibility: hidden; transition: var(--dwt-transition);
}
.dspb-search-modal.active { opacity: 1; visibility: visible; }
.dspb-search-modal .search-form-wrap {
	background: #fff; border-radius: var(--dwt-radius-lg);
	padding: 40px; max-width: 600px; width: 90%;
	box-shadow: var(--dwt-shadow-hover);
}
.dspb-search-modal .search-form-wrap input {
	width: 100%; border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius); padding: 15px 20px;
	font-size: 18px; font-family: 'Open Sans', sans-serif;
}
.dspb-search-modal .search-form-wrap input:focus {
	border-color: var(--dwt-primary);
	box-shadow: 0 0 0 3px rgba(229,45,39,.15); outline: 0;
}
.dspb-search-modal .search-close {
	position: absolute; top: 30px; right: 30px;
	width: 44px; height: 44px; border-radius: 50%;
	background: rgba(255,255,255,.1); color: #fff; border: 0;
	font-size: 20px; cursor: pointer; transition: var(--dwt-transition);
	display: flex; align-items: center; justify-content: center;
}
.dspb-search-modal .search-close:hover { background: var(--dwt-primary); }

/* ========================================
   MODALS & LIGHTBOX
   ======================================== */
.dspb-modal,
.dspb-lightbox {
	position: fixed; top: 0; left: 0;
	width: 100%; height: 100%; background: rgba(0,0,0,.8);
	z-index: 9999; display: flex;
	align-items: center; justify-content: center;
	opacity: 0; visibility: hidden; transition: var(--dwt-transition);
}
.dspb-modal.active,
.dspb-lightbox.active { opacity: 1; visibility: visible; }
.dspb-modal-content {
	background: #fff; border-radius: var(--dwt-radius-lg);
	padding: 40px; max-width: 500px; width: 90%;
	max-height: 90vh; overflow-y: auto;
	box-shadow: var(--dwt-shadow-hover); position: relative;
}
.dspb-modal-close,
.dspb-lightbox-close {
	position: absolute; top: 15px; right: 15px;
	width: 36px; height: 36px; border-radius: 50%;
	background: var(--dwt-bg-gray); color: var(--dwt-text);
	border: 0; font-size: 16px; cursor: pointer;
	transition: var(--dwt-transition);
	display: flex; align-items: center; justify-content: center;
}
.dspb-modal-close:hover,
.dspb-lightbox-close:hover { background: var(--dwt-primary); color: #fff; }
.dspb-modal-content h3 { font-size: 22px; font-weight: 600; color: var(--dwt-heading); margin-bottom: 8px; }
.dspb-modal-content p { color: var(--dwt-text-light); margin-bottom: 25px; }
.dspb-modal-content .form-group { margin-bottom: 20px; }
.dspb-modal-content label {
	font-family: 'Poppins', sans-serif; font-size: 13px; font-weight: 600;
	color: var(--dwt-heading); margin-bottom: 6px; display: block;
}
.dspb-modal-content .form-control {
	border: 1px solid var(--dwt-border) !important;
	border-radius: var(--dwt-radius) !important;
	padding: 12px 15px; font-size: 14px;
	font-family: 'Open Sans', sans-serif;
}
.dspb-modal-content .form-control:focus {
	border-color: var(--dwt-primary) !important;
	box-shadow: 0 0 0 3px rgba(229,45,39,.15) !important;
}
.dspb-modal-content .btn {
	width: 100%; padding: 12px; font-weight: 500;
	text-transform: uppercase; letter-spacing: .5px;
}

.dspb-lightbox-content { max-width: 90vw; max-height: 80vh; }
.dspb-lightbox-content img {
	max-width: 100%; max-height: 80vh; border-radius: var(--dwt-radius);
}
.dspb-lightbox-prev,
.dspb-lightbox-next {
	position: absolute; top: 50%; transform: translateY(-50%);
	width: 56px; height: 56px; border-radius: 50%;
	background: rgba(255,255,255,.9); color: var(--dwt-heading);
	border: 0; font-size: 20px; cursor: pointer;
	transition: var(--dwt-transition);
	display: flex; align-items: center; justify-content: center;
	box-shadow: var(--dwt-shadow); z-index: 10;
}
.dspb-lightbox-prev { left: 20px; }
.dspb-lightbox-next { right: 20px; }
.dspb-lightbox-prev:hover,
.dspb-lightbox-next:hover { background: var(--dwt-primary); color: #fff; }
.dspb-lightbox-counter {
	position: absolute; bottom: 20px; left: 50%;
	transform: translateX(-50%);
	background: rgba(0,0,0,.7); color: #fff;
	padding: 8px 16px; border-radius: var(--dwt-radius);
	font-size: 13px; font-weight: 500;
}

/* ========================================
   FOOTER - DWT Listing style
   ======================================== */
.site-footer {
	background: var(--dwt-dark); color: #fff;
	padding: 60px 0 0; font-family: 'Open Sans', sans-serif;
}
.site-footer a { color: #fff; transition: var(--dwt-transition); }
.site-footer a:hover { color: var(--dwt-primary); }
.site-footer .widget-title {
	font-family: 'Poppins', sans-serif; font-size: 16px;
	font-weight: 500; color: #fff; margin-bottom: 25px;
	padding-bottom: 12px; position: relative;
}
.site-footer .widget-title::before {
	content: ""; position: absolute; bottom: 0; left: 0;
	width: 40px; height: 2px; background: var(--dwt-primary);
}
.site-footer .widget_text p { color: #bbb; line-height: 28px; }
.site-footer .widget_nav_menu ul { list-style: none; padding: 0; margin: 0; }
.site-footer .widget_nav_menu li { margin-bottom: 12px; }
.site-footer .widget_nav_menu li a {
	color: #bbb; font-size: 14px; transition: var(--dwt-transition);
	display: inline-block;
}
.site-footer .widget_nav_menu li a:hover {
	color: var(--dwt-primary); transform: translateX(4px);
}
.site-footer .widget_nav_menu li a::before {
	content: "\f105"; font-family: "Font Awesome 5 Free";
	font-weight: 600; margin-right: 8px; font-size: 12px;
	color: var(--dwt-primary);
}

.theme-footer-bottom-area {
	background: rgba(0,0,0,.2); margin-top: 50px; padding: 25px 0;
}
.theme-copyright-text { font-size: 14px; color: #999; margin: 0; }
.footer-social { margin: 0; padding: 0; }
.footer-social li { display: inline-block; margin: 0 6px; }
.footer-social li a {
	width: 36px; height: 36px; line-height: 36px; text-align: center;
	background: rgba(255,255,255,.05); border-radius: 50%; color: #fff;
	font-size: 14px; transition: var(--dwt-transition);
	display: inline-flex; align-items: center; justify-content: center;
}
.footer-social li a:hover {
	background: var(--dwt-primary); color: #fff; transform: translateY(-3px);
}

/* ========================================
   STICKY SIDEBAR
   ======================================== */
.directorist-single-listing__sidebar.sticky {
	position: fixed; top: 100px; width: inherit; max-width: 100%; z-index: 100;
}
@media (max-width: 991px) {
	.directorist-single-listing__sidebar.sticky { position: static; width: auto; }
}

/* ========================================
   LOADING / SKELETON
   ======================================== */
.directorist-skeleton {
	background: linear-gradient(90deg, var(--dwt-bg-gray) 25%, var(--dwt-border) 50%, var(--dwt-bg-gray) 75%);
	background-size: 200% 100%; animation: shimmer 1.5s infinite; border-radius: var(--dwt-radius);
}
@keyframes shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }

/* ========================================
   EMPTY STATE
   ======================================== */
.directorist-empty-state { text-align: center; padding: 80px 20px; }
.directorist-empty-state-icon {
	width: 100px; height: 100px; border-radius: 50%;
	background: var(--dwt-bg-gray); display: inline-flex;
	align-items: center; justify-content: center; font-size: 40px;
	color: var(--dwt-text-light); margin-bottom: 25px;
}
.directorist-empty-state-title {
	font-size: 22px; font-weight: 600; color: var(--dwt-heading); margin-bottom: 10px;
}
.directorist-empty-state-text {
	color: var(--dwt-text-light); font-size: 15px;
	max-width: 400px; margin: 0 auto 30px; line-height: 1.6;
}

/* ========================================
   RESPONSIVE
   ======================================== */
@media (max-width: 1199px) {
	.page-id-9 #primary .directorist-search-contents { padding: 60px 30px; }
	.page-id-9 #primary .directorist-search-contents::before { font-size: clamp(24px, 4vw, 36px); }
}
@media (max-width: 991px) {
	#site-header .theme-header-menu-area { min-height: 60px; padding: 12px 0; }
	#site-header .site-title { font-size: 22px; }
	.page-id-9 #primary { padding: 60px 0 80px; }
	.listing-with-sidebar { flex-direction: column; }
	.directorist-archive-sidebar { width: 100%; }
	.header-info-bar .col-md-6:first-child { margin-bottom: 8px; }
	.header-info-bar .header-social { float: none !important; text-align: left; }
}
@media (max-width: 767px) {
	#site-header .theme-header-menu-area { min-height: 55px; }
	#site-header .site-title { font-size: 20px; }
	#site-header .btn-add-listing { padding: 0 15px; font-size: 13px; }
	.page-id-9 #primary { padding: 40px 0 60px; }
	.page-id-9 #primary .directorist-search-contents {
		padding: 40px 20px 25px; border-radius: var(--dwt-radius-lg);
	}
	.page-id-9 #primary .directorist-search-contents::before {
		margin-bottom: 12px; font-size: 24px;
	}
	.page-id-9 #primary .directorist-search-contents::after {
		margin-bottom: 25px; font-size: 14px;
	}
	.page-id-9 #primary .directorist-search-form-wrap {
		padding: 12px; border-radius: var(--dwt-radius);
	}
	.page-id-9 #primary .directorist-search-form__top {
		display: grid; grid-template-columns: 1fr; gap: 12px;
	}
	.page-id-9 #primary .directorist-search-field,
	.page-id-9 #primary .directorist-form-group { width: 100%; }
	.page-id-9 #primary .directorist-search-form__submit {
		width: 100%; border-radius: var(--dwt-radius) !important; padding: 0 20px;
	}
	.directorist-listing-single__content { padding: 16px !important; }
	.directorist-listing-title { font-size: 16px !important; }
	.directorist-archive-grid-view { grid-template-columns: 1fr; }
	.site-footer { padding: 40px 0 0; }
	.theme-footer-bottom-area { margin-top: 30px; padding: 20px 0; }
	.theme-footer-bottom-area .row > div { text-align: center !important; }
	.footer-social { margin-top: 15px; }
	.header-info-bar { padding: 6px 0; font-size: 12px; }
	.header-info-bar p { display: none; }
	.location-selector .loc { display: none; }
	.header-social li { margin-left: 8px; }
	.header-social li a { width: 28px; height: 28px; line-height: 28px; font-size: 12px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
	}
}

/* ========================================
   HOME PAGE SECTIONS - DWT style
   ======================================== */

/* Hero Search */
.home-hero-section { padding: 100px 0 120px; background: #f5f5f5; position: relative; }
.home-hero-wrap { max-width: 1170px; margin: 0 auto; padding: 80px 50px; border-radius: 5px; background: linear-gradient(135deg, rgba(36,36,36,.95) 0%, rgba(36,36,36,.85) 100%); box-shadow: 0 10px 50px rgba(0,0,0,.15); text-align: center; }
.home-hero-title { color: #fff; font-size: clamp(28px, 5vw, 48px); font-weight: 500; line-height: 1.3; margin-bottom: 20px; }
.home-hero-subtitle { color: rgba(255,255,255,.8); font-size: 18px; margin-bottom: 40px; font-family: 'Open Sans', sans-serif; }
.home-hero-search { max-width: 940px; margin: 0 auto; }

/* Categories Section */
.home-categories-section { padding: 60px 0; }
.section-title { font-size: 30px; font-weight: 500; color: var(--dwt-heading); margin-bottom: 10px; font-family: 'Poppins', sans-serif; }
.section-subtitle { color: var(--dwt-text-light); font-size: 16px; margin-bottom: 40px; font-family: 'Open Sans', sans-serif; }

/* Top Rated Section */
.home-top-rated-section { padding: 60px 0; background: var(--dwt-bg-light); }

/* How It Works Section */
.home-how-it-work-section { padding: 60px 0; }
.home-how-it-work-section .section-title { margin-bottom: 10px; }

/* CTA Section */
.home-cta-section { padding: 60px 0; }

/* Stats Section */
.home-stats-section { padding: 60px 0; }
.stat-card {
	background: #fff;
	border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg);
	padding: 30px 20px;
	text-align: center;
	box-shadow: var(--dwt-shadow);
	transition: var(--dwt-transition);
}
.stat-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--dwt-shadow-hover);
	border-color: var(--dwt-primary);
}
.stat-number {
	font-size: 36px;
	font-weight: 700;
	color: var(--dwt-primary);
	font-family: 'Poppins', sans-serif;
	margin-bottom: 10px;
	display: block;
}
.stat-label {
	font-size: 14px;
	color: var(--dwt-text-light);
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 500;
}

/* Testimonials Section */
.home-testimonials-section { padding: 60px 0; }
.testimonial-card {
	background: #fff;
	border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg);
	padding: 30px;
	box-shadow: var(--dwt-shadow);
	transition: var(--dwt-transition);
	height: 100%;
}
.testimonial-card:hover {
	transform: translateY(-5px);
	box-shadow: var(--dwt-shadow-hover);
	border-color: var(--dwt-primary);
}
.testimonial-rating {
	color: #ffc107;
	font-size: 16px;
	margin-bottom: 15px;
}
.testimonial-text {
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
	color: var(--dwt-text);
	line-height: 1.8;
	font-style: italic;
	margin-bottom: 20px;
}
.testimonial-author {
	display: flex;
	align-items: center;
	gap: 12px;
	border-top: 1px solid var(--dwt-border);
	padding-top: 20px;
}
.testimonial-name {
	font-family: 'Poppins', sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: var(--dwt-heading);
	margin: 0;
}
.testimonial-location {
	font-size: 12px;
	color: var(--dwt-text-light);
}

/* Blog Modern Section */
.home-blog-section { padding: 60px 0; }
.blog-card-modern {
	background: #fff;
	border: 1px solid var(--dwt-border);
	border-radius: var(--dwt-radius-lg);
	overflow: hidden;
	box-shadow: var(--dwt-shadow);
	transition: var(--dwt-transition);
	height: 100%;
	display: flex;
	flex-direction: column;
}
.blog-card-modern:hover {
	transform: translateY(-5px);
	box-shadow: var(--dwt-shadow-hover);
	border-color: var(--dwt-primary);
}
.blog-thumb-modern {
	position: relative;
	overflow: hidden;
	height: 200px;
}
.blog-thumb-modern img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
.blog-card-modern:hover .blog-thumb-modern img {
	transform: scale(1.05);
}
.blog-category-modern {
	display: inline-block;
	background: var(--dwt-primary);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 4px 12px;
	border-radius: var(--dwt-radius);
	margin-bottom: 12px;
}
.blog-title-modern {
	font-family: 'Poppins', sans-serif;
	font-size: 18px;
	font-weight: 600;
	color: var(--dwt-heading);
	margin-bottom: 10px;
	line-height: 1.4;
}
.blog-title-modern a { color: var(--dwt-heading); }
.blog-title-modern a:hover { color: var(--dwt-primary); }
.blog-excerpt-modern {
	font-family: 'Open Sans', sans-serif;
	font-size: 14px;
	color: var(--dwt-text-light);
	line-height: 1.8;
	margin-bottom: 15px;
}
.blog-readmore-modern {
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	font-weight: 500;
	color: var(--dwt-primary);
	text-decoration: none;
	transition: var(--dwt-transition);
}
.blog-readmore-modern:hover {
	color: var(--dwt-primary-hover);
	padding-left: 5px;
}

/* Responsive */
@media (max-width: 991px) {
	.home-hero-wrap { padding: 60px 30px; }
	.home-hero-title { font-size: clamp(24px, 4vw, 36px); }
	.home-hero-subtitle { font-size: 16px; margin-bottom: 30px; }
	.stat-card { padding: 25px 15px; }
	.stat-number { font-size: 28px; }
	.testimonial-card, .blog-card-modern { padding: 25px; }
}

/* ========================================
   PRINT STYLES
   ======================================== */
@media print {
	.header-info-bar, #site-header, .site-footer, .btn,
	.directorist-single-listing-top,
	.directorist-single-listing-tabs, .directorist-single-listing__sidebar,
	.dspb-search-modal, .dspb-modal, .dspb-lightbox { display: none !important; }
	.directorist-single-listing__main { width: 100% !important; }
	body { background: #fff !important; color: #000 !important; }
	.directorist-single-section {
		border: 1px solid #ddd !important; box-shadow: none !important;
		page-break-inside: avoid;
	}
}

/* OneListing demo inspired homepage and site palette */
:root {
	--dwt-primary: #f51957;
	--dwt-primary-hover: #e31750;
	--dwt-dark: #1a1b29;
	--dwt-dark-hover: #51526e;
	--dwt-text: #51526e;
	--dwt-text-light: #605f74;
	--dwt-heading: #1a1b29;
	--dwt-border: #eff1f6;
	--dwt-bg-light: #f8f9fa;
	--dwt-bg-gray: #f5f7fa;
	--dwt-shadow: 0 2px 8px rgba(26, 27, 41, .08);
	--dwt-shadow-hover: 0 8px 24px rgba(26, 27, 41, .12);
	--dwt-radius: 5px;
	--dwt-radius-lg: 7px;
	--directorist-color-primary: #f51957;
	--directorist-color-primary-rgb: 245, 25, 87;
	--color-primary: #f51957;
	--color-primary-rgb: 245, 25, 87;
	--color-dark: #1a1b29;
	--color-body: #51526e;
	--color-border-light: #eff1f6;
	--color-bg-normal: #f8f9fa;
}

body,
button,
input,
select,
textarea,
h1, h2, h3, h4, h5, h6,
p {
	font-family: 'Roboto', sans-serif !important;
}

/* The reference theme uses a white, compact navigation bar. */
.home #site-header,
.page-id-9 #site-header {
	position: relative !important;
	inset: auto !important;
	background: #fff !important;
	border-bottom: 1px solid #eff1f6 !important;
	box-shadow: none !important;
}
.home #site-header .theme-header-menu-area,
.page-id-9 #site-header .theme-header-menu-area {
	min-height: 80px;
	padding: 0 24px;
}
.home #site-header .site-title,
.page-id-9 #site-header .site-title,
.home #site-header .site-title a,
.page-id-9 #site-header .site-title a {
	color: #1a1b29 !important;
}
.home #site-header .theme-menu-action-box a,
.page-id-9 #site-header .theme-menu-action-box a {
	color: #51526e;
}
.home #site-header .theme-menu-action-box a:hover,
.page-id-9 #site-header .theme-menu-action-box a:hover {
	color: #f51957;
}
.home #site-header .btn-add-listing,
.page-id-9 #site-header .btn-add-listing {
	background: #f51957 !important;
	border-radius: 5px !important;
	color: #fff !important;
	font-weight: 500;
	text-transform: none;
}
.home #site-header .current-menu-item > a,
.page-id-9 #site-header .current-menu-item > a {
	color: #f51957 !important;
}

/* Full-width photo search hero, matching the OneListing landing page. */
.page-id-9 .banner,
.page-id-9 .theme-banner-breadcrumb {
	display: none !important;
}
.page-id-9 #primary {
	padding: 0 !important;
	background: #f8f9fa;
}
.page-id-9 #primary > .theme-container {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.page-id-9 #primary > .theme-container > .row {
	margin: 0 !important;
}
.page-id-9 #primary > .theme-container > .row > .col-sm-12,
.page-id-9 #primary .main-content,
.page-id-9 #primary .post-9 {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
.page-id-9 #primary .directorist-search-contents {
	position: relative;
	left: 50%;
	width: 100vw;
	max-width: none;
	min-height: 780px;
	margin: 0 0 0 -50vw;
	padding: 0 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background:
		linear-gradient(90deg, rgba(18, 22, 40, .66), rgba(18, 22, 40, .58)),
		url('../onelisting/assets/img/banner.jpg') center center / cover no-repeat;
}
.page-id-9 #primary .directorist-search-contents > .directorist-container-fluid {
	width: 100%;
	max-width: 1170px;
	margin: 0 auto;
	padding: 0 24px;
}
.page-id-9 #primary .directorist-search-contents::before {
	content: "Explorez les bonnes adresses";
	position: absolute;
	top: 31%;
	left: 24px;
	right: 24px;
	max-width: 900px;
	margin: 0 auto;
	color: #fff;
	font-size: clamp(36px, 4.2vw, 54px);
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}
.page-id-9 #primary .directorist-search-top {
	display: none !important;
}
.page-id-9 #primary .directorist-search-contents::after {
	content: "Commerces, artisans, loisirs et restaurants près de chez vous";
	position: absolute;
	top: calc(31% + 76px);
	left: 24px;
	right: 24px;
	margin: 0 auto;
	color: rgba(255, 255, 255, .88);
	font: 400 17px/1.5 'Roboto', sans-serif;
	text-align: center;
}
.page-id-9 #primary .directorist-search-form {
	width: 100%;
	max-width: 1000px;
	margin: 190px auto 0;
}
.page-id-9 #primary .directorist-search-form-wrap {
	padding: 16px;
	border: 0 !important;
	border-radius: 6px !important;
	background: #fff !important;
	box-shadow: 0 8px 30px rgba(15, 20, 38, .16);
}
.page-id-9 #primary .directorist-search-form__box {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 0;
}
.page-id-9 #primary .directorist-search-form__top {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
}
.page-id-9 #primary .directorist-search-adv-filter,
.page-id-9 #primary .directorist-search-field {
	width: 100%;
	margin: 0;
	text-align: left;
}
.page-id-9 #primary .directorist-search-field__label {
	margin: 0 0 4px;
	color: #51526e;
	font-size: 13px;
	font-weight: 500;
}
.page-id-9 #primary .directorist-search-field input,
.page-id-9 #primary .directorist-search-field select,
.page-id-9 #primary .directorist-form-element {
	min-height: 50px;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff;
	box-shadow: none !important;
	color: #1a1b29;
	font: 400 15px 'Roboto', sans-serif;
}
.page-id-9 #primary .directorist-search-form-action {
	display: flex;
	align-items: center;
	gap: 10px;
}
.page-id-9 #primary .directorist-filter-btn {
	border: 0 !important;
	background: transparent !important;
	color: #f51957 !important;
	font-weight: 500;
	text-transform: none;
}
.page-id-9 #primary .directorist-search-form__submit,
.page-id-9 #primary .directorist-btn-search {
	min-height: 50px;
	padding: 0 24px;
	border: 0 !important;
	border-radius: 5px !important;
	background: #f51957 !important;
	color: #fff !important;
	font-size: 14px;
	font-weight: 600;
	text-transform: none;
}
.page-id-9 #primary .directorist-search-form__submit:hover,
.page-id-9 #primary .directorist-btn-search:hover {
	background: #e31750 !important;
}
.page-id-9 #primary .directorist-listing-category-top {
	position: static;
	width: auto;
	height: auto;
	margin: 26px auto 0;
	overflow: visible;
	clip: auto;
}
.page-id-9 #primary .directorist-listing-category-top h3 {
	display: none;
}
.page-id-9 #primary .directorist-listing-category-top ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.page-id-9 #primary .directorist-listing-category-top li a {
	display: inline-flex;
	padding: 7px 14px;
	border: 1px solid rgba(255, 255, 255, .42);
	border-radius: 20px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-size: 13px;
	transition: background .2s ease, border-color .2s ease;
}
.page-id-9 #primary .directorist-listing-category-top li a:hover {
	border-color: #f51957;
	background: #f51957;
	color: #fff;
}

/* Carry the demo pink through listing and directory controls. */
.directorist-btn,
.directorist-btn-primary,
.directorist-search-form__submit,
.directorist-btn-primary:hover {
	border-radius: 5px !important;
	background-color: #f51957 !important;
	border-color: #f51957 !important;
}
.directorist-btn:hover,
.directorist-btn-primary:hover {
	background-color: #e31750 !important;
	border-color: #e31750 !important;
}
.directorist-listing-single.directorist-listing-card {
	border-radius: 7px !important;
}

@media (max-width: 767px) {
	.home #site-header .theme-header-menu-area,
	.page-id-9 #site-header .theme-header-menu-area {
		min-height: 68px;
		padding: 0 16px;
	}
	.page-id-9 #primary .directorist-search-contents {
		min-height: 680px;
		padding: 0 14px;
		background-position: center;
	}
	.page-id-9 #primary .directorist-search-contents > .directorist-container-fluid {
		padding: 0 10px;
	}
	.page-id-9 #primary .directorist-search-contents::before {
		top: 25%;
		font-size: clamp(30px, 8vw, 40px);
	}
	.page-id-9 #primary .directorist-search-contents::after {
		top: calc(25% + 58px);
		font-size: 15px;
	}
	.page-id-9 #primary .directorist-search-form {
		margin-top: 150px;
	}
	.page-id-9 #primary .directorist-search-form__box {
		flex-direction: column;
		align-items: stretch;
	}
	.page-id-9 #primary .directorist-search-form-action {
		justify-content: space-between;
	}
	.page-id-9 #primary .directorist-search-form-action__submit,
	.page-id-9 #primary .directorist-btn-search {
		width: 100%;
	}
}
