.modal-header { background-color: var(--theme-navy); color: #fff; }
.modal-header .close {
  color: #fff !important;
}

.profile-section .card-header, .profile-section thead tr {
  background: linear-gradient(135deg, var(--theme-blue), var(--theme-accent-blue)); 
  color: #fff;
}

.profile-section thead tr th {
  color: #fff !important;
}
/** Button icons */
.item-card2-icons-l, .item-card2-icons-l:hover {
  color: white !important;
}

.welcome-box {
  position: relative;
  display: inline-block;
  width: 100%;
}

/* --- NEW THEME FROM DEV-STYLE.CSS --- */

.grecaptcha-badge { visibility: hidden; opacity: 0; pointer-events: none; }
:root {
	--theme-navy: #0a1931;
	--theme-navy-deep: #061021;
	--theme-blue: #8E75FF;
	--theme-blue-light: #52c9ef;
	--theme-accent-blue: #4db7fe;
	--theme-slate-light: #f8fafc;
	--theme-border: #f1f5f9;
	--premium-shadow: 0 10px 30px -12px rgba(0, 0, 0, 0.12);
	--premium-shadow-hover: 0 20px 40px -12px rgba(10, 25, 49, 0.18);
	--glass-bg: rgba(255, 255, 255, 0.7);
	--glass-border: rgba(255, 255, 255, 0.3);
	--theme-blue-v2: #7c3aed;
	--theme-navy-v2: #0f172a;
	--theme-slate-v2: #1e293b;
	--premium-shadow-v2: 0 10px 30px -5px rgba(0, 0, 0, 0.05), 0 5px 15px -5px rgba(0, 0, 0, 0.03);
	--premium-shadow-hover-v2: 0 20px 40px -12px rgba(124, 58, 237, 0.15);
}

.premium-card {
	border: 1px solid rgba(226, 232, 240, 0.6) !important;
	border-radius: 1.5rem !important;
	overflow: hidden;
	transition: all 0.5s cubic-bezier(0.23, 1, 0.32, 1);
	background: #fff;
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);
	height: 100%;
	padding: 0.75rem;
	position: relative;
}

.premium-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 25px -5px rgba(10, 25, 49, 0.1), 0 10px 10px -5px rgba(10, 25, 49, 0.04);
	border-color: rgba(142, 117, 255, 0.2) !important;
}

.current-day-highlight {
    background: linear-gradient(135deg, rgba(142, 117, 255, 0.12) 0%, rgba(77, 183, 254, 0.08) 100%) !important;
    border: 1px solid rgba(142, 117, 255, 0.25) !important;
    position: relative;
    box-shadow: inset 0 2px 4px rgba(142, 117, 255, 0.05);
}

.premium-card .card-inner-wrap {
	height: 100%;
	display: flex;
	flex-direction: column;
}

.premium-card .listing-image-container {
	border-radius: 1rem !important;
	height: 200px;
	position: relative;
	overflow: hidden;
	background: var(--theme-border);
}

.premium-card .listing-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.premium-card:hover .listing-image {
	transform: scale(1.1);
}

.listing-badge-glass {
	background: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	padding: 6px 12px;
	border-radius: 50px;
	font-size: 10px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.3);
}

.premium-card .category-pill {
	position: absolute;
	bottom: 0.75rem;
	left: 0.75rem;
	background: var(--theme-navy);
	color: #fff;
	padding: 4px 12px;
	border-radius: 50px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	z-index: 2;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.premium-card .card-body {
	padding: 1.25rem 0.5rem 0.5rem !important;
	flex-grow: 1;
}

.premium-card .card-title-link {
	color: var(--theme-navy);
	font-weight: 800;
	font-size: 1.125rem;
	line-height: 1.4;
	margin-bottom: 0.75rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-decoration: none;
	transition: color 0.3s ease;
}

.premium-card:hover .card-title-link {
	color: var(--theme-blue);
}

.premium-card .info-row {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 0.875rem;
	color: #64748b;
	margin-bottom: 0.5rem;
}

.premium-card .info-row i {
	color: var(--theme-blue);
	margin-top: 3px;
	width: 14px;
}

.premium-card .card-footer-new {
	padding: 1rem 0.5rem 0.25rem;
	border-top: 1px solid var(--theme-border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 0.5rem;
}

.premium-card .rating-value {
	font-weight: 800;
	color: var(--theme-navy);
	font-size: 1.1rem;
}

.premium-card .btn-details-hover {
	width: 36px;
	height: 36px;
	border-radius: 12px;
	background: var(--theme-border);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--theme-navy);
	transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
	text-decoration: none;
}

.premium-card:hover .btn-details-hover {
	background: linear-gradient(135deg, var(--theme-blue) 0%, var(--theme-accent-blue) 100%);
	color: #fff;
	transform: rotate(-45deg);
}

.premium-card:hover .btn-details-hover i {
	transform: rotate(45deg);
}

.filter-card-premium {
	border: 1px solid var(--theme-border) !important;
	border-radius: 1rem !important;
	background: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.filter-card-premium .card-header {
	background: var(--theme-navy) !important;
	color: #fff !important;
	border-radius: 1rem 1rem 0 0 !important;
	padding: 1rem 1.25rem !important;
}

.filter-card-premium .form-control {
	border: 1px solid #e2e8f0;
	border-radius: 0.75rem;
	padding: 0.75rem 1rem;
	font-size: 0.9rem;
}

.filter-card-premium .form-control:focus {
	border-color: var(--theme-blue);
	box-shadow: 0 0 0 3px rgba(10, 178, 230, 0.15);
}

.filter-card-premium label {
	font-weight: 600;
	color: var(--theme-navy);
	margin-bottom: 0.5rem;
	font-size: 0.85rem;
	display: flex;
	align-items: center;
}

.filter-card-premium label i {
	color: var(--theme-blue);
	width: 20px;
}

.premium-sort-container { position: relative; display: flex; align-items: center; }
.sort-icon {
	position: absolute;
	left: 14px;
	z-index: 5;
	color: #64748b;
	pointer-events: none;
	font-size: 0.9rem;
}

.sort-select-premium {
	border: 1px solid var(--theme-border);
	border-radius: 0.75rem;
	padding: 0.5rem 2.5rem 0.5rem 2.75rem !important;
	font-weight: 600;
	color: var(--theme-navy);
	background-color: #fff;
	cursor: pointer;
	transition: all 0.2s ease;
	min-width: 180px;
	appearance: none;
}

.sort-select-premium:hover {
	border-color: var(--theme-blue);
}

.text-navy { color: var(--theme-navy) !important; }
.text-primary-theme { color: var(--theme-blue) !important; }
.text-accent-blue { color: var(--theme-accent-blue) !important; }
.bg-navy { background-color: var(--theme-navy) !important; }
.bg-primary-theme { background-color: var(--theme-blue) !important; }
.border-dashed { border: 2px dashed #dee2e6 !important; }
.hover-scale-sm { transition: transform 0.2s ease; }
.hover-scale-sm:hover {
	transform: scale(1.05) !important;
}

.interaction-btn { transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); }
.interaction-btn:hover {
	transform: translateY(-3px);
	filter: brightness(1.1);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
}

.extra-small { font-size: 0.75rem !important; }
.reviews-average-rating { line-height: 1; }
.sticky-sub-nav {
	position: fixed !important;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1050;
	transform: translateY(-100%);
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.sticky-sub-nav.visible {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
}

.sticky-sub-nav .sidebar-nav-item {
	color: #64748b;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 1px;
	position: relative;
	transition: all 0.3s ease;
}

.sticky-sub-nav .sidebar-nav-item.active {
	color: var(--theme-navy);
}

.sticky-sub-nav .sidebar-nav-item.active::after {
	content: "";
	position: absolute;
	bottom: -4px;
	left: 15%;
	width: 70%;
	height: 2px;
	background: var(--theme-blue);
	border-radius: 10px;
}

.bg-white-10 { background: rgba(255, 255, 255, 0.1) !important; }
@keyframes pulse-success {
	0% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(25, 135, 84, 0.7);
	}

	70% {
		transform: scale(1);
		box-shadow: 0 0 0 10px rgba(25, 135, 84, 0);
	}

	100% {
		transform: scale(0.95);
		box-shadow: 0 0 0 0 rgba(25, 135, 84, 0);
	}
}

@media (min-width: 768px) {
	.border-md-end {
		border-right: 1px solid var(--theme-border) !important;
	}
}

.fw-900 { font-weight: 950 !important; }
.ls-n1 { letter-spacing: -1.5px !important; }
.ls-1 { letter-spacing: 1px !important; }
.btn-navy,
.btn-navy-theme {
	background: linear-gradient(135deg, var(--theme-navy) 0%, #1e3a5f 100%) !important;
	color: #fff !important;
	border: none !important;
	font-weight: 700 !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 4px 10px rgba(10, 25, 49, 0.3);
	text-transform: none;
	font-size: 13px;
}

.btn-navy:hover,
.btn-navy-theme:hover {
	background: linear-gradient(135deg, #1e3a5f 0%, var(--theme-navy) 100%) !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow: 0 6px 15px rgba(10, 25, 49, 0.4);
}

.listing-image-container {
	width: 100%;
	position: relative;
	overflow: hidden;
	background-color: #f2f2f2;
}

.select2-results__options { box-shadow: none !important; }
.listing-image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.listing-image-fallback {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--theme-blue) 0%, var(--theme-accent-blue) 100%);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.listing-image-fallback .listing-initials {
	font-size: 3rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.listing-rating-box { display: inline-flex; align-items: center; }
.view-btn {
	width: 40px;
	height: 40px;
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #64748b;
	background: var(--theme-border);
	border: 1px solid #e2e8f0;
	text-decoration: none;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	font-size: 1rem;
}

.view-btn:hover {
	background: #e2e8f0;
	color: var(--theme-navy);
}

.view-btn.active {
	background: var(--theme-navy);
	color: #fff;
	border-color: var(--theme-navy);
	box-shadow: 0 4px 12px rgba(10, 25, 49, 0.15);
}

.premium-results-bar {
	border: 1px solid rgba(226, 232, 240, 0.8) !important;
	background: rgba(255, 255, 255, 0.95) !important;
	backdrop-filter: blur(10px);
	box-shadow: 0 4px 15px -3px rgba(0, 0, 0, 0.05) !important;
}

.premium-results-bar h5 {
	font-size: 1rem;
	letter-spacing: -0.01em;
}

.view-container.list-view .listing-item {
	flex: 0 0 100% !important;
	max-width: 100% !important;
	width: 100% !important;
}

.view-container.list-view .premium-card .card-inner-wrap {
	flex-direction: row;
	align-items: stretch;
}

.view-container.list-view .premium-card .card-inner-wrap>.position-relative {
	width: 160px;
	min-width: 160px;
	flex-shrink: 0;
}

.view-container.list-view .premium-card .listing-image-container {
	height: 160px !important;
	width: 100% !important;
	border-radius: 0.75rem 0 0 0.75rem !important;
}

.view-container.list-view .premium-card .card-body {
	padding: 1rem 1.5rem !important;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.view-container.list-view .premium-card .card-title-link {
	font-size: 1.25rem;
	margin-bottom: 0.5rem;
}

.view-container.list-view .premium-card .info-row {
	margin-bottom: 0.75rem;
}

.view-container.list-view .premium-card .card-footer-new {
	border-top: none;
	border-left: 1px solid var(--theme-border);
	padding: 1.25rem 1.5rem !important;
	margin: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	min-width: 140px;
}

.view-container.list-view .premium-card .card-footer-new .btn-details-hover {
	width: 40px;
	height: 40px;
}

@media (max-width: 991px) {
	.view-container.list-view .premium-card .card-inner-wrap>.position-relative {
		width: 160px;
		min-width: 160px;
	}
}

@media (max-width: 767px) {
	.view-container.list-view .listing-item {
		flex: 0 0 100% !important;
		max-width: 100% !important;
	}

	.view-container.list-view .premium-card .card-inner-wrap {
		flex-direction: column;
	}

	.view-container.list-view .premium-card .card-inner-wrap>.position-relative {
		width: 100%;
		min-width: unset;
	}

	.view-container.list-view .premium-card .listing-image-container {
		height: 220px !important;
		min-height: unset;
		border-radius: 1.25rem !important;
	}

	.view-container.list-view .premium-card .card-footer-new {
		border-left: none;
		border-top: 1px solid var(--theme-border);
		padding: 1rem 0.5rem 0.25rem;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		min-width: unset;
	}
}

.average-rating-stars img {
	width: 13px;
	height: 13px;
}

.require-star { color: red; padding: 0px 5px; }
.passwd i {
	position: absolute;
	top: 10px;
	right: 15px;
	font-size: 20px;
}

.note-box { text-align: left !important; }
.iti { display: block !important; }
.cursor-pointer, .curser-pointer { cursor: pointer !important; }

#recaptcha-hidden {
	visibility: hidden !important;
	position: absolute !important;
	width: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}

.policy-nav-scroll { max-height: 400px; scrollbar-width: thin; }
.policy-nav-scroll-lg { max-height: 480px; scrollbar-width: thin; }

/* Premium Floating Quick Navigation Button & Drawer Styles for Mobile */
.quick-nav-fab {
	position: fixed;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	z-index: 1040;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	background: rgba(10, 25, 49, 0.95) !important;
	border: 1px solid rgba(255, 255, 255, 0.15) !important;
	box-shadow: 0 10px 30px rgba(10, 25, 49, 0.3) !important;
	transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
	font-weight: 700 !important;
	opacity: 0;
	pointer-events: none;
}

.quick-nav-fab.visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateX(-50%) translateY(0);
}

.quick-nav-fab.visible:hover {
	transform: translateX(-50%) translateY(-3px);
	box-shadow: 0 15px 35px rgba(10, 25, 49, 0.4) !important;
}

.offcanvas-quick-nav {
	border-top-left-radius: 24px !important;
	border-top-right-radius: 24px !important;
	border: none !important;
	box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.15) !important;
	background: #ffffff !important;
}

.offcanvas-quick-nav .offcanvas-header {
	padding: 1.25rem 1.5rem 0.5rem;
	border-bottom: none;
}

.offcanvas-quick-nav .drag-handle {
	width: 45px;
	height: 5px;
	background: #cbd5e1;
	border-radius: 10px;
	margin: 0.5rem auto 0;
}

.offcanvas-quick-nav-list .nav-link-unique {
	padding: 0.75rem 1.25rem !important;
	border-radius: 12px !important;
	transition: all 0.2s ease;
	border: 1px solid rgba(0, 0, 0, 0.03);
	margin-bottom: 0.5rem;
	background: #f8fafc;
	text-decoration: none;
}

.offcanvas-quick-nav-list .nav-link-unique:hover {
	background: #f1f5f9 !important;
}

.offcanvas-quick-nav-list .nav-link-unique span {
	font-size: 0.85rem !important;
	font-weight: 600 !important;
}

.animate-spin-slow {
	animation: spin-slow 8s linear infinite;
}

@keyframes spin-slow {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}
.premium-pagination .page-item .page-link {
	border-radius: 0.75rem !important;
	margin: 0 3px;
	border: 1px solid var(--theme-border);
	color: var(--theme-navy);
	font-weight: 600;
	padding: 0.6rem 1rem;
	transition: all 0.3s ease;
}

.premium-pagination .page-item.active .page-link {
	background-color: var(--theme-blue) !important;
	border-color: var(--theme-blue) !important;
	color: #fff !important;
	box-shadow: 0 4px 12px rgba(10, 178, 230, 0.3);
}

.premium-pagination .page-item.disabled .page-link {
	background-color: var(--theme-slate-light);
	border-color: var(--theme-border);
}

.premium-pagination .page-item .page-link:hover:not(.active) {
	background-color: var(--theme-slate-light);
	border-color: var(--theme-blue);
	color: var(--theme-blue);
}

.policy-text-max-w { max-width: 500px; }
#characters-count {
	position: absolute;
	right: 0px;
	margin: 10px 0 10px 10px;
}

.masonry-wrapper { column-count: 3; column-gap: 1.5rem; }
.masonry-card { break-inside: avoid; margin-bottom: 1.5rem; }
@media (max-width: 992px) {
	.masonry-wrapper {
		column-count: 2;
	}
}

@media (max-width: 576px) {
	.masonry-wrapper {
		column-count: 1;
	}
}

.view-container.grid-view {
	display: flex;
	flex-wrap: wrap;
}

.select2-selection__clear {
	right: 10px;
	top: 9px;
	display: inline-block;
	width: auto;
	height: auto;
	line-height: 1;
	font-size: 16px;
	padding: 0;
	margin-left: 10px;
	border: none;
	background: none;
	cursor: pointer;
}

#photo-gallery-slider {
	width: 100%;
	height: 550px !important;
}
@media (max-width: 767px) {
    #photo-gallery-slider {
        height: 250px !important;
    }
}

