/*
Theme Name: Sanaye3y
Theme URI: https://staging.sanaye3y.com
Author: Sanaye3y
Author URI: https://staging.sanaye3y.com
Description: Sanaye3y child theme based on Listeo. Custom directory theme for staging.sanaye3y.com.
Version: 1.0
License: ThemeForest
License URI: http://themeforest.net/licenses
Text Domain: sanaye3y
Domain Path: /languages/
Tags: light, responsive-layout, post-formats, theme-options, translation-ready, two-columns
Template: listeo
*/

/* RTL fixes for Sanaye3y (By Abdelhadi Touil) */
#titlebar p {
	display: none;
}
.mfp-content .small-dialog-header {
	right: -40px !important;
	text-align: center;
}
p i.fa-solid {
	right: 8px !important;
}
.checkboxes label {
	padding: 0 28px 0 0;
	margin-right: 0;
}
.checkboxes label:before {
	margin: 0;
	right: 0;
	left: initial;
}
.checkboxes label {
	padding: 0 25px;
}
.listeo-dialog, #sign-in-dialog, #claim-dialog, #small-dialog, #report-listing-dialog, #small-dialog-edit, #small-dialog-edit-review, .message-vendor textarea, .message-vendor textarea:focus, .message-vendor input:focus:not([type="submit"]), .message-vendor select, .message-vendor select:focus, .message-vendor input:not([type="submit"]) {
	text-align: right;
}
.hosted-by-title {
	padding: 0 0 25px 70px;
}
.hosted-by-avatar {
	left: 0;
	right: initial;
}
.hosted-by-title a.hosted-by-link {
	display: inline-block;
	margin-top: 10px;
}
.messages-headline h4 span {
	margin: -5px 8px 0 0;
}
.message-action {
	float: left;
}
.messages-container-inner .message-by-headline span {
	left: 25px;
	right: initial;
}
.like-button-notlogged .like-icon, .like-button .like-icon {
    right: initial;
    left: auto;
    float: right;
    margin-left: 8px;
}
.share-buttons li i {
    left: 3px;
    right: initial;
}
.opening-hours ul li span {
    float: left;
    text-align: left;
}
.testimonials .testimonial-box {
    text-align: right;
    padding: 38px 38px 38px 100px !important;
}
.testimonials .testimonial:after {
    right: initial !important;
    left: 42px !important;
}
#breadcrumbs ul li:before {
	content: "\f104";
}
a.read-more i.fa.fa-angle-right {
	transform: rotate(180deg);
}
.hosted-by-title a.hosted-by-link:after {
	margin: 0 5px 0 0;
	transform: rotate(180deg);
}
/* Owner name must dominate the widget hierarchy over the label and the view-profile button. */
.hosted-by-title h4 a {
	font-size: 22px;
	font-weight: 700;
}
.blog-compact-item {
	height: 300px;
}
.blog-compact-item-content {
	padding: 0 20px;
}
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
	float: right;
	margin: 0 0 2.992em 3.8%;
}
/* Dashboard */
#my-listings-search-form button.button {
	right: 0;
	left: auto;
}
.dashboard-list-box.with-icons ul li {
	padding-right: 87px;
	padding-left: initial;
}
a.close-list-item {
	right: initial;
	left: 30px;
}
.lstb-tab-count {
	margin-right: 8px;
	margin-left: initial;
}
@media (min-width: 992px) {
	body.light-dashboard .dashboard-nav ul li a i {
		padding-right: initial;
		padding-left: 6px;
	}
}

/* General */
@media (min-width: 992px) {
.col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
        float: right;
    }
}
.col-md-3:has(> .layout-switcher) {
	float: left;
}
@media screen and (max-width: 39.9375em) {
	#titlebar h1, #titlebar h2 {
		font-size: 32px;
		line-height: 40px;
		margin: 1px 0 3px 0;
		text-align: center;
	}
	nav#breadcrumbs {
		text-align: center;
	}
}