#video-gallery-slider {
	width: 100%;
}

.swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.5rem 0;
	box-sizing: border-box;
	width: 100%;
}

.add-review-rating img,
form .edit-review-rating img {
	height: 16px !important;
	width: 16px !important;
}

#review-not-allow-message,
#edit-delete-review-not-allow-message,
#alert-message-box {
	background-color: rgba(252, 252, 0, 0.1);
	border: 1px solid #ffc107;
	color: black !important;
}

.btn-remove { background-color: #dc3545; }
.verification-banner-modern {
    background: linear-gradient(90deg, #fffcf0 0%, #fff9e6 100%);
    border-bottom: 1px solid #f2ca4c;
    padding: 12px 0;
    animation: bannerFadeIn 0.5s ease-out;
    position: relative;
    z-index: 100;
}

@keyframes bannerFadeIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

.verification-alert-content {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
    flex-wrap: wrap;
}

.alert-icon-ring {
    width: 28px;
    height: 28px;
    background: #f2ca4c;
    color: #856404;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    box-shadow: 0 2px 8px rgba(242, 202, 76, 0.3);
}

.resend-link-modern {
    color: #856404 !important;
    font-weight: 800 !important;
    text-decoration: none;
    background: white;
    padding: 6px 16px;
    border-radius: 50px;
    transition: all 0.3s ease;
    border: 1px solid rgba(242, 202, 76, 0.5);
    cursor: pointer;
    letter-spacing: 0.05em;
}
.warning {
	background-color: #eed47f !important;
	margin-bottom: 0px;
	height: 50px;
	padding-top: 18px;
}

.resend-email {
	color: var(--theme-accent-blue) !important;
	cursor: pointer;
}

.review-reply-section {
	flex-basis: 100%;
	max-width: 100%;
	margin-left: calc(3rem + 20px);
}

.select2-container--default .select2-search--inline .select2-search__field {
	color: #000 !important;
}

textarea.form-control {
	height: 100% !important;
	padding-top: 10px !important;
}

.add-interval-btn-block { display: flex; align-items: center; gap: 0.5rem; }
.add-interval-btn:hover{
	text-decoration: underline !important;
}
.map-container {
	float: left;
	width: 100%;
	position: relative;
	overflow: hidden;
	transform: translate3d(0, 0, 0);
}

.map-container #map-main {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 990;
}

.drag-map {
	width: 100%;
	height: 350px;
	border-radius: 12px;
	margin-bottom: 20px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	border: 1px solid #e1e9f1;
}

.service-area-input { padding-left: 25px !important; }
.btn-soft-primary {
	background-color: rgba(13, 110, 253, 0.1);
	color: #0d6efd;
	border: none;
}
.btn-soft-primary:hover {
	background-color: #0d6efd;
	color: #fff;
}
.btn-icon {
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.working-hours-block {
    transition: all 0.2s ease;
}

.working-hours-block:hover {
    background-color: rgba(13, 110, 253, 0.02);
}

.working-hours-scroll-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    /* Visible scroll affordance: a soft shadow fades in at either edge whenever
       there is more content to scroll to, and disappears once fully scrolled. */
    background-color: rgb(255, 255, 255);
    background-position: left, right, left, right;
    background-repeat: no-repeat;
    background-size: 40px 100%, 40px 100%, 14px 100%, 14px 100%;
    background-attachment: local, local, scroll, scroll;
}

.working-hours-container {
    min-width: 780px;
}

.fs-15 { font-size: 15px; }
.fs-13 { font-size: 13px; }

/* Normalize Heights and Alignment */
.business-main-section .form-select-sm,
.add-listing-page-section .form-select,
.business-main-section .form-control-sm,
.add-listing-page-section .form-control,
.business-main-section .input-group,
.business-main-section .input-group-text {
    height: 38px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    vertical-align: middle !important;
}

.business-main-section .form-select,
.add-listing-page-section .form-select,
.business-main-section .form-control,
.add-listing-page-section .form-control {
    border: 1px solid #dee2e6 !important;
    box-shadow: none !important;
}

.business-main-section .form-select,
.add-listing-page-section .form-select {
    appearance: auto !important;
    background-position: right 0.5rem center;
    padding-right: 2rem;
}

.business-main-section .input-group-text {
    border-color: #dee2e6;
    background-color: #fcfcfc;
    border-right: none !important;
}

/* Enhanced Disabled State */
.business-main-section .form-control:disabled,
.business-main-section .form-select:disabled {
    background-color: #f8f9fa !important;
    color: #9ca3af !important;
    border-color: #e5e7eb !important;
    cursor: not-allowed;
    opacity: 0.8;
}

.business-main-section .input-group:has(:disabled) .input-group-text {
    background-color: #f8f9fa !important;
    border-color: #e5e7eb !important;
}

/* Timepicker Widget Styling */
.input-group .bootstrap-timepicker-widget {
    position: absolute;
    z-index: 1050;
    background-color: #fff !important;
    border: 1px solid #dee2e6;
    border-radius: 0.75rem;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.1);
    top: 100% !important;
    left: 0 !important;
    width: 100%;
    min-width: 180px;
    margin-top: 8px;
    padding: 15px;
}

.working-hours-block:nth-last-child(-n+3) .input-group .bootstrap-timepicker-widget {
    top: auto !important;
    bottom: 100% !important;
    margin-top: 0;
    margin-bottom: 5px;
}

.bootstrap-timepicker-widget.dropdown-menu::after,
.bootstrap-timepicker-widget.dropdown-menu::before {
    display: none !important;
}

.bootstrap-timepicker-widget table td input {
    width: 100%;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    padding: 0.25rem;
    text-align: center;
}

.bootstrap-timepicker-widget table td a {
    padding: 4px 0;
    display: block;
    color: #6c757d;
}

.bootstrap-timepicker-widget table td a:hover {
    color: var(--theme-blue);
}

.bootstrap-timepicker-hour,
.bootstrap-timepicker-minute,
.bootstrap-timepicker-meridian { color: #000000; }
.custom-form ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.custom-form ul li {
	box-sizing: border-box;
}

.select2-height-box .select2-container--default .select2-selection--single {
	height: 36px !important;
}

.bootstrap-tagsinput .tag {
	color: white !important;
	background: rgba(231, 235, 243, 0.1019607843) !important;
}

.input-icon-box {
	position: relative;
	margin-bottom: 14px !important;
	z-index: 9;
}

.input-icon-box i {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
}

.input-icon-box input {
	margin-bottom: 0px !important;
}

.input-icon-box .bootstrap-tagsinput {
	box-shadow: unset !important;
	margin-bottom: 24px;
	border-radius: 4px;
	color: #838080;
	font-size: 12px;
	outline: none;
	width: 100%;
	margin-bottom: 0px;
	min-height: auto;
	box-shadow: unset;
	text-align: left;
	border: 1px solid rgb(108 108 108 / 20%);
}

.input-icon-box .bootstrap-tagsinput .tag {
	margin-bottom: 2px;
	margin-top: 2px;
	word-wrap: anywhere;
	white-space: break-spaces;
	line-height: normal;
	text-align: left;
	margin-right: 2px;
	padding: 4px 7px 4px 22px !important;
	color: #fff !important;
	background-color: var(--theme-blue) !important;
	position: relative;
}

.input-icon-box .bootstrap-tagsinput .tag [data-role='remove'] {
	position: absolute;
	left: 4px;
	line-height: 20px;
	padding-right: 3px;
	border-right: 1px solid #ffffff69;
	top: 0;
	bottom: 0;
	margin: 0px;
}

.input-icon-box .bootstrap-tagsinput input {
	border: none;
	box-shadow: none;
	outline: none;
	background-color: transparent;
	padding: 0;
	margin: 0;
	width: auto !important;
	padding: 0px !important;
	border: unset !important;
	float: unset !important;
	margin: 5px 0px !important;
}

.dark-theme .bootstrap-tagsinput input {
	color: white;
}

.active-color:hover {
	color: var(--theme-blue) !important;
}

.profile-invoice-details-page .invoice-details {
	background-color: #27304a;
}

/* Invoice details */

.profile-invoice-details-page{
  overflow: auto;
}

.profile-invoice-details-page .invoice-root{
  min-width: 600px;
}

.profile-invoice-details-page .invoice-root .transactions table{
  table-layout: auto;
}

.profile-invoice-details-page .top .meta-right{
  min-width: 0;
  margin-left: auto;
}

.profile-invoice-details-page .top{
  flex-wrap: nowrap;
}

.profile-invoice-details-page .panel .muted{
  word-wrap: anywhere;
}

@media screen and (max-width: 767px) {
  .profile-invoice-details-page .top{
    flex-wrap: wrap-reverse;
  }

  .profile-invoice-details-page .invoice-root{
    padding: 20px 0 5px 0;
  }

  /* Invoice content scrolls horizontally below 767px; show a visible
     scrollbar so the extra content is discoverable instead of looking clipped. */
  .profile-invoice-details-page {
    -webkit-overflow-scrolling: touch;
  }

  .profile-invoice-details-page::-webkit-scrollbar {
    height: 6px;
  }

  .profile-invoice-details-page::-webkit-scrollbar-thumb {
    background: #8E75FF;
    border-radius: 3px;
  }
}
/* --------- V-End -------- */

.z-top { z-index: 1 !important; }
.payment-profile-cards,
.payment-profile-cards::before {
	border-radius: 5px;
}

.payment-profile-cards .accordion-toggle::before {
	content: none !important;
}

.payment-profile-cards.panel {
	border: 3px dotted rgba(31, 31, 31, 0.342) !important
}

.my-account-card-icon,
.verification-card-icon,
.subscription-card-icon {
	position: absolute;
	right: 8px;
	top: 2px;
	width: 35px;
	height: auto;
}

#payment-method .StripeElement {
	margin-top: 0px;
	padding: 7px;
	background-color: #ffffff;
	height: 36px;
	line-height: 38px;
}

/* The mounted Stripe iframe (~17px tall) doesn't fill this div's 22px content
   box, and with no centering the leftover space collects at the bottom -
   text/placeholder renders noticeably above center. Center it explicitly.
   The iframe needs an explicit width or it collapses to min-content as a
   flex item instead of filling the row. */
.payment-form-premium .StripeElement {
	display: flex;
	align-items: center;
}

.payment-form-premium .StripeElement > div {
	flex: 1 1 auto !important;
	width: 100% !important;
}

/* Match the rounded corners used on the form's regular .form-control inputs.
   Scoped to .payment-form-premium (My Payment Profiles page only) since
   #payment-method and .payment-methods-card-container are also reused on the
   subscription checkout and claim-verification Stripe forms. */
.payment-form-premium .payment-methods-card-container {
	border-radius: 10px;
	overflow: hidden;
}

.StripeElement--invalid { border-color: #e74c3c !important; }
.StripeElement--complete { border-color: #2ecc71 !important; }

/* The mounted Stripe element renders its own border in addition to the
   .payment-methods-card-container wrapper's border, producing a double
   border in a slightly different grey. Drop the inner one entirely - the
   wrapper's single border already matches every other field on this form. */
.payment-form-premium .StripeElement,
.payment-form-premium .StripeElement--empty,
.payment-form-premium .StripeElement--invalid,
.payment-form-premium .StripeElement--complete,
.payment-form-premium .StripeElement--focus {
	border: none !important;
}

/* Removing the border above also removes Stripe's own focus indicator, since
   Stripe draws that as a border-color change on the same element - leaving
   keyboard/mouse focus on the field completely invisible. Restore it as an
   outline instead (doesn't affect layout, can't reintroduce the double
   border). */
.payment-form-premium .StripeElement--focus {
	outline: 2px solid #8E75FF !important;
	outline-offset: 1px;
}

/* Same double-border / off-center text issue as the Payment Profile page's
   Stripe fields (see .payment-form-premium rules above) - this page mounts
   Stripe elements the same way. Scoped to .dispute-claim-request-section,
   which is unique to this live template (its only other user, claim-request/
   create.hbs, is unreachable dead code). */
.dispute-claim-request-section .StripeElement,
.dispute-claim-request-section .StripeElement--empty,
.dispute-claim-request-section .StripeElement--invalid,
.dispute-claim-request-section .StripeElement--complete,
.dispute-claim-request-section .StripeElement--focus {
	border: none !important;
	display: flex;
	align-items: center;
}

/* Same missing-focus-indicator issue as .payment-form-premium above - see
   that comment for why an outline (not border) is used here. */
.dispute-claim-request-section .StripeElement--focus {
	outline: 2px solid #8E75FF !important;
	outline-offset: 1px;
}

.dispute-claim-request-section .StripeElement > div {
	flex: 1 1 auto !important;
	width: 100% !important;
}

.active .bs-stepper-circle {
	background-color: var(--theme-blue) !important;
}

.active .bs-stepper-label {
	color: var(--theme-blue) !important;
}

.bs-stepper-header .line:has(~ .step.active) {
	background-color: var(--theme-blue) !important;
}

.bs-stepper-header .step:has(~ .step.active) .bs-stepper-circle {
	background-color: var(--theme-blue) !important;
}

.bs-stepper-header .step:has(~ .step.active) .bs-stepper-label {
	color: var(--theme-blue) !important;
}

.bs-stepper .step-trigger.disabled,
.bs-stepper .step-trigger:disabled {
	pointer-events: all !important;
}

.verification-error-message,
.billing-error-message {
	color: #dc3545 !important;
	font-size: 12px;
	text-align: start;
	display: block;
}

#otp-container {
	display: none;
}

.otp-box:focus {
	border-color: var(--theme-blue) !important;
	outline: none;
}

#resend-otp-button {
	color: var(--theme-blue);
	display: none;
}

#timer {
	color: #999;
}

.icon-spin {
	display: inline-block;
	animation: icon-spin 1s infinite linear;
}

.payment-profile-cards:has(input[type="radio"]:checked) {
	box-shadow: 0 0 20px #eb6a0e !important;
	border: 2px solid var(--theme-blue);
	border-radius: 0.5rem
}

#verification-characters-count {
	float: right;
}

@keyframes icon-spin {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(359deg);
	}
}

.select2-search__field { width: 100% !important; }
.select-box { background-color: transparent !important; }
.gallery-item-container:hover .gallery-overlay {
	opacity: 1 !important;
}

.gallery-overlay { transition: all 0.3s ease !important; }
.hover-scale { transition: transform 0.2s ease !important; }
.hover-scale:hover {
	transform: scale(1.1) !important;
}

.profile-gallery-section .swiper-button-next::after,
.profile-gallery-section .swiper-button-prev::after {
	display: none !important;
}

#video-upload-error-message {
	background-color: #f8d7da;
	border: 1px solid #f5c6cb;
	color: #721c24;
}

#video-upload-success-message {
	background-color: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
}

#lg-actual-size {
	display: none !important;
}

.lg-toolbar .lg-icon:before,
.lg-toolbar .lg-icon:after,
.lg-actions .lg-icon:before,
.lg-actions .lg-icon:after {
	content: none !important;
}

.lg-toolbar .lg-icon,
.lg-actions .lg-icon {
	font-family: "FontAwesome";
	font-style: normal;
	font-weight: normal;
	text-decoration: inherit;
	text-align: center;
	font-size: 18px;
	line-height: 38px;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	padding: 0px !important;
	background: rgba(0, 0, 0, 0.6);
	color: #fff;
	display: inline-block;
	margin: 4px;
	transition: background 0.2s ease;
}

.lg-toolbar .lg-icon:hover,
.lg-actions .lg-icon:hover {
	background: rgba(0, 0, 0, 0.85);
}

.lg-toolbar .lg-close:after {
	content: "\f00d" !important;
}

.lg-toolbar #lg-zoom-in:after {
	content: "\f00e" !important;
}

.lg-toolbar #lg-zoom-out:after {
	content: "\f010" !important;
}

.lg-toolbar #lg-actual-size:after {
	content: "\f0b2" !important;
}

.lg-actions .lg-prev:after {
	content: "\f104" !important;
}

.lg-actions .lg-next:after {
	content: "\f105" !important;
}

.vertical-scroll { overflow-y: auto; padding-left: 0; }
.vertical-scroll li {
	padding: 6px 0;
	border-bottom: 1px solid #eee;
}

.vertical-scroll li:last-child {
	border-bottom: none;
}

#user-profile {
	object-fit: cover;
}

.breadcrumb1 { background-color: transparent !important; }
#back-to-top i {
	padding-top: 16px !important;
	font-size: 18px !important;
	transform: rotate(0deg) !important;
	margin-left: 0px !important;
}

.sep { color: #aaa; margin: 0 4px; }
textarea {
	resize: none !important;
}

.single-page .wrapper input {
	height: 53px !important;
}

.form-control { padding: 0.5rem 0.75rem !important; }
.word-wrap-anywhere { word-wrap: anywhere !important; }
.whitespace-normal { white-space: normal !important; }
.btn { text-wrap: auto !important; }
.padding-y { padding: 0.50rem 0.5rem !important; }
.btn-md {
	font-size: 0.875rem !important;
	line-height: 1.33333333 !important;
	border-radius: 3px !important;
}

.media img {
	width: 60px;
	height: 60px;
	border-radius: 50%;
}

.review-reply-section .media {
	position: relative;
	background-color: rgba(130, 128, 128, 0.2) !important;
	padding: 15px 20px;
	border-radius: 8px;
	margin-left: 60px;
	min-width: 0;
}

@media (max-width: 575px) {
	.reviews-comments-item .d-flex.w-100 {
		flex-direction: column;
		gap: .5rem;
		align-items: stretch;
	}

	.review-reply-section {
		margin-left: 0px;
		padding: 12px;
		border-radius: 10px;
	}
}

.collapse-icon { transition: transform 0.3s ease; }
[aria-expanded="false"] .collapse-icon {
	transform: rotate(-180deg);
}

[aria-expanded="true"] .collapse-icon {
	transform: rotate(0deg);
}

@media (min-width: 768px) {
	#collapse-icon {
		display: none !important;
	}

	#filterCollapse {
		display: block !important;
	}
}

@media (max-width: 767px) {
	.card-header[data-bs-toggle="collapse"] {
		cursor: pointer;
	}

	.card-header[data-bs-toggle="collapse"]:hover {
		background-color: rgba(0, 0, 0, 0.02);
	}
}

#list-sorting-filter+.select2 .select2-selection--single {
	padding-left: 38px !important;
}

@media screen and (max-width: 1279px) {
	#details-section .card .card-header {
		padding-left: 0.5rem;
		padding-right: 0.5rem;
	}
}

.input-with-icon { padding-right: 42px !important; }
@media (max-width: 576px) {
	.custom-breadcrumb {
		flex-direction: column !important;
		padding-left: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.custom-breadcrumb-item1 {
		margin-bottom: 4px !important;
		display: flex !important;
	}
}

.product-tags a {
	text-align: center;
	padding: 5px !important;
}

@media (max-width: 575.98px) {
	.transactions th:nth-child(3),
	.transactions td:nth-child(3) {
		min-width: 200px;
	}
}

.home-footer-new { background: #0d1b3e; color: rgba(255, 255, 255, .7); }
.modern-img-resp { height: 100%; object-fit: cover; }
.modern-horizontal-card { height: 100%; }
@media (min-width: 768px) {
    .modern-horizontal-card { 
        height: 200px !important; 
        min-height: 200px !important; 
        max-height: 200px !important; 
        overflow: hidden !important; 
    }
    .modern-horizontal-card .row.g-0 { height: 100% !important; align-items: stretch; }
    .modern-img-container-resp { height: 100% !important; align-items: stretch; }
    .modern-img-resp { width: 100%; height: 100%; object-fit: cover; }
    .listing-image-fallback { height: 100% !important; width: 100% !important; }
}

@media (max-width: 767px) {
	.modern-img-resp {
		height: 150px !important;
        width: 100%;
        object-fit: cover;
	}

	.modern-img-container-resp {
		min-height: 150px !important;
	}

	.modern-img-container-resp .listing-image-fallback {
		height: 150px !important;
	}
}

.line-clamp-1 {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.stats-label-m { font-size: 0.65rem !important; letter-spacing: 0.05em; }
.hero-title-m { letter-spacing: -1px; }
.hero-subtitle-m { max-width: 650px; line-height: 1.6; }
.cta-desc-m { max-width: 550px; line-height: 1.6; }
.footer-brand-text { line-height: 1.6; max-width: 280px; }
.footer-title-m { letter-spacing: 0.08em; }
.footer-hr-m { border-color: rgba(255, 255, 255, .15) !important; }
.category-badge-m { font-size: 10px !important; letter-spacing: 0.5px; }
.verified-badge-text { font-size: 12px !important; }
.form-label-m { letter-spacing: 0.5px; }
.form-input-m {
	height: 48px !important;
	border-color: #e2e8f0 !important;
}

/* A vendor dashboard stylesheet (assets/css/style.css) strips the default
   Bootstrap focus ring off every .form-control; restore a visible keyboard
   focus indicator for these modern-styled inputs. */
.form-input-m:focus-visible {
	outline: 2px solid var(--theme-blue) !important;
	outline-offset: -2px;
}

/* Social Links form inputs combine .border-0 + .shadow-none, leaving zero
   visual change on focus (no border to recolor, no box-shadow ring). Restore
   a visible keyboard focus indicator, scoped to this form only. */
#social-links-form .form-control:focus-visible {
	outline: 2px solid #8E75FF !important;
	outline-offset: -2px;
}

/* Rejection-reason info icon on Claim Details is now keyboard-focusable
   (tabindex added) but had no focus indicator at all - it's a bare <i>
   with no border/background for a browser default to fall back on. */
.fa-circle-info[data-bs-toggle="tooltip"]:focus-visible {
	outline: 2px solid #8E75FF !important;
	outline-offset: 3px;
	border-radius: 50%;
}

/* Same vendor-stylesheet problem hits .btn/.btn-save-modern's focus ring too.
   .btn-save-modern is shared by ~13 other pages, so this stays scoped to the
   Edit Profile form rather than fixing the shared class globally.
   Visually verified via screenshot with focus on each button. */
#edit-profile-form .btn-save-modern:focus-visible,
#edit-profile-form .btn-discard-modern:focus-visible {
	outline: 2px solid #8E75FF !important;
	outline-offset: 2px;
}

#update-password-form .btn-save-modern:focus-visible,
#update-password-form .btn-discard-modern:focus-visible {
	outline: 2px solid #8E75FF !important;
	outline-offset: 2px;
}

/* Same vendor-stylesheet focus-ring gap on the Billings pages - DETAILS,
   PAYMENT PROFILE, DOWNLOAD PDF, BACK TO BILLINGS buttons and the
   circular download icon button had zero visible focus indicator. */
#billing-list-page .btn-save-modern:focus-visible,
#billing-detail-page .btn-save-modern:focus-visible {
	outline: 2px solid #8E75FF !important;
	outline-offset: 2px;
}

#billing-list-page a[href*="/download"]:focus-visible {
	outline: 2px solid #8E75FF !important;
	outline-offset: 2px;
}

/* Eye-toggle icons are now keyboard-focusable (tabindex added in change-password.hbs);
   give them the same visible ring as everything else on this form. */
.password-eye-icon:focus-visible {
	outline: 2px solid #8E75FF !important;
	outline-offset: -2px;
	border-radius: 4px;
}

/* Same vendor-stylesheet focus-ring suppression, on the Edit/Media/Social action
   links and their .btn-navy-outline siblings (only 2 pages use this class). */
.btn-navy-outline:focus-visible {
	outline: 2px solid #8E75FF !important;
	outline-offset: 2px;
}

.cancel-subscription:focus-visible {
	outline: 2px solid #8E75FF !important;
	outline-offset: 2px;
	border-radius: 2px;
}

/* Ring on the whole rounded-pill group (not just the bare input) so it follows
   the pill's shape and includes the search icon, instead of a mismatched
   square-cornered ring sitting inside a round pill. Scoped to :has(input focused)
   rather than :focus-within so the Search/Clear buttons keep their own rings
   instead of stacking a second one. */
.listings-search-group:has(#search-location:focus-visible) {
	outline: 2px solid #8E75FF !important;
	outline-offset: 2px;
	border-radius: 50rem;
}

#btn-search-location:focus-visible,
#btn-clear-location:focus-visible {
	outline: 2px solid #8E75FF !important;
	outline-offset: -2px;
}

.hover-translate-y { transition: transform 0.3s ease; }
.hover-translate-y:hover {
	transform: translateY(-8px);
}

.hover-gap:hover i {
	margin-left: 0.75rem !important;
}