/* WooCommerce Cart and Checkout */
.woocommerce-cart .woocommerce table.shop_table, .woocommerce-checkout .woocommerce table.shop_table, .woocommerce-cart .woocommerce table.shop_table th.product-price, .woocommerce-cart .woocommerce table.shop_table th.product-quantity, .woocommerce-cart .woocommerce table.shop_table th.product-subtotal, .woocommerce-cart .woocommerce table.shop_table .cart_item td.product-price, .woocommerce-cart .woocommerce table.shop_table .cart_item td.product-quantity, .woocommerce-cart .woocommerce table.shop_table .cart_item td.product-subtotal, .woocommerce-cart .woocommerce table.shop_table th.product-remove, .woocommerce-cart .woocommerce table.shop_table th.product-name, .woocommerce-cart .woocommerce table.shop_table th.product-price {
	text-align: right;
}
.variation- {
	margin: 0;
}
table.shop_table #coupon_code {
	float: right;
}
#payment ul.payment_methods li {
	text-align: right;
}
@media only screen and (max-width: 980px) {
	.woocommerce table.shop_table_responsive tr td::before, .woocommerce-page table.shop_table_responsive tr td::before {
		float: right;
	}
	.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td {
		text-align: left !important;
	}
	body .woocommerce .cart .button[name="apply_coupon"] {
		margin-right: 0;
		margin-left: 0;
	}
}

/* ============================================================
   Author Profile: 3-column vertical listing cards
   ============================================================ */

/* Prefix with .author-profile-modern to beat parent author-page.css specificity. */
.author-profile-modern .author-listings-modern {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 25px;
}

/* Pagination spans all columns */
.author-profile-modern .author-listings-modern .pagination-container-modern {
	grid-column: 1 / -1;
}

/* Listings pagination — span the grid and align to the edge
   (right in RTL, left in LTR), matching the portfolio pagination. */
.author-profile-modern .author-listings-modern .author-posts-pagination {
	grid-column: 1 / -1;
	justify-content: flex-start;
}

/* RTL chevron swap — mirrors the portfolio pagination fix so the
   "previous" arrow points right and "next" points left in RTL. */
.rtl .author-listings-modern .author-posts-pagination .fa-chevron-left::before { content: "\f054"; }
.rtl .author-listings-modern .author-posts-pagination .fa-chevron-right::before { content: "\f053"; }

/* Shared pill pagination hover — primary color. Prefixed with
   .author-profile-modern to beat the parent theme's author-page.css
   rule (same selector, but parent loads after child style.css). */