.transition-all-300 { transition: all 0.3s ease; }
.modern-sidebar-header {
	background: linear-gradient(90deg, var(--theme-blue-v2), #3b82f6) !important;
	padding: 18px 25px !important;
	color: white !important;
	font-weight: 700 !important;
	font-size: 0.85rem !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.modern-avatar-wrapper {
	position: relative;
	width: 130px;
	height: 130px;
	margin: 0 auto 15px;
}

.modern-avatar-img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid #fff;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

.modern-avatar-btn {
	position: absolute;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: 2px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.2s;
	z-index: 5;
	font-size: 0.75rem;
}

.modern-avatar-btn-edit {
	bottom: 5px;
	right: 15px;
	background: #0d1b3e;
	color: white;
}

.modern-avatar-btn-delete {
	bottom: 5px;
	left: 15px;
	background: #ef4444;
	color: white;
}

.modern-sidebar-item {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 12px 25px;
	color: #4b5563;
	text-decoration: none !important;
	transition: all 0.2s;
	font-size: 0.95rem;
	border-left: 3px solid transparent;
}

.modern-sidebar-item i {
	font-size: 1.1rem;
	width: 24px;
	text-align: center;
	color: #94a3b8;
	transition: all 0.2s;
}

.modern-sidebar-item:hover {
	background: var(--theme-slate-light);
	color: var(--theme-slate-v2);
}

.modern-sidebar-item.active {
	background: var(--theme-border);
	color: #6366f1;
	font-weight: 600;
	border-left-color: #6366f1;
}

.modern-sidebar-item.active i {
	color: #6366f1;
}

.modern-sidebar-item.text-danger:hover {
	background: #fef2f2;
}

.btn-back-top-modern {
	background: #0d1b3e !important;
	color: white !important;
	border: 0 !important;
	padding: 15px !important;
	font-weight: 600 !important;
	width: 100%;
	text-align: center;
	text-decoration: none !important;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	transition: all 0.3s;
}

.btn-back-top-modern:hover {
	background: #1a2a4e !important;
	gap: 15px;
}

.main-header { font-family: 'Inter', sans-serif; }
.header-top-nav { z-index: 1030; }
.header-link,
.btn-navy-theme { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }
.header-link { position: relative; background: transparent !important; }
.header-link:hover,
.header-link.active {
	color: var(--theme-blue) !important;
	background: transparent !important;
}

.header-link::after {
	content: '';
	position: absolute;
	width: 0;
	height: 2px;
	bottom: -4px;
	left: 0;
	background-color: var(--theme-accent-blue);
	transition: width 0.3s ease;
}

.header-link:hover::after,
.header-link.active::after {
	width: 100%;
}

.bg-light-extra { background-color: #f5f3ff; }
.header-search-bar {
	background: #fff;
	border-color: #ddd6fe !important;
	box-shadow: 0 4px 15px rgba(139, 92, 246, 0.1) !important;
}

.btn-search-theme {
	background: linear-gradient(135deg, var(--theme-blue) 0%, var(--theme-navy) 100%);
	color: #fff !important;
	border: none;
	font-size: 14px;
	letter-spacing: 0.5px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-search-theme:hover:not(:disabled) {
	background: linear-gradient(135deg, #7c5ffd 0%, var(--theme-navy) 100%);
	color: #fff !important;
}

.search-input-group i {
	font-size: 1.15rem;
}

.btn-search-theme:disabled {
	background: #e5e7eb;
	color: #9ca3af !important;
	cursor: not-allowed;
}

.home-hero-modern {
	background: linear-gradient(135deg, var(--theme-navy) 0%, #150e56 100%);
	position: relative;
	overflow: hidden;
}

/* Organic Liquid Alphabet Search */
.home-alphabet-organic {
    overflow: hidden;
}

.header-underline-m {
    width: 160px;
    height: 4px;
    background: linear-gradient(90deg, var(--theme-blue), transparent);
    border-radius: 10px;
    margin: 15px auto 0;
}

.alphabet-blob-link {
    width: 48px;
    height: 48px;
    text-decoration: none !important;
    transition: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.blob-bg {
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%;
    animation: blob-morph 10s ease-in-out infinite;
    transition: all 0.4s ease;
}

.alphabet-blob-link:nth-child(even) .blob-bg {
    animation-delay: -3s;
    background: #f1f4f9;
}

.alphabet-blob-link:nth-child(3n) .blob-bg {
    animation-delay: -6s;
}

.blob-text {
    font-size: 1.1rem;
    font-weight: 900;
    color: #334155;
    transition: all 0.3s ease;
}

.alphabet-blob-link:hover {
    transform: scale(1.2) rotate(5deg);
}

.alphabet-blob-link:hover .blob-bg {
    background: var(--theme-blue);
    border-color: var(--theme-blue);
    animation-play-state: paused;
    box-shadow: 0 15px 30px rgba(142, 117, 255, 0.4);
}

.alphabet-blob-link:hover .blob-text {
    color: #ffffff !important;
    transform: scale(1.1);
}

@keyframes blob-morph {
    0% { border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%; }
    33% { border-radius: 70% 30% 50% 50% / 30% 60% 40% 70%; }
    66% { border-radius: 30% 70% 70% 30% / 50% 40% 60% 50%; }
    100% { border-radius: 42% 58% 70% 30% / 45% 45% 55% 55%; }
}

@media (max-width: 575.98px) {
    .alphabet-blob-link {
        width: 42px;
        height: 42px;
    }
    .blob-text {
        font-size: 0.9rem;
    }
}

@media (max-width: 767px) {
	.modern-card-img-wrapper {
		min-height: 250px;
	}
}

@media (max-width: 1199px) {
	.category-input-group {
		display: none !important;
	}
}

@media (max-width: 991px) {
	.hero-title-main {
		font-size: 2.5rem;
	}

	#mobile-search-wrapper {
		margin-top: -1px;
		padding: 1rem 0 1.5rem !important;
		background-color: #ffffff !important;
		z-index: 1040;
	}

	#mobile-search-wrapper .header-search-bar {
		flex-direction: column !important;
		border-radius: 2rem !important;
		padding: 0.5rem !important;
		box-shadow: 0 10px 25px rgba(0, 0, 0, 0.05) !important;
		border: 1px solid #edf2f7 !important;
		overflow: visible !important;
	}

	#mobile-search-wrapper .search-input-group {
		width: 100% !important;
		border: 1px solid #e2e8f0 !important;
		padding: 0.75rem 1.25rem !important;
		margin-bottom: 0.75rem !important;
		border-radius: 2rem !important;
		display: flex !important;
		align-items: center !important;
	}

	#mobile-search-wrapper .search-input-group.border-end {
		border: 1px solid #e2e8f0 !important;
	}

	#mobile-search-wrapper .border-end {
		border-right: none !important;
	}

	#mobile-search-wrapper .search-input-group i {
		font-size: 1rem !important;
		color: #94a3b8 !important;
		margin-right: 0.75rem !important;
	}

	#mobile-search-wrapper .form-control,
	#mobile-search-wrapper .select2-container--default .select2-selection--single {
		background: transparent !important;
		border: none !important;
		height: auto !important;
		padding: 0 !important;
		font-size: 12px !important;
		line-height: 1.5 !important;
	}

	#mobile-search-wrapper .select2-container--default {
		width: 100% !important;
	}

	#mobile-search-wrapper .select2-container--default .select2-selection--single .select2-selection__rendered {
		line-height: normal !important;
		padding-left: 0 !important;
		color: #475569 !important;
	}

	#mobile-search-wrapper .select2-container--default .select2-selection--single .select2-selection__arrow {
		height: 100% !important;
		top: 0 !important;
		right: 0 !important;
	}

	#mobile-search-wrapper .btn-search-theme {
		width: 100% !important;
		border-radius: 2rem !important;
		height: 40px !important;
		font-weight: 700;
	}

	.category-input-group {
		display: flex !important;
	}
}

@media (max-width: 767px) {
	.modern-biz-card,
	.modern-biz-card .row {
		height: auto !important;
		min-height: auto !important;
	}

	.modern-card-img,
	.card-img-fallback {
		height: 220px !important;
	}
}

@media (min-width: 768px) {
	.h-md-100 {
		height: 100% !important;
	}
}


#reg-tabs-wrapper {
	position: relative;
}

.tab-slider {
	position: absolute;
	top: 4px;
	left: 4px;
	width: calc(50% - 4px);
	height: calc(100% - 8px);
	background: linear-gradient(135deg, var(--theme-blue) 0%, var(--theme-accent-blue) 100%);
	border-radius: 50px;
	transition: transform 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
	z-index: 1;
	box-shadow: 0 4px 10px rgba(142, 117, 255, 0.3);
}

.nav-link-custom {
	color: #6c757d;
	text-decoration: none;
	transition: all 0.3s ease;
	position: relative;
	z-index: 2;
	font-weight: 700 !important;
}

.nav-link-custom.active-label {
	color: #fff !important;
}

.nav-link-custom.text-muted {
	opacity: 0.7;
}

.form-label-modern {
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #64748b !important;
    margin-bottom: 0.5rem !important;
}

.reg-label {
    display: inline-flex;
    align-items: center;
}

.modern-form .reg-input {
	width: 100% !important;
	padding: 12px 16px 12px 45px !important;
	background: #f1f4f9 !important;
	border: 2px solid transparent !important;
	border-radius: 12px !important;
	font-size: 0.95rem;
	height: 50px !important;
	transition: all 0.3s ease;
}

.modern-form .reg-input:focus {
	background: #fff !important;
	border-color: var(--theme-blue) !important;
	box-shadow: 0 0 0 4px rgba(142, 117, 255, 0.1) !important;
}

.input-with-icon-modern {
	position: relative !important;
	display: block !important;
	width: 100%;
}

.input-with-icon-modern i:first-child,
.toggle-eye-modern {
	position: absolute !important;
	top: 0 !important;
	width: 45px;
	height: 50px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: #94a3b8 !important;
	z-index: 5;
	pointer-events: none;
}

.toggle-eye-modern {
	right: 10px !important;
	left: auto !important;
	pointer-events: auto !important;
	cursor: pointer;
}

.btn-navy-outline {
	background: transparent;
	border: 1.5px solid var(--theme-navy-v2);
	color: var(--theme-navy-v2);
}

.btn-navy-outline:hover {
	background: var(--theme-navy-v2);
	color: #ffffff !important;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.15);
}

.letter-spacing-1 { letter-spacing: 1px; }
.premium-ribbon {
	position: absolute;
	top: 16px;
	left: -38px;
	background: #f59e0b;
	color: var(--theme-slate-v2);
	padding: 4px 35px;
	font-size: 8px;
	font-weight: 800;
	transform: rotate(-45deg);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	z-index: 10;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	white-space: nowrap;
}

.premium-ribbon i {
	transform: rotate(45deg);
	margin-right: 2px;
}

.img-hover-zoom { overflow: hidden; }
.img-hover-zoom img {
	transition: transform 0.6s ease;
}

.premium-listing-card:hover .img-hover-zoom img {
	transform: scale(1.1);
}

.reg-submit-btn {
	background: linear-gradient(135deg, var(--theme-blue) 0%, var(--theme-accent-blue) 100%) !important;
	border: none !important;
	color: #fff !important;
	border-radius: 12px !important;
	padding: 12px !important;
	font-weight: 800 !important;
	box-shadow: 0 4px 12px rgba(142, 117, 255, 0.2) !important;
	transition: all 0.3s ease !important;
}

.reg-submit-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(142, 117, 255, 0.4) !important;
}

.text-accent { color: var(--theme-blue) !important; }
.hover-underline:hover { text-decoration: underline !important; }
.password-hints-grid ul {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 0px 10px;
}

.password-hints-grid li p {
	color: #94a3b8;
	font-size: 0.75rem;
	margin-bottom: 4px;
}

.password-hints-grid li p.check,
.password-hints-grid li p.check i {
	color: #10b981;
}

label.errorValidation {
	display: block !important;
	width: 100% !important;
	color: #dc3545 !important;
	font-size: 0.825rem !important;
	font-weight: 500 !important;
	margin-top: 6px !important;
	margin-bottom: 0 !important;
	position: static !important;
	text-align: left !important;
}

.modal-close-custom {
	position: absolute;
	top: 15px;
	right: 15px;
	z-index: 10;
	filter: invert(1) grayscale(1) brightness(1.5);
}

.lost-password-modal {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 95%;
	max-width: 420px;
	z-index: 9999;
	background: #fff;
	display: none;
}

.reg-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(4px);
	z-index: 9998;
	display: none;
}

.close-lpt {
	position: absolute;
	top: 0px;
	right: 12px;
	font-size: 20px;
	color: #999;
	cursor: pointer;
	padding: 15px;
}

.modern-phone-wrapper .iti {
	width: 100%;
}

.modern-phone-wrapper .iti__flag-container {
	left: 45px !important;
	right: auto !important;
}

.modern-phone-wrapper .reg-input {
	padding-right: 15px !important;
}

.profile-section {
	background: var(--theme-slate-light) !important;
	padding-top: 40px !important;
}

.switch-title {
	font-weight: 700;
	color: var(--theme-navy);
	font-size: 0.9375rem;
}

.profile-actions-modern { border-top: 1px solid var(--theme-border); }
.btn-discard-modern {
	background: transparent;
	border: none;
	color: #64748b !important;
	font-weight: 600 !important;
	transition: all 0.3s ease !important;
	text-decoration: none;
	cursor: pointer;
	padding: 14px 34px !important;
}

.btn-discard-modern:hover {
	color: var(--theme-navy) !important;
}

.btn-save-modern {
	padding: 14px 34px !important;
	border-radius: 50px !important;
	background: var(--theme-navy) !important;
	color: #fff !important;
	font-weight: 700 !important;
	border: none !important;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	transition: all 0.3s ease !important;
	text-transform: none;
	line-height: normal;
}