.author-profile-modern .author-posts-pagination .page-link:hover {
	background: var(--listeo-primary-color, #f43758);
	border-color: var(--listeo-primary-color, #f43758);
	color: #fff;
}
body#dark-mode .author-profile-modern .author-posts-pagination .page-link:hover {
	background: var(--listeo-primary-color, #f43758);
	border-color: var(--listeo-primary-color, #f43758);
	color: #fff;
}

/* Match listings pagination style and override plugin specificity. */
.author-profile-modern .listeo-portfolio-pagination {
	justify-content: flex-start;
	margin-top: 22px;
}
.author-profile-modern .listeo-portfolio-pagination .page-link {
	min-width: 36px;
	height: 36px;
	padding: 0 12px;
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 8px;
	color: #2b2b2b;
	font-size: 13.5px;
	font-weight: 600;
	transition: background-color .12s, border-color .12s, color .12s;
}
.author-profile-modern .listeo-portfolio-pagination .page-link.is-current {
	background: var(--listeo-primary-color, #f43758);
	border-color: var(--listeo-primary-color, #f43758);
	color: #fff;
}
.author-profile-modern .listeo-portfolio-pagination .page-link:hover {
	background: var(--listeo-primary-color, #f43758);
	border-color: var(--listeo-primary-color, #f43758);
	color: #fff;
}
body#dark-mode .author-profile-modern .listeo-portfolio-pagination .page-link {
	background: #2a2a2a;
	border-color: #3a3a3a;
	color: #f0f0f0;
}
body#dark-mode .author-profile-modern .listeo-portfolio-pagination .page-link:hover {
	background: var(--listeo-primary-color, #f43758);
	border-color: var(--listeo-primary-color, #f43758);
	color: #fff;
}

@media (max-width: 992px) {
	.author-profile-modern .author-listings-modern {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575px) {
	.author-profile-modern .author-listings-modern {
		grid-template-columns: 1fr;
	}
}

/* Card reflow: horizontal → vertical (mirrors .new-grid-layout-nl) */
.author-profile-modern .author-listings-modern .listing-card-container-nl {
	container-type: normal;
	margin-bottom: 0 !important;
}

.author-profile-modern .author-listings-modern .listing-card-nl {
	flex-direction: column;
	height: 100%;
}

.author-profile-modern .author-listings-modern .listing-image-container-nl {
	width: 100%;
	height: 250px;
	min-height: 200px;
	border-radius: 6px 6px 0 0;
}

.author-profile-modern .author-listings-modern .listing-details-nl {
	flex-direction: column;
}

.author-profile-modern .author-listings-modern .details-main-col-nl,
.author-profile-modern .listeo-portfolio-grid .details-main-col-nl {
	padding: 25px;
	justify-content: flex-start;
}

.author-profile-modern .author-listings-modern .listing-title-nl,
.author-profile-modern .listeo-portfolio-grid .listing-title-nl {
	font-size: 1.125em;
	line-height: 1.5;
}

.author-profile-modern .author-listings-modern .listing-card-nl .listing-badges-nl {
	margin-bottom: 10px;
}

.author-profile-modern .author-listings-modern .listing-card-nl .listing-location-nl {
	margin-bottom: 0;
}

/* Gradient scrim keeps overlay text legible without blocking slider clicks. */
.author-profile-modern .author-listings-modern .listing-image-container-nl::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 50%;
	background: linear-gradient( to top, rgba( 0, 0, 0, 0.65 ) 0%, rgba( 0, 0, 0, 0 ) 100% );
	pointer-events: none;
	z-index: 1;
}

/* Rating + price overlay on the thumbnail, replacing the old sidebar footer. */
.author-profile-modern .author-listings-modern .image-overlay-bottom-nl {
	position: absolute;
	bottom: 14px;
	right: 14px;
	display: flex;
	gap: 10px;
	align-items: center;
	z-index: 2;
}

.author-profile-modern .author-listings-modern .overlay-rating-nl,
.author-profile-modern .author-listings-modern .overlay-price-nl {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 13px;
	font-weight: 600;
	color: #fff;
}

.author-profile-modern .author-listings-modern .overlay-rating-nl i {
	color: #fff;
}

/* ============================================================
   Taxonomy Slider mobile fallback (98vw) until JS measures the wrapper.
   Avoid container-type:inline-size — it breaks width:max-content.
   ============================================================ */
@media (max-width: 991px) {
	.taxonomy-slider-wrapper .taxonomy-responsive-slider .category-small-box,
	.taxonomy-slider-wrapper .taxonomy-responsive-slider .category-small-box-alt {
		width: calc(98vw / 3 - 20px) !important;
	}
}

@media (max-width: 480px) {
	.taxonomy-slider-wrapper .taxonomy-responsive-slider .category-small-box,
	.taxonomy-slider-wrapper .taxonomy-responsive-slider .category-small-box-alt {
		width: calc(98vw / 2 - 20px) !important;
	}
}

/* ============================================================
   Dashboard stat tiles: add spacing between label and value on small screens.
   ============================================================ */
@media (max-width: 1360px) {
	.stat-card-v2 .stat-meta-text strong {
		margin-inline-start: 6px;
	}
}