.btn-save-modern:hover:not(:disabled) {
	background: var(--theme-blue) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 20px rgba(142, 117, 255, 0.3) !important;
	color: #fff !important;
}

.btn-save-modern:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

.modern-form-section-header {
	border-top: 1px solid var(--theme-border);
	padding: 1.5rem 1.5rem 1rem;
	background: var(--theme-border);
}

.modern-form-section-header h3 {
	font-size: 1.125rem;
	font-weight: 800;
	color: var(--theme-navy);
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-bottom: 0;
	display: flex;
	align-items: center;
	gap: 12px;
}

.password-eye-icon {
	position: absolute !important;
	right: 20px;
	top: 0px !important;
	height: 46px !important;
	width: 45px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	transform: none !important;
	z-index: 5;
	font-size: 1rem !important;
	color: #94a3b8 !important;
	transition: color 0.3s ease;
}

.password-eye-icon:hover {
	color: var(--theme-navy) !important;
}

.password-rule.check {
	color: #10b981 !important;
}

.modern-tabs {
	background: var(--theme-slate-light);
	padding: 1rem 1.5rem 0;
	border-bottom: 1px solid #e2e8f0;
}

.tab-item {
	padding: 14px 24px;
	background: var(--theme-border);
	border: 1px solid #e2e8f0;
	border-bottom: none;
	border-radius: 12px 12px 0 0;
	color: #64748b;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.5px;
	white-space: nowrap;
	transition: all 0.3s ease;
	cursor: default;
	flex: 1 0 auto;
	text-align: center;
}

@media (min-width: 992px) {
	.tab-item {
		white-space: normal;
		flex: 1 1 0px !important;
		min-width: 0;
	}
}

@media (max-width: 991.98px) {
	.modern-tabs {
		padding: 0.75rem 0.75rem 0;
		gap: 0.5rem !important;
	}
	.tab-item {
		flex: 1 1 0px !important;
		padding: 12px 10px;
		font-size: 0.8rem;
		white-space: normal;
		min-width: 0;
		line-height: 1.2;
		border-radius: 10px 10px 0 0;
	}
	.tab-item i {
		font-size: 1rem;
		margin-bottom: 2px;
	}
}

@media (max-width: 575.98px) {
	.modern-tabs {
		padding: 0.5rem 0.5rem 0;
		gap: 4px !important;
	}
	.tab-item {
		padding: 10px 4px;
		font-size: 11px;
		letter-spacing: 0;
		min-width: 0 !important;
	}
	.tab-item i {
		font-size: 13px;
	}
}

.tab-item.active {
	background: #fff;
	color: var(--theme-navy);
	border-color: #e2e8f0;
	position: relative;
	z-index: 2;
}

.tab-item.active::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: var(--theme-blue);
	border-radius: 12px 12px 0 0;
}

.modern-stepper-section { display: none; }
.modern-stepper-section.active {
	display: block;
}

.bg-modern-light { background-color: var(--theme-slate-light) !important; }
.rounded-4 { border-radius: 1rem !important; }
.border-modern { border: 1px solid #e2e8f0 !important; }
.btn-modern-primary {
	background: var(--theme-navy-v2) !important;
	color: white !important;
	font-weight: 600;
	border-radius: 0.75rem;
	padding: 10px 24px;
	border: none !important;
	transition: all 0.3s ease !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.btn-modern-primary:hover {
	background: var(--theme-slate-v2) !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

.modern-tab-nav {
	display: flex;
	gap: 8px;
	padding: 6px;
	background: var(--theme-border);
	border-radius: 12px;
}

.modern-tab-item {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px;
	padding: 10px 20px !important;
	border-radius: 8px;
	font-size: 0.875rem;
	font-weight: 600 !important;
	color: #64748b !important;
	border: none !important;
	background: transparent !important;
	transition: all 0.3s ease !important;
	border-bottom: 2px solid transparent !important;
}

.modern-tab-item i {
	line-height: 1;
	position: relative;
	top: 0.15em;
}

.modern-tab-item:hover {
	color: var(--theme-navy-v2) !important;
}

.modern-tab-item.active {
	background: white !important;
	color: var(--theme-navy-v2) !important;
	box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1);
	border-bottom: 2px solid var(--theme-navy-v2) !important;
}

@media (max-width: 991.98px) {
	.modern-tab-nav {
		padding: 4px;
		gap: 4px !important;
	}
	.modern-tab-item {
		padding: 8px 10px !important;
		font-size: 0.8rem;
		min-width: 0 !important;
		line-height: 1.0;
	}
}

@media (max-width: 575.98px) {
	.modern-tab-nav {
		flex-direction: column;
	}
	.modern-tab-item {
		width: 100%;
		justify-content: flex-start !important;
		padding: 10px !important;
		font-size: 0.8rem;
	}
	#youtube-video-container .input-group-text {
		padding-left: 0.5rem !important;
		padding-right: 0.5rem !important;
	}
	#youtube-video-container .input-group-text i {
		font-size: 1.25rem !important;
	}
	#youtubeURL {
		min-width: 0;
		font-size: 0.85rem;
	}
	#add-youtube-url {
		flex-basis: 100%;
	}
}

.upload-zone-modern {
	border: 2px dashed #e2e8f0;
	border-radius: 1rem;
	background: #ffffff;
	transition: all 0.2s ease;
}

.upload-zone-modern:hover {
	border-color: #3b82f6;
	background: #f0f9ff;
}

.wh-20 { width: 20px !important; height: 20px !important; }
.wh-32 { width: 32px !important; height: 32px !important; }
.wh-40 { width: 40px !important; height: 40px !important; }
.wh-56 { width: 56px !important; height: 56px !important; }
.wh-60 { width: 60px !important; height: 60px !important; }
.wh-80 { width: 80px !important; height: 80px !important; }
.wh-100 { width: 100px !important; height: 100px !important; }
.wh-220 { width: 220px !important; }
.x-small { font-size: 0.75rem !important; }
.fs-7 { font-size: 0.85rem !important; }
.fs-8 { font-size: 0.75rem !important; }
.fs-9 { font-size: 9px !important; }
.fs-11 { font-size: 11px !important; }
.ls-02 { letter-spacing: 0.2px !important; }
.ls-05 { letter-spacing: 0.5px !important; }
.fw-800 { font-weight: 800 !important; }
.opacity-90 { opacity: 0.9 !important; }
.aspect-ratio-16-9 { aspect-ratio: 16/9 !important; }
.object-fit-cover { object-fit: cover !important; }
.glass-blur-2 {
	backdrop-filter: blur(2px) !important;
	-webkit-backdrop-filter: blur(2px) !important;
}

.transition-all { transition: all 0.3s ease !important; }
.btn-remove-media {
	position: absolute !important;
	top: 10px !important;
	right: 10px !important;
	z-index: 10 !important;
	padding: 0 !important;
	width: 32px !important;
	height: 32px !important;
}

.btn-remove-media i {
	font-size: 12px !important;
}

.gallery-card-lg { height: 300px !important; max-width: 500px !important; }
.gallery-card-md { height: 220px !important; }
.gallery-card-sm { height: 180px !important; }
.min-w-360 { min-width: min(360px, 100%) !important; }
.min-h-200 { min-height: 200px !important; }
.min-h-250 { min-height: 250px !important; }
.max-w-400 { max-width: 400px !important; }
.shadow-inner {
	box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06) !important;
}

.premium-card .badge {
	border-radius: 50px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
	padding: 6px 12px !important;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.2) !important;
}

.badge-soft-success {
	background-color: #dcfce7 !important;
	color: #15803d !important;
}

.badge-soft-danger {
	background-color: #fee2e2 !important;
	color: #b91c1c !important;
}

.badge-soft-warning {
	background-color: #fef9c3 !important;
	color: #a16207 !important;
}

.badge-soft-info {
	background-color: #e0f2fe !important;
	color: #0369a1 !important;
}

.badge-soft-primary {
	background-color: #e0e7ff !important;
	color: #4338ca !important;
}

.invoice-amount-separator { border-left: 2px dashed #e2e8f0; height: 40px; }
@media (max-width: 767.98px) {
	.invoice-amount-separator {
		display: none;
	}
}

.custom-faq-accordion .accordion-item {
	border: 1px solid #e2e8f0 !important;
	border-radius: 12px !important;
	margin-bottom: 1rem;
	transition: all 0.3s ease;
}

.custom-faq-accordion .accordion-item:hover {
	border-color: var(--theme-blue) !important;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(142, 117, 255, 0.05);
}

.custom-faq-accordion .accordion-button {
	background-color: transparent !important;
	box-shadow: none !important;
	transition: all 0.3s ease;
}

.custom-faq-accordion .accordion-button:not(.collapsed) {
	color: var(--theme-blue) !important;
	background-color: rgba(142, 117, 255, 0.05) !important;
}

.custom-faq-accordion .accordion-button::after {
	background-size: 1rem;
	transition: transform 0.3s ease;
}

.faq-category-title { position: relative; padding-left: 15px; }
.faq-category-title::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 20px;
	background: var(--theme-blue);
	border-radius: 2px;
}

.immersive-content-wrapper {
	position: relative;
	padding-top: 5rem;
	padding-bottom: 5rem;
	background: var(--theme-slate-light);
}

.glass-card {
	background: rgba(255, 255, 255, 0.8) !important;
	backdrop-filter: blur(12px) !important;
	-webkit-backdrop-filter: blur(12px) !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.07) !important;
}

.sticky-side-card { position: sticky; top: 24px; z-index: 10; }
.unique-number-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	background: var(--theme-blue);
	color: white;
	border-radius: 12px;
	font-weight: 800;
	font-size: 1.25rem;
	box-shadow: 0 4px 12px rgba(142, 117, 255, 0.3);
}

.text-gradient-purple {
	background: linear-gradient(135deg, var(--theme-blue) 0%, var(--theme-accent-blue) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.leading-relaxed { line-height: 1.625 !important; }
.z-index-5 { z-index: 5 !important; }
.z-index-10 { z-index: 10 !important; }
.shadow-2xl { box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); }
@media screen and (max-width: 440px) {
	.contact-recaptcha-container #recaptcha {
		transform: scale(0.85);
		transform-origin: left top;
	}
}

@media screen and (max-width: 380px) {
	.contact-recaptcha-container #recaptcha {
		transform: scale(0.78);
		transform-origin: left top;
	}
}

.ls-2 { letter-spacing: 0.15em !important; }
.search-wrap-modern { transition: all 0.3s ease; min-width: 250px; }
.search-wrap-modern:focus-within {
	background: #fff !important;
	border-color: var(--theme-blue) !important;
	box-shadow: 0 0 0 3px rgba(142, 117, 255, 0.1);
}

.category-card-modern {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	border: 1px solid transparent;
}

.category-card-modern:hover {
	background: #ffffff !important;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
	transform: translateY(-3px);
	border-color: #e2e8f0;
}

.category-card-modern:hover .category-icon-wrap {
	background: var(--theme-border) !important;
	transform: scale(1.05);
}

.category-icon-wrap { width: 46px; height: 46px; }
.outline-none { outline: none !important; }
.category-title { transition: color 0.3s ease; font-size: 0.95rem; }
.category-card-modern:hover .category-title {
	color: var(--theme-blue) !important;
}

.category-subtitle { font-size: 0.65rem; }
.hover-bg-accent { transition: all 0.3s ease; }
.hover-bg-accent:hover {
	background-color: var(--theme-blue) !important;
	color: #fff !important;
	border-color: var(--theme-blue) !important;
}

.shadow-xxl {
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15) !important;
}

.empty-state-v2::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(circle, rgba(79, 70, 229, 0.03) 0%, transparent 70%);
	pointer-events: none;
}

.hero-icon-bg {
	background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%);
	border-radius: 20px;
	transform: rotate(10deg);
	opacity: 0.1;
	transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.hero-icon-main {
	width: 100%;
	height: 100%;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1);
	transition: all 0.4s ease;
}

.empty-state-v2:hover .hero-icon-bg {
	transform: rotate(20deg) scale(1.1);
}

.empty-state-v2:hover .hero-icon-main {
	transform: translateY(-5px);
}

.faq-link-v2 {
	background: var(--theme-slate-light) !important;
	font-weight: 700 !important;
	color: var(--theme-slate-v2) !important;
	transition: all 0.3s ease !important;
}

.faq-link-v2:not(.collapsed) {
	background: #ffffff !important;
	box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.05);
	color: #4f46e5 !important;
}

.faq-body-v2 { color: #64748b; line-height: 1.7; }
.suggestion-pill-v2 {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	color: #475569;
	font-weight: 600;
	transition: all 0.2s ease;
}

.suggestion-pill-v2:hover {
	border-color: #4f46e5;
	color: #4f46e5 !important;
	transform: translateY(-2px);
	box-shadow: 0 8px 15px -5px rgba(79, 70, 229, 0.1);
}

.payment-card-premium {
	min-height: 200px;
	border-radius: 20px;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	border: 1px solid rgba(255, 255, 255, 0.1);
	box-shadow: 0 15px 35px -12px rgba(0, 0, 0, 0.3);
}

.payment-card-premium::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, transparent 100%);
	z-index: 1;
}

.card-brand {
	background: linear-gradient(135deg, var(--theme-slate-v2) 0%, #334155 100%);
}

.card-chip {
	width: 35px;
	height: 25px;
	background: linear-gradient(135deg, #eab308 0%, #ca8a04 100%);
	border-radius: 4px;
}

.card-number-premium {
	font-family: 'Courier New', Courier, monospace;
	letter-spacing: 1.5px;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}

/* At very narrow widths the masked number + last 4 digits wrap onto two lines -
   shrink to fit on one, since it's short enough to always stay legible at this size. */
@media (max-width: 360px) {
	.card-number-premium.fs-5 {
		font-size: 1rem !important;
		letter-spacing: 1px;
	}
}

.card-holder-label { font-size: 0.55rem; letter-spacing: 1px; }
.card-holder-name-val { letter-spacing: 0.5px; }
.card-badge-primary {
	background: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, 0.2);
	font-size: 0.6rem;
	letter-spacing: 0.5px;
}

.btn-glass-sm {
	background: rgba(255, 255, 255, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.2);
	transition: all 0.2s ease;
}

.card-brand-logo-val { height: 28px; width: auto; object-fit: contain; }
.add-card-wrapper {
	background: var(--theme-slate-light);
	border: 2px dashed #cbd5e1;
	border-radius: 20px;
	transition: all 0.3s ease;
}

.add-card-wrapper:hover {
	border-color: #4f46e5;
	background: var(--theme-border);
	transform: translateY(-2px);
}

.payment-form-premium .form-control {
	border-radius: 10px !important;
}

/* "Add Payment Method" wraps to 2 lines inside the pill button below ~360px,
   leaving the icon pinned top-left instead of centered against the text.
   Stack both footer buttons full-width so there's room for the label. */
@media (max-width: 575.98px) {
	.payment-form-premium .text-end.mt-5 {
		display: flex;
		flex-direction: column-reverse;
		gap: 0.75rem;
	}

	.payment-form-premium .text-end.mt-5 .btn {
		width: 100%;
		margin: 0 !important;
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}

	/* Even full-width, "Add Payment Method" still wraps to 2 lines at very
	   narrow widths - center the icon against the wrapped text block instead
	   of leaving it pinned to the first line only. */
	.payment-form-premium #myaccount-add-card {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

.premium-total-card {
	background: linear-gradient(135deg, var(--theme-navy) 0%, var(--theme-navy-deep) 100%);
	transition: all 0.3s ease;
}

.premium-total-card:hover {
	transform: scale(1.02);
	box-shadow: 0 15px 30px rgba(10, 25, 49, 0.25);
}

.premium-total-card::after {
	content: '';
	position: absolute;
	top: -50%;
	right: -50%;
	width: 200px;
	height: 200px;
	background: rgba(255, 255, 255, 0.03);
	border-radius: 50%;
	z-index: 1;
}

.location-checklist-item {
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.location-checklist-item:hover {
	background-color: var(--theme-slate-light);
	border-color: var(--theme-blue) !important;
	transform: translateY(-2px);
	box-shadow: 0 10px 15px -3px rgba(142, 117, 255, 0.1), 0 4px 6px -2px rgba(142, 117, 255, 0.05);
}

.location-checklist-item.selected {
	background: rgba(142, 117, 255, 0.04) !important;
	border-color: var(--theme-blue) !important;
}

.location-checklist-item.selected .selected-indicator {
	display: block !important;
}

.mark-indicator {
	position: absolute;
	top: 10px;
	right: 10px;
	color: #fff;
	background: var(--theme-blue);
	border-radius: 50%;
	width: 24px;
	height: 24px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	z-index: 5;
	box-shadow: 0 4px 10px rgba(142, 117, 255, 0.4);
	border: 2px solid #fff;
}

.mark-indicator i {
	font-size: 11px !important;
	line-height: normal !important;
	margin-top: 2px !important;
	padding-left: 5px !important;
	display: block !important;
	transform: translate(0.5px, 0.5px);
}

.location-checklist-item.selected .fw-bold {
	color: var(--theme-blue) !important;
}

.animate-fade-in { animation: fadeIn 0.3s ease-out; }
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: scale(0.9);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

.checklist-body {
	scrollbar-width: thin;
	scrollbar-color: #cbd5e1 var(--theme-slate-light);
}

.checklist-body::-webkit-scrollbar {
	width: 6px;
}

.checklist-body::-webkit-scrollbar-track {
	background: var(--theme-slate-light);
}

.checklist-body::-webkit-scrollbar-thumb {
	background-color: #cbd5e1;
	border-radius: 20px;
}

.wh-64 { width: 64px !important; height: 64px !important; }
.shadow-inner {
	box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.05) !important;
}

.payment-card-premium:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 30px -5px rgba(0, 0, 0, 0.2) !important;
}

.custom-card-check .form-check-input:checked {
	background-color: #fff;
	border-color: #fff;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%238E75FF' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.pricing-card {
	border: 1px solid var(--theme-border);
	background: #fff;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	z-index: 5;
}

.pricing-premium-card.featured {
	border: 2px solid rgba(142, 117, 255, 0.3);
	box-shadow: 0 40px 80px -20px rgba(10, 25, 49, 0.35) !important;
	animation: featured-glow 4s infinite alternate;
}

@keyframes featured-glow {
	from {
		border-color: rgba(142, 117, 255, 0.3);
	}

	to {
		border-color: rgba(142, 117, 255, 0.8);
	}
}

.pricing-premium-card.featured:hover {
	transform: translateY(-12px) scale(1.03);
}

.btn-outline-navy {
	border: 2px solid var(--theme-navy);
	color: var(--theme-navy);
	background: transparent;
	transition: all 0.3s ease;
}

.btn-outline-navy:hover {
	background: var(--theme-navy);
	color: #fff !important;
}

.btn-light-theme {
	background: #fff !important;
	color: var(--theme-navy) !important;
	border: none;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}

.btn-light-theme:hover {
	background: var(--theme-slate-light);
	color: var(--theme-blue) !important;
}

.wh-50 { width: 50px !important; height: 50px !important; }
.z-index-2 { z-index: 2 !important; }
.transition-bounce:active {
	transform: scale(0.95);
}

@media (max-width: 991px) {
	.pricing-card {
		margin-bottom: 2rem;
	}
}

.listing-details-page-new .premium-card {
	border: none !important;
	box-shadow: var(--premium-shadow-v2) !important;
	border-radius: 2rem !important;
	background: #fff !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	overflow: hidden;
	position: relative;
	height: auto;
}

.listing-details-page-new .sidebar-nav-item {
	padding: 12px 20px;
	color: #64748b;
	font-weight: 700;
	border-radius: 12px;
	transition: all 0.3s ease;
	margin-bottom: 8px;
}

.listing-details-page-new .sidebar-nav-item i {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--theme-border);
	border-radius: 12px;
	color: var(--theme-blue-v2);
	font-size: 0.9rem;
	transition: all 0.3s ease;
}

.listing-details-page-new .sidebar-nav-item:hover,
.listing-details-page-new .sidebar-nav-item.active {
	background: #fff;
	color: var(--theme-blue-v2);
	box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
}

.listing-details-page-new .sidebar-nav-item.active {
	background: var(--theme-blue-v2) !important;
	color: #fff !important;
}

.listing-details-page-new .sidebar-nav-item.active i {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}

.listing-details-page-new .inquiry-hub-card {
	background: linear-gradient(135deg, var(--theme-navy-v2) 0%, var(--theme-slate-v2) 100%);
	color: #fff;
	border: none !important;
	border-radius: 2rem;
}

.listing-details-page-new .icon-box-premium {
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.listing-details-page-new .icon-box-premium i {
	color: #fff;
	font-size: 1.2rem;
}

.icon-box-premium-sm {
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}
.icon-box-premium-sm i {
    font-size: 0.9rem;
}

@media (max-width: 1200px) {
	.listing-details-page-new .portfolio-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.listing-details-page-new .portfolio-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.listing-details-page-new .portfolio-item {
	border-radius: 1.5rem;
	overflow: hidden;
	position: relative;
	aspect-ratio: 1/1;
	background: var(--theme-slate-light);
}

.listing-details-page-new .portfolio-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.listing-details-page-new .portfolio-item:hover img {
	transform: scale(1.1);
}

.listing-details-page-new .text-primary-theme {
	color: var(--theme-blue-v2) !important;
}

.listing-details-page-new .bg-primary-theme {
	background-color: var(--theme-blue-v2) !important;
}

.listing-details-page-new .btn-primary-theme {
	background-color: var(--theme-blue-v2) !important;
	color: #fff !important;
}

.listing-details-page-new .btn-navy-theme {
	background-color: var(--theme-navy-v2) !important;
	color: #fff !important;
}

.listing-details-page-new .hover-bg-light:hover {
	background-color: var(--theme-slate-light) !important;
}

.listing-details-page-new .transition-all {
	transition: all 0.3s ease-in-out;
}

.listing-details-page-new .hover-scale:hover {
	transform: scale(1.02);
}

.listing-details-page-new .hours-list {
	display: flex;
	flex-direction: column;
}

.listing-details-page-new .shadow-inner {
	box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06) !important;
}

.listing-details-page-new .portfolio-overlay {
	background: linear-gradient(0deg, rgba(15, 23, 42, 0.9), transparent);
	transition: all 0.4s ease;
}

.listing-details-page-new .reviews-list-section .review {
	background: #fff !important;
	border-radius: 1.5rem !important;
	padding: 2rem !important;
	margin-bottom: 2rem !important;
	border: 1px solid rgba(226, 232, 240, 0.8) !important;
	box-shadow: var(--premium-shadow-v2) !important;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	position: relative;
}

.listing-details-page-new .review-avatar-wrapper {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	overflow: hidden;
	border: 4px solid #fff;
	box-shadow: 0 8px 20px -5px rgba(0, 0, 0, 0.15);
	background: var(--theme-slate-light);
	flex-shrink: 0;
}

.listing-details-page-new .review-avatar-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.listing-details-page-new .review-meta-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background: var(--theme-slate-light);
	border-radius: 50px;
	font-size: 11px;
	font-weight: 800;
	color: #64748b;
	border: 1px solid var(--theme-border);
}

.listing-details-page-new .review-badge-action {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 8px 14px;
	border-radius: 50px;
	font-size: 10px;
	font-weight: 900;
	text-decoration: none !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.listing-details-page-new .review-badge-action:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.listing-details-page-new .badge-flag {
	background: #fff1f2;
	color: #e11d48;
}

.listing-details-page-new .badge-reply {
	background: #f0f9ff;
	color: #0284c7;
}

.listing-details-page-new .badge-edit {
	background: #f0fdf4;
	color: #16a34a;
}

.listing-details-page-new .badge-delete {
	background: #fff5f5;
	color: #ef4444;
}

.listing-details-page-new .reviews-list-section .review-message {
	font-size: 1.05rem !important;
	line-height: 1.8 !important;
	color: #334155 !important;
	margin-top: 1.25rem !important;
	font-weight: 500;
}

.listing-details-page-new .owner-reply-card {
	background: var(--theme-slate-light);
	border-radius: 1.5rem;
	padding: 0.75rem;
	border-left: 5px solid var(--theme-blue);
	margin-top: 2rem;
	position: relative;
}

.listing-details-page-new .owner-reply-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 16px;
	background: var(--theme-navy);
	color: #fff;
	border-radius: 50px;
	font-size: 10px;
	font-weight: 950;
	letter-spacing: 1px;
	box-shadow: 0 4px 10px rgba(10, 25, 49, 0.2);
}

.listing-details-page-new .swiper-button-prev,
.listing-details-page-new .swiper-button-next {
	position: static !important;
	margin-top: 0 !important;
}

.listing-details-page-new .swiper-button-prev::after,
.listing-details-page-new .swiper-button-next::after {
	display: none !important;
}

.listing-details-page-new #photo-gallery-slider .swiper-slide {
	width: auto !important;
	max-width: 90%;
}

.listing-details-page-new #photo-gallery-slider .portfolio-item img {
	border-radius: 2rem;
}

.listing-details-page-new .bg-navy {
	background: var(--theme-navy-v2) !important;
}

.listing-details-page-new .shadow-2xl {
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
}

.listing-details-page-new .mesh-accent-1 {
	position: absolute;
	top: -10%;
	left: -10%;
	width: 50%;
	height: 80%;
	background: radial-gradient(circle, rgba(124, 58, 237, 0.2) 0%, transparent 70%);
	filter: blur(80px);
	animation: meshMove 15s infinite alternate;
}

.listing-details-page-new .mesh-accent-2 {
	position: absolute;
	bottom: -10%;
	right: -10%;
	width: 40%;
	height: 70%;
	background: radial-gradient(circle, rgba(59, 130, 246, 0.15) 0%, transparent 70%);
	filter: blur(80px);
	animation: meshMove 20s infinite alternate-reverse;
}

@keyframes meshMove {
	0% {
		transform: translate(0, 0) scale(1);
	}

	50% {
		transform: translate(5%, 10%) scale(1.1);
	}

	100% {
		transform: translate(-5%, -5%) scale(0.9);
	}
}

.listing-details-page-new #top-section {
	background: radial-gradient(circle at center, #334155 0%, var(--theme-navy-v2) 100%);
	position: relative;
}

.listing-details-page-new .glass-identity-card {
	background: rgba(255, 255, 255, 0.03);
	backdrop-filter: blur(80px);
	-webkit-backdrop-filter: blur(80px);
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	max-width: 1200px;
}

.listing-details-page-new .hero-logo-wrapper {
	width: 180px;
	height: 180px;
}

.listing-details-page-new .title-responsive {
	font-size: clamp(2rem, 5vw, 3.5rem);
	line-height: 1.1;
}

.listing-details-page-new .btn-outline-white {
	background: transparent;
	border-color: rgba(255, 255, 255, 0.2);
	color: white;
}

.listing-details-page-new .btn-outline-white:hover {
	background: white !important;
	color: var(--theme-navy-v2) !important;
}

.listing-details-page-new .bg-white-10 {
	background: rgba(255, 255, 255, 0.08);
}

.listing-details-page-new .z-index-10 {
	z-index: 10 !important;
}

.listing-details-page-new .hover-white-100:hover {
	color: white !important;
	opacity: 1 !important;
}

.report-link-premium:hover {
	opacity: 1;
	color: #fff !important;
}

.report-link-premium:hover i {
	color: #ff4d4d !important;
	opacity: 1 !important;
}

@media (max-width: 991px) {
	.listing-details-page-new .glass-identity-card {
		flex-direction: column;
		text-align: center;
		gap: 2rem !important;
	}
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.listing-details-page-new .animate-fade-in-up {
	animation: fadeInUp 0.8s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

@keyframes pulsate {
	0% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.7);
	}

	70% {
		transform: scale(1.1);
		box-shadow: 0 0 0 10px rgba(59, 130, 246, 0);
	}

	100% {
		transform: scale(1);
		box-shadow: 0 0 0 0 rgba(59, 130, 246, 0);
	}
}

.listing-details-page-new .pulsate {
	animation: pulsate 2s infinite;
}

@media (min-width: 768px) {
	.listing-details-page-new .pb-md-8 {
		padding-bottom: 6rem !important;
	}
}


.fw-950 { font-weight: 950 !important; }
.section-label {
	font-size: 0.75rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: #94a3b8;
	margin-bottom: 1.25rem;
	display: block;
}

.breadcrumb-item+.breadcrumb-item::before {
	content: "•" !important;
	color: #cbd5e1 !important;
	font-weight: 900;
}

@media (max-width: 768px) {
	.listing-hero-new {
		height: auto !important;
		min-height: 450px !important;
		padding: 60px 0 !important;
	}

	.hero-logo-wrapper {
		width: 140px !important;
		height: 140px !important;
	}

	.glass-identity-card {
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.listing-gallery-slider {
		height: 350px !important;
	}
}

#top-section {
	min-height: 300px;
}

.inquiry-hub-card {
	background: linear-gradient(135deg, var(--theme-navy) 0%, var(--theme-slate-v2) 100%);
	color: #fff;
	border-radius: 1.5rem;
	min-height: 250px;
	transition: all 0.3s ease;
}

.premium-card-watermark {
	position: absolute;
	bottom: -20px;
	right: -20px;
	font-size: 8rem;
	opacity: 0.03;
	pointer-events: none;
	transform: rotate(-15deg);
	z-index: 1;
}

.inquiry-hub-card .premium-card-watermark {
	opacity: 0.05;
	color: #fff;
}

.inquiry-hub-deco {
	position: absolute;
	top: -30px;
	right: -30px;
	width: 150px;
	height: 150px;
	background: rgba(255, 255, 255, 0.04);
	border-radius: 50%;
}

.contact-hub-grid { display: flex; flex-direction: column; gap: 0.75rem; }
.contact-info-pill {
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	transition: all 0.3s ease;
}

.contact-icon-box {
	width: 36px;
	height: 36px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	font-size: 1rem;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.contact-icon-box:hover {
	background: var(--theme-blue);
	color: #fff;
	transform: translateY(-3px) scale(1.1);
	box-shadow: 0 8px 15px rgba(142, 117, 255, 0.4);
}

.contact-icon-box-sm {
	width: 32px !important;
	height: 32px !important;
	font-size: 0.9rem !important;
}

.contact-info-dark-box {
	background: rgba(255, 255, 255, 0.03);
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 1.25rem;
	padding: 1rem;
	margin-top: 0.5rem;
}

.similar-listing-card-new {
	background: #fff;
	border: 1px solid var(--theme-border);
	border-radius: 1.25rem;
	padding: 1.25rem;
	transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	height: 100%;
	display: flex;
	align-items: center;
	gap: 1.25rem;
	text-decoration: none !important;
}

.similar-listing-thumb-wrapper {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
	border-radius: 1rem;
	overflow: hidden;
	position: relative;
	background: #f1f5f9;
}

@media (max-width: 576px) {
	.similar-listing-card-new {
		padding: 0.85rem;
		gap: 0.85rem;
	}

	.similar-listing-thumb-wrapper {
		width: 75px;
		height: 65px;
	}

	.similar-listing-card-new h6 {
		font-size: 0.85rem !important;
	}
}

.line-clamp-2 {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	white-space: normal;
}

.map-iframe-wrapper { height: 450px; }
.sticky-sidebar-top { top: 200px !important; z-index: 100; }
.label-tiny { font-size: 9px; opacity: 0.7; }
.gallery-badge-compact { font-size: 9px; letter-spacing: 0.5px; }
.review-reply-section {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
}

.feedback-submission-card {
	background: #ffffff !important;
	border: none !important;
	border-radius: 2rem !important;
	box-shadow: var(--premium-shadow-v2) !important;
	transition: transform 0.3s ease, box-shadow 0.3s ease !important;
	position: relative;
	overflow: hidden;
	margin-bottom: 2rem;
	padding: 2.5rem;
}

.feedback-submission-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 20px 40px -12px rgba(0, 0, 0, 0.08) !important;
}


@media (max-width: 768px) {

	.feedback-submission-card,
	.review-item-card {
		padding: 1.25rem !important;
		border-radius: 1.25rem !important;
	}

	.owner-reply-card {
		padding: 1.25rem 0.75rem !important;
		border-radius: 1rem !important;
		border-left: 4px solid var(--theme-blue) !important;
		margin-top: 1.5rem !important;
		margin-left: 0 !important;
	}

	.owner-reply-badge {
		padding: 0.3rem 0.6rem;
		font-size: 0.6rem;
	}

	.review-avatar-wrapper {
		width: 48px;
		height: 48px;
		border-radius: 12px;
	}

	.review-badge-action {
		padding: 0.4rem 0.85rem;
		font-size: 0.65rem;
	}

}

.listing-breadcrumb-sticky { z-index: 1050; }
.listing-breadcrumb-sticky .breadcrumb-item+.breadcrumb-item::before {
	content: "•" !important;
	color: #cbd5e1 !important;
	padding-left: 10px !important;
	padding-right: 10px !important;
	font-weight: bold !important;
}

.listing-breadcrumb-sticky .breadcrumb-item a {
	color: #64748b !important;
	font-size: 0.75rem !important;
	letter-spacing: 0.5px;
}

.listing-breadcrumb-sticky .breadcrumb-item.active {
	color: var(--theme-blue-v2) !important;
	font-size: 0.75rem !important;
}

.mobile-listing-nav { transition: all 0.3s ease; z-index: 1040; }
.mobile-listing-nav .sidebar-nav-item {
	display: inline-block !important;
	color: #64748b !important;
	white-space: nowrap;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	background: var(--theme-slate-light) !important;
	font-weight: 700 !important;
	padding: 8px 20px !important;
	margin-bottom: 0 !important;
	border-radius: 50px !important;
	font-size: 0.8rem !important;
	box-shadow: none !important;
}

.mobile-listing-nav .sidebar-nav-item i {
	display: none !important;
}

.mobile-listing-nav .sidebar-nav-item.active {
	background: var(--theme-blue-v2) !important;
	color: #fff !important;
	box-shadow: 0 4px 12px rgba(124, 58, 237, 0.25) !important;
	border-color: var(--theme-blue-v2) !important;
}

.no-scrollbar::-webkit-scrollbar {
	display: none;
}

.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }
.reason-selection-card {
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1;
}

.reason-selection-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, var(--theme-blue) 0%, var(--theme-navy) 100%);
    opacity: 0;
    transition: opacity 0.4s ease;
    z-index: -1;
}

.reason-selection-card:hover {
    box-shadow: 0 20px 40px -10px rgba(10, 25, 49, 0.12);
    border-color: var(--theme-blue) !important;
}

.reason-selection-card i {
    color: var(--theme-blue);
    transition: all 0.4s ease;
}

.reason-selection-card span {
    font-size: 0.7rem;
    color: var(--theme-navy);
    transition: all 0.4s ease;
}

.reason-selection-card:has(input:checked) {
    border-color: transparent !important;
    box-shadow: 0 15px 35px -10px rgba(124, 58, 237, 0.3);
}

.reason-selection-card:has(input:checked)::before {
    opacity: 1;
}

.reason-selection-card:has(input:checked) i,
.reason-selection-card:has(input:checked) span {
    color: #ffffff !important;
}

.featured-status-badge {
    background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
    letter-spacing: 1px;
    box-shadow: 0 4px 15px rgba(217, 119, 6, 0.3);
    border: 1px solid rgba(255, 255, 255, 0.2);
}

.featured-status-badge:hover {
    transform: translateY(-2px) scale(1.05);
    box-shadow: 0 6px 20px rgba(217, 119, 6, 0.4);
}

.subscription-expiry-badge {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(5px);
}

.subscription-expiry-badge .text-warning {
    color: #fbbf24 !important;
    text-shadow: 0 0 10px rgba(251, 191, 36, 0.3);
}

.animate-pulse { animation: pulse-animation 2s infinite; }
@keyframes pulse-animation {
    0% { opacity: 1; }
    50% { opacity: 0.7; }
    100% { opacity: 1; }
}
.dispute-claim-request-section .premium-card-v2 {
    background: #ffffff !important;
    border: 1px solid var(--theme-border) !important;
    border-radius: 2rem !important;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
    transition: all 0.3s ease;
}

.dispute-claim-request-section .otp-input-premium {
    width: 50px !important;
    height: 50px !important;
    background: var(--theme-slate-light) !important;
    border: 2px solid #e2e8f0 !important;
    border-radius: 1rem !important;
    font-size: 1.5rem !important;
    font-weight: 800 !important;
    color: var(--theme-navy-v2) !important;
    text-align: center !important;
    padding: 0 !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.dispute-claim-request-section .otp-input-premium:focus {
    background: #ffffff;
    border-color: var(--theme-blue);
    box-shadow: 0 0 0 4px rgba(142, 117, 255, 0.1);
    transform: translateY(-2px);
    outline: none;
}

.selection-indicator {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: transparent;
    transition: all 0.3s ease;
}

/* --- REQUIRED LAYOUT FIXES FROM STYLE.CSS --- */

.panel-title1 .accordion-toggle{
    padding-right: 2rem;
}

.sticky-breadcrumb{
    position: sticky;
    top: 80px;
    z-index: 108;
    background-color: #ffffff;
}

@media screen and (max-width: 991px) {
    .sticky-breadcrumb{
        top: 54px;
        z-index: 98;
    }
}

.recently-updated-carousel .owl-stage{
    display: flex;
    align-items: stretch;
}

.latest-listing-carousel .owl-stage{
    display: flex;
}

.listing-details-main-page .listing-details-thumb{
    position: relative;
    width: 250px;
    min-width: 250px;
    height: 180px;
    min-height: 180px;
    border-radius: 16px;
    box-shadow: 0px 0px 0px 5px #ffffff5e;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: black;
}

@media screen and (max-width: 991px) {
    .listing-details-main-page .listing-details-thumb{
        width: 220px;
        min-width: 220px;
        height: 140px;
        min-height: 140px;
    }
}

.listing-details-main-page .listing-details-thumb img.listing-details-banner-img{
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    margin: 0;
}

.listing-details-main-page .listing-details-content{
    position: relative;
    flex-grow: 1;
}

.listing-details-main-page .listing-details-content .listing-title{
    font-size: 32px;
    font-weight: 600;
}

@media screen and (max-width: 991px) {
    .listing-details-main-page .listing-details-content .listing-title{
        font-size: 26px;
    }
}

.listing-details-main-page .bannerimg{
    padding-top: 6rem;
}

@media screen and (max-width: 991px) {
    .listing-details-main-page .bannerimg{
        padding-top: 3.5rem !important;
        padding-bottom: 1.5rem !important;
    }
}

.listing-details-main-page .bannerimg .listing-details-wrapper{
    gap: 3rem;
}

@media screen and (max-width: 991px) {
    .listing-details-main-page .bannerimg .listing-details-wrapper{
        gap: 1.5rem;
    }
}

@media screen and (max-width: 991px) {
    .lg-toolbar.lg-group{
        top: 68px;
    }
}

#photo-gallery-slider .swiper-wrapper{
    align-items: center;
}

.sticky-wrapper { top: 41px; z-index: 99 !important; }
.sticky-pin { top: 1001 !important; }
@media screen and (min-width: 992px) {
    .top-bar-right #toggle-header-search{
        display: none !important;
    }

    .sticky-breadcrumb{
        top: 122px !important;
    }
}

.working-hours-header .arrow-ribbon{
    position: static !important;
    flex-shrink: 0;
}

.primary-category-select .select2-container .select2-selection--single .select2-selection__rendered{
    padding-right: 2.5rem;
}

.primary-category-select .select2-container .select2-selection--single .select2-selection__rendered .select2-selection__clear{
    position: absolute;
    right: 30px;
}

.additional-category-select .select2-container .select2-selection--multiple .select2-selection__rendered{
    padding-right: 1.5rem;
}

.additional-category-select .select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__clear{
    position: absolute;
    right: 12px;
    margin: 0;
}

.additional-category-select .select2-container .select2-selection--multiple .select2-selection__rendered .select2-selection__choice{
    word-wrap: anywhere;
    white-space: normal;
    display: flex;
    gap: 0.25rem;
}

#business-logo-tab .business-logo-delt-btn-wrapper{
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
}

#location-details .location-label{
    min-width: 105px;
}

.working-hours-table .working-hours-time-box{
    text-align: right;
}

.dispute-claim-details-icon-wrapper { width: 22px; min-width: 22px; }
.icon-w-20{
    display: inline-block;
    width: 20px !important;
    min-width: 20px;
    text-align: left !important;
}

#media-section .blockUI{
    z-index: 1001 !important;
}

body .lg-backdrop{
    z-index: 1073;
}

body .lg-outer{
    z-index: 1074;
}

.address-state-select .select2-container .select2-selection .select2-selection__rendered .select2-selection__clear,
.established-year-select .select2-container .select2-selection .select2-selection__rendered .select2-selection__clear,
.established-month-select .select2-container .select2-selection .select2-selection__rendered .select2-selection__clear,
.established-day-select .select2-container .select2-selection .select2-selection__rendered .select2-selection__clear{
    top: 10px;
    position: absolute;
    right: 30px;
}

.address-state-select .select2-container .select2-selection .select2-selection__rendered,
.established-year-select .select2-container .select2-selection .select2-selection__rendered,
.established-month-select .select2-container .select2-selection .select2-selection__rendered,
.established-day-select .select2-container .select2-selection .select2-selection__rendered{
    padding-right: 2.5rem;
}

.my-listing-section .bootstrap-tagsinput .tag [data-role="remove"]::after{
    display: inline-flex;
    align-items: center;
    position: relative;
    content: 'x';
    padding: 0px 2px;
    height: 100%;
    transform: translateY(-50%);
    top: 50%;
}

.my-listing-section .select2-container--default .select2-selection--multiple .select2-selection__choice__remove{
    display: inline-flex;
    align-items: center;
}

.my-listing-section .select2-container--default .select2-selection--single .select2-selection__arrow,
.add-edit-listing-form .select2-container--default .select2-selection--single .select2-selection__arrow{
    top: 0px;
}

.my-listing-section .select2-container--default .select2-selection--single .select2-selection__arrow b,
.add-edit-listing-form .select2-container--default .select2-selection--single .select2-selection__arrow b{
    margin-top: -2px;
    top: 50%;
}

@media screen and (max-width: 1279px) {
    #details-section .card .card-header{
        padding-left: 0.5rem;
        padding-right: 0.5rem;
    }

    #details-section .card.working-hours-card .card-header .arrow-ribbon{
        font-size: 11px;
        padding-right: 10px;
        top: 15px;
    }
}

.filter-card .select2-container--default .select2-selection--single .select2-selection__clear{
    position: absolute;
    float: none;
    top: 48%;
    transform: translateY(-50%);
    right: 1.75rem;
}

.filter-card .select2-container .select2-selection--single .select2-selection__rendered{
    padding-right: 38px;
}

/* --- PREMIUM USER DROPDOWN --- */
.user-dropdown-toggle {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border: 1px solid transparent;
}
.user-dropdown-toggle:hover {
    background-color: rgba(0, 0, 0, 0.04);
}
.user-status-indicator {
    position: absolute;
    bottom: 1px;
    right: 1px;
    width: 10px;
    height: 10px;
    border: 2px solid #fff;
    z-index: 2;
}
.shadow-premium {
    box-shadow: 0 15px 50px -12px rgba(0, 0, 0, 0.15) !important;
}
.premium-dropdown-item {
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
.premium-dropdown-item:hover {
    background-color: #f8fafc !important;
    transform: translateX(4px);
}
.premium-dropdown-item:hover .icon-box {
    transform: scale(1.05);
}
.bg-soft-primary { background-color: rgba(37, 99, 235, 0.1) !important; color: #2563eb !important; }
.bg-soft-info { background-color: rgba(14, 165, 233, 0.1) !important; color: #0ea5e9 !important; }
.bg-soft-danger { background-color: rgba(239, 68, 68, 0.1) !important; color: #ef4444 !important; }
.bg-light-extra { background-color: #f8fafc !important; }
.fs-xs { font-size: 11px !important; }
.fs-tiny { font-size: 10px !important; }
.ls-1 { letter-spacing: 0.5px !important; }
.avatar-wrapper { position: relative; flex-shrink: 0; }

@media (max-width: 767px) {
    .dropdown-menu-mobile-center {
        position: fixed !important;
        top: 50px !important;
        left: 50% !important;
        right: auto !important;
        bottom: auto !important;
        transform: translateX(-50%) !important;
        margin: 0 !important;
        width: 92vw !important;
        max-width: 360px !important;
        border: 1px solid rgba(0, 0, 0, 0.08) !important;
        background: rgba(255, 255, 255, 0.98) !important;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.3) !important;
        animation: mobileDropdownSlide 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        z-index: 1090 !important;
    }

    .premium-dropdown-item {
        padding: 12px 16px !important;
    }
}

@keyframes mobileDropdownSlide {
    0% { 
        opacity: 0; 
        transform: translateX(-50%) translateY(10px); 
    }
    100% { 
        opacity: 1; 
        transform: translateX(-50%) translateY(0); 
    }
}
/* --- PREMIUM MODAL HEADER --- */

.modal-content.reg-modal {
    border-radius: 2rem !important;
    box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.45) !important;
    background: #ffffff;
}

.hover-opacity-100:hover { opacity: 1 !important; }

/* --- ULTRA-PREMIUM UNIQUE MODAL HEADER --- */
.reg-modal-header-unique {
    background: #0f172a;
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

@media (max-width: 576px) {
    .reg-modal-header-unique {
        min-height: 160px;
    }
    .reg-modal-title-unique {
        font-size: 1.5rem !important;
    }
}

.mesh-gradient-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: 
        radial-gradient(at 0% 0%, rgba(139, 92, 246, 0.45) 0, transparent 50%),
        radial-gradient(at 100% 0%, rgba(59, 130, 246, 0.45) 0, transparent 50%),
        radial-gradient(at 50% 100%, rgba(236, 72, 153, 0.25) 0, transparent 50%);
    opacity: 0.8;
    animation: mesh-gradient-float 15s ease infinite alternate;
}

@keyframes mesh-gradient-float {
    0% { transform: scale(1) translate(0, 0); }
    50% { transform: scale(1.1) translate(-2%, 2%); }
    100% { transform: scale(1) translate(0, 0); }
}

.header-abstract-shape {
    position: absolute;
    bottom: -60px;
    right: -60px;
    width: 180px;
    height: 180px;
    background: rgba(255, 255, 255, 0.04);
    border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
    transform: rotate(45deg);
    pointer-events: none;
}

.brand-icon-wrapper {
    width: 100px;
    height: 60px;
    background: #fff;
    border-radius: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    border: 5px solid rgba(255, 255, 255, 0.12);
    animation: icon-float 3s ease-in-out infinite;
}

@keyframes icon-float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

.brand-icon-img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.reg-modal-title-unique {
    font-size: 1.75rem !important;
    font-weight: 300 !important;
    letter-spacing: -0.5px;
    line-height: 1.2;
}

.underline-accent {
    background-image: linear-gradient(rgba(167, 139, 250, 0.4), rgba(167, 139, 250, 0.4));
    background-repeat: no-repeat;
    background-position: 0 88%;
    background-size: 100% 6px;
    border-radius: 3px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

/* --- RICH DUAL-ORBITAL LOADER --- */
#global-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 999999;
    transition: opacity 0.6s cubic-bezier(0.77, 0, 0.175, 1);
}

.loader-content {
    position: relative;
    width: 140px;
    height: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.loader-circle-outer {
    position: absolute;
    width: 100%;
    height: 100%;
    border: 3px solid transparent;
    border-top: 3px solid #0056d2; /* Brand Deep Blue */
    border-bottom: 3px solid #0056d2; /* Brand Deep Blue */
    border-radius: 50%;
    animation: loader-spin-clockwise 2.5s cubic-bezier(0.5, 0.1, 0.4, 0.9) infinite;
    filter: drop-shadow(0 0 12px rgba(0, 86, 210, 0.3));
}

.loader-circle-inner {
    position: absolute;
    width: 75%;
    height: 75%;
    border: 2px solid transparent;
    border-left: 2px solid #5da2ff; /* Brand Light Blue */
    border-right: 2px solid #5da2ff; /* Brand Light Blue */
    border-radius: 50%;
    animation: loader-spin-counter 1.8s cubic-bezier(0.5, 0.1, 0.4, 0.9) infinite;
    opacity: 0.8;
}

.loader-logo {
    width: 55px;
    height: 55px;
    object-fit: contain;
    z-index: 10;
    animation: logo-pulse 2.5s ease-in-out infinite;
}

@keyframes loader-spin-clockwise {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes loader-spin-counter {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}

@keyframes logo-pulse {
    0%, 100% { transform: scale(1); opacity: 1; filter: brightness(1); }
    50% { transform: scale(0.9); opacity: 0.8; filter: brightness(1.1); }
}

/* Smooth Exit */
body.loaded #global-loader {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: scale(1.1);
    transition: all 0.8s cubic-bezier(0.77, 0, 0.175, 1);
}
.select2-dropdown{
    z-index: 1060 !important;
}
/* Search Highlight Styling */
html {
    scroll-behavior: smooth;
}

/* Fix for Anchor Redirection overlapping with Sticky Header on Content Pages */
.immersive-content-wrapper div[id] {
    scroll-margin-top: 140px;
}

@media (max-width: 991px) {
    .immersive-content-wrapper div[id] {
        scroll-margin-top: 100px;
    }
}

mark.search-highlight {
	background-color: rgba(142, 117, 255, 0.2) !important;
	color: var(--theme-navy) !important;
	padding: 0 4px;
	border-radius: 4px;
	font-weight: 700;
	transition: all 0.3s ease;
}

/* Responsive Scroll for Working Hours on Mobile */
@media (max-width: 767px) {
    .working-hours-scroll {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 0.5rem;
        margin-bottom: -0.5rem;
    }
    .working-hours-scroll .block-to-clone {
        min-width: 420px;
        flex-wrap: nowrap !important;
    }
}

/* Payment Options Modern Tiles - Compact */
.payment-card-label {
    background: #fff;
    border-color: #e5e7eb;
    color: var(--theme-navy);
    transition: all 0.2s ease-in-out;
    min-height: 52px;
}

.payment-card-label:hover {
    border-color: var(--theme-blue);
    background: #f8fafc;
}

.payment-check-input:checked + .payment-card-label {
    border-color: var(--theme-blue);
    background: rgba(142, 117, 255, 0.08);
    box-shadow: 0 0 0 1px var(--theme-blue);
}

.payment-check-input:focus-visible + .payment-card-label {
    outline: 2px solid var(--theme-blue);
    outline-offset: 2px;
}

.payment-card-icon-sm {
    width: 32px;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.payment-check-input:checked + .payment-card-label .payment-card-icon-sm i {
    color: var(--theme-blue);
}

.payment-check-input:checked + .payment-card-label .payment-card-indicator i {
    display: block !important;
}

.payment-card-icon-sm i {
    transition: color 0.2s ease;
    color: #64748b;
    text-align: center;
}

.payment-card-name {
    letter-spacing: 0.3px;
    color: #1e293b;
    line-height: 1.2;
    display: block;
    word-break: break-word;
    flex-grow: 1;
}

/* Photo Gallery Modern Styling */
.photo-gallery-modern {
    padding: 0.5rem 0;
}

.section-title-sm h5 {
    letter-spacing: -0.2px;
}

.gallery-item-container {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.gallery-item-container:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px -8px rgba(0,0,0,0.15) !important;
}

.aspect-ratio-16-9 {
    position: relative;
    width: 100%;
}

.aspect-ratio-4-3 {
    position: relative;
    width: 100%;
    padding-top: 75%; /* 4:3 Aspect Ratio */
}

.aspect-ratio-1-1 {
    position: relative;
    width: 100%;
    padding-top: 100%; /* 1:1 Aspect Ratio */
}

.aspect-ratio-16-9 img,
.aspect-ratio-4-3 img,
.aspect-ratio-1-1 img {
    position: absolute;
    top: 0;
    left: 0;
}

.gallery-overlay-modern {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.4);
    backdrop-filter: blur(4px);
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 2;
}

.gallery-item-container:hover .gallery-overlay-modern {
    opacity: 1;
}

.btn-glass-sm {
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: white;
    width: 40px;
    height: 40px;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease;
    border-radius: 50%;
}

.btn-glass-sm i {
    font-size: 18px;
    line-height: 1;
    margin: 0;
    padding: 0;
}

.remove-media-btn-modern {
    position: absolute;
    top: 12px;
    right: 12px;
    width: 28px;
    height: 28px;
    background: #ef4444;
    color: white;
    border-radius: 50%;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.2s ease;
    text-decoration: none !important;
}

#photo-gallery-slider {
    height: auto !important;
    min-height: 0 !important;
    padding: 10px 0;
}

.swiper-button-prev,
.swiper-button-next {
    position: absolute;
    top: 50% !important;
    margin-top: -20px !important; /* Half of 40px height */
    width: 40px !important;
    height: 40px;
    background: white;
    color: var(--theme-blue);
    z-index: 10;
    visibility: visible;
    opacity: 1;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.swiper-button-prev::after,
.swiper-button-next::after {
    display: none;
}

.swiper-button-prev {
    left: 10px;
}

.swiper-button-next {
    right: 10px;
}

@media (max-width: 768px) {
    .swiper-nav-wrapper .swiper-button-prev { left: 5px; }
    .swiper-nav-wrapper .swiper-button-next { right: 5px; }
}

.empty-gallery-state {
    border: 2px dashed #e2e8f0;
}

.primary-card-wrapper {
    max-width: 600px;
    margin: 0 auto;
}

.wh-32 { width: 32px; height: 32px; }
.bg-primary-light { background: rgba(142, 117, 255, 0.1); }

.featured-filter-premium .form-check-input {
    cursor: pointer;
    width: 2.2rem;
    height: 1.1rem;
}

.featured-filter-premium .form-check-input:checked {
    background-color: var(--primary-theme);
    border-color: var(--primary-theme);
}

.featured-premium-icon-box {
    position: relative;
    width: 50px;
    height: 50px;
    background: linear-gradient(135deg, #0d1b3e 0%, #1a2a4e 100%);
    border-radius: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    box-shadow: 0 8px 16px rgba(13, 27, 62, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.1);
    transition: all 0.3s ease;
}

.featured-premium-icon-box i {
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
    background: linear-gradient(135deg, #FFD700 0%, #FFA500 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.google-map-icon {
    background: linear-gradient(135deg, #4285F4, #34A853, #FBBC05, #EA4335);
    background: conic-gradient(from 0deg, #4285F4 0%, #34A853 35%, #FBBC05 65%, #EA4335 85%, #4285F4 100%);
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

/* Ensure SweetAlert2 containers are displayed above Bootstrap modals */
.swal2-container {
    z-index: 99999 !important;
}
