/* =========================================================
   Module: inc\ajax-quick-add.php
   ========================================================= */
.dk-quick-add-btn {

            width: 28px;

            height: 28px;

            min-width: 28px;

            border-radius: 7px;

            background: #ef394e;

            color: #ffffff;

            border: none;

            display: inline-flex;

            align-items: center;

            justify-content: center;

            cursor: pointer;

            transition: all 0.22s cubic-bezier(0.4, 0, 0.2, 1);

            box-shadow: 0 2px 7px rgba(239, 57, 78, 0.28);

            flex-shrink: 0;

            position: relative;

            z-index: 6;

            padding: 0;

            outline: none;

            margin: 0;

            line-height: 1;

            user-select: none;

        }

        .dk-quick-add-btn:hover {

            background: #d82338;

            transform: scale(1.12);

            box-shadow: 0 4px 12px rgba(239, 57, 78, 0.42);

        }

        .dk-quick-add-btn:active {

            transform: scale(0.95);

        }

        .dk-quick-add-btn.is-loading {

            background: #f1f5f9 !important;

            color: #ef394e !important;

            cursor: wait !important;

            pointer-events: none;

            box-shadow: none !important;

        }

        .dk-quick-add-btn.is-loading .ps-spin {

            animation: psQuickAddSpin 0.75s linear infinite;

        }

        .dk-quick-add-btn.is-added {

            background: #10b981 !important;

            color: #ffffff !important;

            transform: scale(1.12);

            box-shadow: 0 3px 10px rgba(16, 185, 129, 0.45) !important;

        }

        .dk-quick-add-btn:disabled {

            opacity: 0.55;

            cursor: not-allowed !important;

            background: #cbd5e1 !important;

            color: #64748b !important;

            box-shadow: none !important;

            transform: none !important;

        }

        .ps-m-inc-price-row {

            display: flex !important;

            align-items: center !important;

            justify-content: space-between !important;

            gap: 6px;

        }

        .ps-m-market-bottom {

            display: flex !important;

            align-items: center !important;

            justify-content: space-between !important;

            gap: 6px;

            margin-top: auto;

            width: 100%;

        }

        .ps-m-bs-meta {

            display: flex !important;

            align-items: center !important;

            gap: 8px;

        }

        .ps-m-bs-meta .dk-quick-add-btn {

            margin-right: auto;

        }

        /* Wishlist and Compare Active States & Animations */

        .dk-btn-wishlist.active, .ps-wishlist-action-btn.active {

            background: #fff1f2 !important;

            border-color: #ef394e !important;

            color: #ef394e !important;

        }

        .dk-btn-wishlist.active svg, .ps-wishlist-action-btn.active svg {

            fill: #ef394e !important;

            stroke: #ef394e !important;

            animation: psWishlistHeartBeat 0.35s ease-in-out;

        }

        .dk-card-action-compare.active, .ps-compare-btn.active, .ps-compare-btn.is-active {

            background: #0f172a !important;

            border-color: #0f172a !important;

            color: #ffffff !important;

            box-shadow: 0 4px 12px rgba(15, 23, 42, 0.3) !important;

        }

        .dk-card-action-compare.active svg, .ps-compare-btn.active svg, .ps-compare-btn.is-active svg {

            stroke: #ffffff !important;

            color: #ffffff !important;

        }

        @keyframes psWishlistHeartBeat {

            0% { transform: scale(1); }

            50% { transform: scale(1.35); }

            100% { transform: scale(1); }

        }

        @keyframes psQuickAddSpin {

            0% { transform: rotate(0deg); }

            100% { transform: rotate(360deg); }

        }

/* =========================================================
   Module: inc\product-quick-view.php
   ========================================================= */
/* =========================================================

		   Quick View 2.0 Responsive Suite & Styling

		   ========================================================= */

		.ps-qv-v2 {

			display: grid;

			grid-template-columns: 340px 1fr;

			gap: 32px;

			font-family: inherit;

		}

		@media (max-width: 900px) {

			.ps-qv-v2 {

				grid-template-columns: 1fr;

				gap: 20px;

			}

		}



		/* Gallery & 360 Badge */

		.ps-qv-v2 .ps-qv-main-image-wrap {

			position: relative;

			width: 100%;

			height: 330px;

			background: #f8fafc;

			border: 1px solid #e2e8f0;

			border-radius: 16px;

			display: flex;

			align-items: center;

			justify-content: center;

			overflow: hidden;

		}

		.ps-qv-v2 .ps-qv-main-img {

			max-width: 88%;

			max-height: 88%;

			object-fit: contain;

			transition: transform 0.3s ease;

		}

		.ps-qv-v2 .ps-qv-main-image-wrap:hover .ps-qv-main-img {

			transform: scale(1.06);

		}

		.ps-qv-360-badge-btn {

			position: absolute;

			bottom: 12px;

			right: 12px;

			background: rgba(15, 23, 42, 0.85);

			color: #ffffff;

			border: 1px solid rgba(255, 255, 255, 0.2);

			backdrop-filter: blur(8px);

			border-radius: 20px;

			padding: 6px 14px;

			font-size: 11.5px;

			font-weight: 800;

			cursor: pointer;

			display: flex;

			align-items: center;

			gap: 6px;

			transition: all 0.2s;

			z-index: 5;

		}

		.ps-qv-360-badge-btn:hover {

			background: #ef394e;

			transform: scale(1.05);

		}

		.ps-qv-v2 .ps-qv-thumbs-row {

			display: flex;

			gap: 10px;

			margin-top: 12px;

			overflow-x: auto;

			padding-bottom: 4px;

		}

		.ps-qv-v2 .ps-qv-thumb-item {

			width: 62px;

			height: 62px;

			min-width: 62px;

			border-radius: 10px;

			border: 2px solid #e2e8f0;

			cursor: pointer;

			background: #f8fafc;

			padding: 4px;

			display: flex;

			align-items: center;

			justify-content: center;

			transition: all 0.2s;

		}

		.ps-qv-v2 .ps-qv-thumb-item.active,

		.ps-qv-v2 .ps-qv-thumb-item:hover {

			border-color: #ef394e;

		}

		.ps-qv-v2 .ps-qv-thumb-item img {

			max-width: 100%;

			max-height: 100%;

			object-fit: contain;

		}

		.ps-qv-trust-features {

			display: grid;

			grid-template-columns: 1fr;

			gap: 6px;

			margin-top: 14px;

			background: #f8fafc;

			border: 1px solid #f1f5f9;

			border-radius: 12px;

			padding: 10px 14px;

		}

		.ps-qv-trust-item {

			display: flex;

			align-items: center;

			gap: 8px;

			font-size: 11.5px;

			color: #475569;

			font-weight: 700;

		}



		/* Details Column */

		.ps-qv-v2 .ps-qv-title {

			font-size: 18px;

			font-weight: 800;

			line-height: 1.6;

			margin: 0 0 10px;

			color: #0f172a;

		}

		.ps-qv-v2 .ps-qv-meta-row {

			display: flex;

			align-items: center;

			gap: 10px;

			font-size: 12.5px;

			color: #64748b;

			margin-bottom: 14px;

			flex-wrap: wrap;

		}

		.ps-qv-stock-status.in-stock {

			color: #16a34a;

			font-weight: 800;

		}

		.ps-qv-stock-status.out-stock {

			color: #dc2626;

			font-weight: 800;

		}

		.ps-qv-v2 .ps-qv-excerpt {

			font-size: 13px;

			color: #475569;

			line-height: 1.8;

			margin-bottom: 18px;

			padding-bottom: 14px;

			border-bottom: 1px dashed #e2e8f0;

		}



		/* Variable Attribute Pills */

		.ps-qv-variations-wrapper {

			margin-bottom: 16px;

		}

		.ps-qv-attribute-group {

			margin-bottom: 12px;

		}

		.ps-qv-attr-label {

			display: flex;

			align-items: center;

			gap: 6px;

			font-size: 12.5px;

			font-weight: 700;

			color: #334155;

			margin-bottom: 8px;

		}

		.ps-qv-selected-val {

			color: #ef394e;

		}

		.ps-qv-attr-pills {

			display: flex;

			flex-wrap: wrap;

			gap: 8px;

		}

		.ps-qv-pill-btn {

			background: #ffffff;

			border: 1.5px solid #cbd5e1;

			border-radius: 8px;

			padding: 6px 14px;

			font-size: 12.5px;

			font-weight: 700;

			color: #334155;

			cursor: pointer;

			transition: all 0.2s;

		}

		.ps-qv-pill-btn:hover {

			border-color: #94a3b8;

		}

		.ps-qv-pill-btn.active {

			border-color: #ef394e;

			background: #fff1f2;

			color: #ef394e;

			box-shadow: 0 0 0 2px rgba(239, 57, 78, 0.15);

		}



		/* Warranty Selector Pills */

		.ps-qv-warranty-selector {

			margin-bottom: 16px;

			background: #f8fafc;

			border: 1px solid #e2e8f0;

			border-radius: 12px;

			padding: 12px 14px;

		}

		.ps-qv-warranty-label {

			display: block;

			font-size: 12px;

			font-weight: 800;

			color: #1e293b;

			margin-bottom: 8px;

		}

		.ps-qv-warranty-pills {

			display: flex;

			flex-direction: column;

			gap: 6px;

		}

		.ps-qv-warranty-pill {

			display: flex;

			align-items: center;

			justify-content: space-between;

			background: #ffffff;

			border: 1px solid #cbd5e1;

			border-radius: 8px;

			padding: 8px 12px;

			font-size: 12px;

			font-weight: 700;

			color: #334155;

			cursor: pointer;

			transition: all 0.2s;

			text-align: right;

		}

		.ps-qv-warranty-pill.active {

			border-color: #16a34a;

			background: #f0fdf4;

			color: #166534;

		}

		.ps-qvw-price {

			color: #16a34a;

			font-weight: 800;

			font-size: 11px;

		}

		.ps-qvw-price.free {

			background: #dcfce7;

			padding: 2px 8px;

			border-radius: 6px;

		}



		/* Price Card */

		.ps-qv-price-card {

			background: #f8fafc;

			border: 1px solid #e2e8f0;

			border-radius: 14px;

			padding: 14px 18px;

			margin-bottom: 18px;

			display: flex;

			align-items: center;

			justify-content: space-between;

			flex-wrap: wrap;

			gap: 12px;

		}

		.ps-qv-price-caption {

			font-size: 12px;

			color: #64748b;

			display: block;

			margin-bottom: 4px;

		}

		.ps-qv-price-values {

			display: flex;

			align-items: center;

			gap: 10px;

		}

		.ps-qv-regular-price {

			font-size: 13.5px;

			color: #94a3b8;

			text-decoration: line-through;

		}

		.ps-qv-active-price-wrap {

			display: flex;

			align-items: baseline;

			gap: 4px;

		}

		.ps-qv-current-price-val {

			font-size: 22px;

			font-weight: 900;

			color: #0f172a;

		}

		.ps-qv-currency {

			font-size: 13px;

			color: #64748b;

		}



		/* Actions Bar */

		.ps-qv-action-bar {

			display: flex;

			align-items: center;

			gap: 12px;

		}

		.ps-qv-qty-stepper {

			display: flex;

			align-items: center;

			border: 1px solid #cbd5e1;

			border-radius: 12px;

			background: #ffffff;

			overflow: hidden;

			height: 46px;

		}

		.ps-qv-qty-btn {

			width: 38px;

			height: 46px;

			background: transparent;

			border: none;

			font-size: 18px;

			font-weight: 700;

			color: #334155;

			cursor: pointer;

			display: flex;

			align-items: center;

			justify-content: center;

			transition: background 0.15s;

		}

		.ps-qv-qty-btn:hover {

			background: #f1f5f9;

		}

		.ps-qv-qty-input {

			width: 44px;

			height: 46px;

			border: none;

			text-align: center;

			font-size: 15px;

			font-weight: 800;

			color: #0f172a;

			background: transparent;

			outline: none;

		}

		.ps-qv-add-btn {

			flex: 1;

			height: 46px;

			background: #ef394e;

			color: #ffffff;

			border: none;

			border-radius: 12px;

			font-size: 14.5px;

			font-weight: 800;

			cursor: pointer;

			display: flex;

			align-items: center;

			justify-content: center;

			gap: 8px;

			transition: all 0.2s;

			box-shadow: 0 4px 14px rgba(239, 57, 78, 0.25);

		}

		.ps-qv-add-btn:hover {

			background: #dc2626;

			transform: translateY(-1px);

			box-shadow: 0 6px 18px rgba(239, 57, 78, 0.35);

		}

		.ps-qv-add-btn {

			min-width: 160px;

			white-space: nowrap;

		}

		.ps-qv-action-bar .added_to_cart {

			display: none !important;

		}

		.ps-qv-add-btn.loading {

			opacity: 0.75;

			pointer-events: none;

		}

		.ps-qv-add-btn.success {

			background: #16a34a !important;

			box-shadow: 0 4px 14px rgba(22, 163, 74, 0.25) !important;

		}

		.ps-qv-btn-full {

			height: 46px;

			padding: 0 16px;

			border: 1px solid #cbd5e1;

			border-radius: 12px;

			background: #ffffff;

			color: #475569;

			text-decoration: none;

			font-size: 13px;

			font-weight: 700;

			display: flex;

			align-items: center;

			gap: 4px;

			transition: all 0.2s;

			white-space: nowrap;

		}

		.ps-qv-btn-full:hover {

			background: #f8fafc;

			color: #0f172a;

			border-color: #94a3b8;

		}

		.ps-qv-feedback-msg {

			margin-top: 10px;

			padding: 8px 12px;

			border-radius: 8px;

			font-size: 12px;

			font-weight: 700;

		}

		.ps-qv-feedback-msg.success { background: #dcfce7; color: #15803d; }

		.ps-qv-feedback-msg.error   { background: #fee2e2; color: #b91c1c; }



		@media (max-width: 768px) {

			#ps-quickview-modal {

				width: 95vw !important;

				max-height: 92vh !important;

				border-radius: 16px !important;

			}

			.ps-quickview-body {

				padding: 16px 14px 24px !important;

			}

			.ps-qv-v2 .ps-qv-main-image-wrap {

				height: 240px !important;

			}

			.ps-qv-action-bar {

				flex-wrap: wrap;

				gap: 8px;

			}

			.ps-qv-btn-full {

				flex: 1;

				justify-content: center;

			}

		}



		/* Mobile Touch Fix for Product Catalog Cards */

		@media (max-width: 991px), (hover: none) {

			.dk-catalog-hover-actions {

				opacity: 1 !important;

				transform: translateX(0) !important;

				pointer-events: auto !important;

			}

		}

/* =========================================================
   Module: inc\recently-viewed.php
   ========================================================= */
/* Digikala-Grade Proportional Recently Viewed Swiper Carousel */
			#dk-recently-viewed-wrap {
				margin: 32px auto 25px;
				max-width: 1360px;
				width: 100%;
				direction: rtl;
				text-align: right;
				font-family: inherit;
				background: #ffffff;
				border: 1px solid var(--ps-border, #e2e8f0);
				border-radius: 18px;
				padding: 20px 22px;
				box-shadow: 0 4px 18px rgba(0, 0, 0, 0.03);
				box-sizing: border-box;
				position: relative;
			}
			#dk-recently-viewed-wrap .dk-rv-header {
				display: flex;
				justify-content: space-between;
				align-items: center;
				margin-bottom: 16px;
				border-bottom: 1px solid #f1f5f9;
				padding-bottom: 14px;
				flex-wrap: wrap;
				gap: 10px;
			}
			#dk-recently-viewed-wrap .dk-rv-title-wrap {
				display: flex;
				align-items: center;
				gap: 10px;
			}
			#dk-recently-viewed-wrap .dk-rv-icon-circle {
				width: 36px;
				height: 36px;
				border-radius: 10px;
				background: rgba(37, 99, 235, 0.08);
				color: #2563eb;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				flex-shrink: 0;
			}
			#dk-recently-viewed-wrap .dk-rv-main-title {
				margin: 0;
				font-size: 15.5px;
				font-weight: 800;
				color: #0f172a;
				line-height: 1.4;
			}
			#dk-recently-viewed-wrap .dk-rv-count-badge {
				background: #f1f5f9;
				color: #475569;
				font-size: 11px;
				font-weight: 700;
				padding: 2px 8px;
				border-radius: 10px;
			}
			#dk-recently-viewed-wrap .dk-rv-controls {
				display: flex;
				align-items: center;
				gap: 10px;
			}
			#dk-recently-viewed-wrap .dk-rv-nav-group {
				display: flex;
				align-items: center;
				gap: 6px;
			}
			#dk-recently-viewed-wrap .dk-rv-nav-btn {
				width: 32px;
				height: 32px;
				border-radius: 50%;
				background: #ffffff;
				border: 1px solid #cbd5e1;
				color: #334155;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				cursor: pointer;
				padding: 0;
				transition: all 0.2s ease;
			}
			#dk-recently-viewed-wrap .dk-rv-nav-btn:hover:not(.dk-rv-nav-disabled) {
				background: #f8fafc;
				border-color: #ef394e;
				color: #ef394e;
				transform: scale(1.05);
			}
			#dk-recently-viewed-wrap .dk-rv-nav-btn.dk-rv-nav-disabled {
				opacity: 0.35;
				cursor: not-allowed;
			}
			#dk-recently-viewed-wrap .dk-rv-clear-btn {
				background: #fef2f2;
				border: 1px solid #fecaca;
				color: #ef4444;
				font-size: 11.5px;
				font-weight: 700;
				font-family: inherit;
				padding: 6px 12px;
				border-radius: 8px;
				cursor: pointer;
				display: inline-flex;
				align-items: center;
				gap: 5px;
				transition: all 0.2s ease;
			}
			#dk-recently-viewed-wrap .dk-rv-clear-btn:hover {
				background: #fee2e2;
				border-color: #fca5a5;
				color: #dc2626;
				transform: translateY(-1px);
			}

			/* Swiper Track & Slide */
			#dk-recently-viewed-wrap .dk-rv-swiper {
				width: 100%;
				overflow: hidden;
				position: relative;
				padding: 4px 2px 8px;
			}
			#dk-recently-viewed-wrap .dk-rv-track {
				display: flex;
				transition-property: transform;
				box-sizing: content-box;
			}
			#dk-recently-viewed-wrap .dk-rv-slide {
				flex-shrink: 0;
				height: auto;
				box-sizing: border-box;
			}

			/* Product Card */
			#dk-recently-viewed-wrap .dk-rv-card {
				background: #ffffff;
				border: 1px solid #f1f5f9;
				border-radius: 14px;
				padding: 12px;
				text-align: right;
				transition: all 0.25s ease;
				box-shadow: 0 1px 4px rgba(0, 0, 0, 0.02);
				display: flex;
				flex-direction: column;
				height: 100%;
				box-sizing: border-box;
				position: relative;
			}
			#dk-recently-viewed-wrap .dk-rv-card:hover {
				transform: translateY(-3px);
				box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
				border-color: #cbd5e1;
			}
			#dk-recently-viewed-wrap .dk-rv-link {
				text-decoration: none;
				color: inherit;
				display: flex;
				flex-direction: column;
				height: 100%;
			}

			/* Compact & Proportional Image Wrap */
			#dk-recently-viewed-wrap .dk-rv-thumb-wrap {
				width: 100%;
				height: 135px;
				display: flex;
				align-items: center;
				justify-content: center;
				margin-bottom: 8px;
				background: #ffffff;
				overflow: hidden;
				box-sizing: border-box;
				position: relative;
				border-radius: 10px;
			}
			#dk-recently-viewed-wrap .dk-rv-img-link {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				height: 100%;
				text-decoration: none;
			}
			#dk-recently-viewed-wrap .dk-rv-img {
				max-height: 120px;
				max-width: 100%;
				width: auto;
				height: auto;
				object-fit: contain;
				transition: transform 0.25s ease;
			}
			#dk-recently-viewed-wrap .dk-rv-card:hover .dk-rv-img {
				transform: scale(1.04);
			}

			/* Floating Action Buttons */
			#dk-recently-viewed-wrap .dk-catalog-hover-actions {
				position: absolute;
				top: 5px;
				left: 5px;
				display: flex;
				flex-direction: column;
				gap: 4px;
				z-index: 10;
				opacity: 0;
				transform: translateX(-6px);
				transition: opacity 0.22s ease, transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
				pointer-events: none;
			}
			#dk-recently-viewed-wrap .dk-rv-card:hover .dk-catalog-hover-actions,
			#dk-recently-viewed-wrap .dk-catalog-hover-actions:hover,
			#dk-recently-viewed-wrap .dk-catalog-hover-actions:has(.active),
			#dk-recently-viewed-wrap .dk-catalog-hover-actions:has(input:checked) {
				opacity: 1;
				transform: translateX(0);
				pointer-events: auto;
			}
			#dk-recently-viewed-wrap .dk-catalog-hover-actions button,
			#dk-recently-viewed-wrap .dk-catalog-hover-actions .dk-card-action-compare {
				width: 27px;
				height: 27px;
				min-width: 27px;
				min-height: 27px;
				border-radius: 50%;
				background: #ffffff;
				border: 1px solid #e2e8f0;
				display: inline-flex;
				align-items: center;
				justify-content: center;
				color: #475569;
				cursor: pointer;
				box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
				transition: all 0.2s ease;
				margin: 0;
				padding: 0;
				position: relative;
				pointer-events: auto;
			}
			#dk-recently-viewed-wrap .dk-catalog-hover-actions svg {
				width: 13px;
				height: 13px;
			}
			#dk-recently-viewed-wrap .dk-catalog-hover-actions button:hover,
			#dk-recently-viewed-wrap .dk-catalog-hover-actions .dk-card-action-compare:hover {
				background: #ef394e;
				border-color: #ef394e;
				color: #ffffff;
				transform: scale(1.1);
				box-shadow: 0 4px 12px rgba(239, 57, 78, 0.28);
			}
			#dk-recently-viewed-wrap .dk-catalog-hover-actions button:hover svg,
			#dk-recently-viewed-wrap .dk-catalog-hover-actions .dk-card-action-compare:hover svg {
				stroke: #ffffff;
			}
			#dk-recently-viewed-wrap .dk-card-action-compare input {
				display: none;
			}
			#dk-recently-viewed-wrap .dk-card-action-compare .compare-icon-wrap {
				display: inline-flex;
				align-items: center;
				justify-content: center;
			}
			#dk-recently-viewed-wrap .dk-card-action-compare.active,
			#dk-recently-viewed-wrap .dk-card-action-compare:has(input:checked) {
				background: #0f172a !important;
				border-color: #0f172a !important;
				color: #ffffff !important;
			}
			#dk-recently-viewed-wrap .dk-card-action-compare.active svg,
			#dk-recently-viewed-wrap .dk-card-action-compare:has(input:checked) svg {
				stroke: #ffffff !important;
			}
			#dk-recently-viewed-wrap .dk-btn-wishlist.active,
			#dk-recently-viewed-wrap .ps-wishlist-action-btn.active {
				background: #fef2f2 !important;
				border-color: #ef394e !important;
				color: #ef394e !important;
			}
			#dk-recently-viewed-wrap .dk-btn-wishlist.active svg,
			#dk-recently-viewed-wrap .ps-wishlist-action-btn.active svg {
				stroke: #ef394e !important;
				fill: #ef394e !important;
			}

			/* Card Title */
			#dk-recently-viewed-wrap .dk-rv-title {
				margin: 0 0 6px 0;
				font-weight: 700;
				font-size: 12.5px;
				color: #1e293b;
				line-height: 1.55;
				height: 38px;
				overflow: hidden;
				display: -webkit-box;
				-webkit-line-clamp: 2;
				-webkit-box-orient: vertical;
				text-overflow: ellipsis;
			}
			#dk-recently-viewed-wrap .dk-rv-link:hover .dk-rv-title {
				color: #ef394e;
			}

			/* Stock Status */
			#dk-recently-viewed-wrap .dk-rv-stock {
				display: flex;
				align-items: center;
				gap: 4px;
				font-size: 10.5px;
				color: #16a34a;
				font-weight: 600;
				margin-bottom: 8px;
			}
			#dk-recently-viewed-wrap .dk-rv-stock-dot {
				width: 5px;
				height: 5px;
				border-radius: 50%;
				background: #22c55e;
				display: inline-block;
			}

			/* Clean Price Box - No overlapping, zero duplication */
			#dk-recently-viewed-wrap .dk-rv-price-box {
				margin-top: auto;
				display: flex;
				flex-direction: column;
				gap: 3px;
				padding-top: 8px;
				border-top: 1px dashed #f1f5f9;
			}
			#dk-recently-viewed-wrap .dk-rv-sale-row {
				display: flex;
				align-items: center;
				justify-content: space-between;
				gap: 6px;
				min-height: 18px;
			}
			#dk-recently-viewed-wrap .dk-rv-old-price {
				color: #94a3b8;
				font-size: 11px;
				text-decoration: line-through;
				font-weight: 500;
				white-space: nowrap;
			}
			#dk-recently-viewed-wrap .dk-rv-badge {
				background: #ef4056;
				color: #ffffff;
				font-size: 10.5px;
				font-weight: 800;
				padding: 1px 6px;
				border-radius: 6px;
				line-height: 1.3;
				white-space: nowrap;
			}
			#dk-recently-viewed-wrap .dk-rv-final-row {
				display: flex;
				align-items: baseline;
				justify-content: flex-end;
				gap: 4px;
				min-height: 22px;
				white-space: nowrap;
			}
			#dk-recently-viewed-wrap .dk-rv-amount {
				font-size: 15px;
				font-weight: 900;
				color: #0f172a;
				letter-spacing: -0.2px;
			}
			#dk-recently-viewed-wrap .dk-rv-currency {
				font-size: 10.5px;
				font-weight: 600;
				color: #64748b;
			}
			#dk-recently-viewed-wrap .dk-rv-out-of-stock {
				color: #94a3b8;
				font-size: 11.5px;
				font-weight: 700;
				text-align: center;
				padding: 4px 0;
			}

			/* Responsive */
			@media (max-width: 768px) {
				#dk-recently-viewed-wrap {
					margin: 20px auto;
					padding: 14px;
					border-radius: 14px;
				}
				#dk-recently-viewed-wrap .dk-rv-header {
					margin-bottom: 12px;
					padding-bottom: 10px;
				}
				#dk-recently-viewed-wrap .dk-rv-main-title {
					font-size: 14px;
				}
				#dk-recently-viewed-wrap .dk-rv-card {
					padding: 10px;
					border-radius: 12px;
				}
				#dk-recently-viewed-wrap .dk-rv-thumb-wrap {
					height: 115px;
				}
				#dk-recently-viewed-wrap .dk-rv-img {
					max-height: 100px;
				}
				#dk-recently-viewed-wrap .dk-rv-title {
					font-size: 11.5px;
					height: 36px;
				}
				#dk-recently-viewed-wrap .dk-rv-amount {
					font-size: 13.5px;
				}
				#dk-recently-viewed-wrap .dk-catalog-hover-actions {
					opacity: 1 !important;
					transform: translateX(0) !important;
					pointer-events: auto !important;
					top: 4px !important;
					left: 4px !important;
					gap: 4px !important;
				}
				#dk-recently-viewed-wrap .dk-catalog-hover-actions button,
				#dk-recently-viewed-wrap .dk-catalog-hover-actions .dk-card-action-compare {
					width: 27px !important;
					height: 27px !important;
					min-width: 27px !important;
					min-height: 27px !important;
				}
				#dk-recently-viewed-wrap .dk-catalog-hover-actions svg {
					width: 13px !important;
					height: 13px !important;
				}
			}

			@media (max-width: 480px) {
				#dk-recently-viewed-wrap .dk-catalog-hover-actions {
					display: none !important;
				}
			}

			/* Dark Mode */
			html.dark-theme #dk-recently-viewed-wrap {
				background: #0f172a;
				border-color: #334155;
			}
			html.dark-theme #dk-recently-viewed-wrap .dk-rv-header {
				border-bottom-color: #1e293b;
			}
			html.dark-theme #dk-recently-viewed-wrap .dk-rv-card {
				background: #1e293b;
				border-color: #334155;
			}
			html.dark-theme #dk-recently-viewed-wrap .dk-rv-thumb-wrap {
				background: #1e293b;
			}
			html.dark-theme #dk-recently-viewed-wrap .dk-rv-title,
			html.dark-theme #dk-recently-viewed-wrap .dk-rv-main-title,
			html.dark-theme #dk-recently-viewed-wrap .dk-rv-amount {
				color: #f8fafc;
			}
			html.dark-theme #dk-recently-viewed-wrap .dk-rv-nav-btn {
				background: #1e293b;
				border-color: #334155;
				color: #cbd5e1;
			}
			html.dark-theme #dk-recently-viewed-wrap .dk-rv-count-badge {
				background: #1e293b;
				color: #94a3b8;
			}
			html.dark-theme #dk-recently-viewed-wrap .dk-rv-price-box {
				border-top-color: #334155;
			}
			html.dark-theme #dk-recently-viewed-wrap .dk-catalog-hover-actions button,
			html.dark-theme #dk-recently-viewed-wrap .dk-catalog-hover-actions .dk-card-action-compare {
				background: #1e293b;
				border-color: #334155;
				color: #cbd5e1;
			}
			html.dark-theme #dk-recently-viewed-wrap .dk-catalog-hover-actions button:hover,
			html.dark-theme #dk-recently-viewed-wrap .dk-catalog-hover-actions .dk-card-action-compare:hover {
				background: #ef394e;
				border-color: #ef394e;
				color: #ffffff;
			}

/* =========================================================
   Module: template-parts\home\shoppable-stories.php
   ========================================================= */
/* Instagram Story Bubbles Container */

    .ps-stories-section {

        max-width: 1380px !important;

        width: 100% !important;

        margin: 18px auto 26px auto !important;

        padding: 16px 20px !important;

        background: #ffffff !important;

        border: 1px solid #f1f5f9 !important;

        border-radius: 20px !important;

        box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.04) !important;

        box-sizing: border-box !important;

        direction: rtl !important;

    }

    @media (max-width: 1420px) {

        .ps-stories-section {

            max-width: calc(100% - 32px) !important;

            margin: 16px auto !important;

        }

    }

    @media (max-width: 768px) {

        .ps-stories-section {

            width: calc(100% - 20px) !important;

            margin: 10px auto 18px auto !important;

            padding: 12px 10px !important;

            border-radius: 16px !important;

        }

    }

    .ps-stories-header {

        display: flex;

        align-items: center;

        justify-content: space-between;

        margin-bottom: 12px;

        padding-bottom: 8px;

        border-bottom: 1px solid #f8fafc;

    }

    .ps-stories-heading-wrap {

        display: flex;

        align-items: center;

        gap: 8px;

    }

    .ps-stories-header-icon {

        font-size: 19px;

    }

    .ps-stories-header-title {

        margin: 0;

        font-size: 15.5px;

        font-weight: 800;

        color: #0f172a;

    }

    .ps-stories-header-hint {

        font-size: 12px;

        color: #94a3b8;

        font-weight: 600;

    }

    .ps-stories-track-wrapper {

        position: relative;

        display: flex;

        align-items: center;

    }

    .ps-stories-track {

        display: flex;

        gap: 18px;

        overflow-x: auto;

        scroll-behavior: smooth;

        padding: 6px 4px 8px 4px;

        -webkit-overflow-scrolling: touch;

        scrollbar-width: none;

    }

    .ps-stories-track::-webkit-scrollbar {

        display: none;

    }

    .ps-stories-scroll-arrow {

        position: absolute;

        top: 50%;

        transform: translateY(-50%);

        width: 34px;

        height: 34px;

        border-radius: 50%;

        background: #ffffff;

        border: 1px solid #e2e8f0;

        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);

        color: #1e293b;

        display: flex;

        align-items: center;

        justify-content: center;

        cursor: pointer;

        z-index: 5;

        transition: all 0.2s;

    }

    .ps-stories-scroll-arrow:hover {

        background: #0f172a;

        color: #ffffff;

        border-color: #0f172a;

    }

    .ps-stories-arrow-prev { right: -12px; }

    .ps-stories-arrow-next { left: -12px; }

    @media (max-width: 768px) {

        .ps-stories-scroll-arrow { display: none !important; }

        .ps-stories-track { gap: 14px; }

    }



    /* Instagram Multi-Color Ring & Bubble */

    .ps-story-item {

        background: none;

        border: none;

        padding: 0;

        cursor: pointer;

        display: flex;

        flex-direction: column;

        align-items: center;

        gap: 8px;

        width: 76px;

        flex-shrink: 0;

        text-align: center;

        font-family: inherit;

        outline: none;

        transition: transform 0.2s cubic-bezier(0.34, 1.56, 0.64, 1);

    }

    .ps-story-item:hover {

        transform: translateY(-3px) scale(1.03);

    }

    .ps-story-ring-wrap {

        position: relative;

        width: 72px;

        height: 72px;

        border-radius: 50%;

        /* Authentic Instagram Gradient Ring */

        background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%) !important;

        padding: 2.5px;

        box-shadow: 0 4px 14px rgba(220, 39, 67, 0.25);

        transition: box-shadow 0.2s ease;

    }

    .ps-story-item:hover .ps-story-ring-wrap {

        box-shadow: 0 6px 18px rgba(220, 39, 67, 0.45);

    }

    .ps-story-ring {

        width: 100%;

        height: 100%;

        border-radius: 50%;

        background: #ffffff;

        padding: 2.5px;

        display: flex;

        align-items: center;

        justify-content: center;

        overflow: hidden;

    }

    .ps-story-thumb {

        width: 100%;

        height: 100%;

        border-radius: 50%;

        object-fit: cover;

        display: block;

        transition: transform 0.3s ease;

    }

    .ps-story-item:hover .ps-story-thumb {

        transform: scale(1.08);

    }

    .ps-story-badge {

        position: absolute;

        bottom: -4px;

        left: 50%;

        transform: translateX(-50%);

        font-size: 9.5px;

        font-weight: 800;

        color: #ffffff;

        padding: 2px 7px;

        border-radius: 10px;

        white-space: nowrap;

        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);

        border: 1.5px solid #ffffff;

    }

    .ps-story-title {

        font-size: 11.5px;

        font-weight: 700;

        color: #334155;

        max-width: 76px;

        overflow: hidden;

        text-overflow: ellipsis;

        white-space: nowrap;

        line-height: 1.3;

    }



    /* =========================================================================

       Fullscreen Instagram Story Viewer Modal

       ========================================================================= */

    .ps-story-modal {

        position: fixed !important;

        inset: 0 !important;

        width: 100vw !important;

        height: 100vh !important;

        z-index: 999999 !important;

        display: none;

        align-items: center !important;

        justify-content: center !important;

        background: rgba(10, 15, 26, 0.94) !important;

        backdrop-filter: blur(18px) !important;

        -webkit-backdrop-filter: blur(18px) !important;

        padding: 16px !important;

        box-sizing: border-box !important;

        direction: rtl !important;

    }

    .ps-story-modal-overlay {

        position: absolute;

        inset: 0;

        cursor: pointer;

    }

    .ps-story-player-card {

        position: relative !important;

        width: 100% !important;

        max-width: 410px !important;

        height: 88vh !important;

        max-height: 760px !important;

        background: #090d16 !important;

        border-radius: 24px !important;

        overflow: hidden !important;

        box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.12) !important;

        display: flex !important;

        flex-direction: column !important;

        z-index: 10 !important;

    }

    @media (max-width: 480px) {

        .ps-story-modal {

            padding: 0 !important;

        }

        .ps-story-player-card {

            max-width: 100vw !important;

            height: 100vh !important;

            max-height: 100vh !important;

            border-radius: 0 !important;

        }

    }



    /* Top Segmented Instagram Progress Bars */

    .ps-story-progress-container {

        position: absolute;

        top: 14px;

        left: 14px;

        right: 14px;

        height: 2.5px;

        display: flex;

        gap: 4px;

        z-index: 40;

    }

    .ps-story-progress-bar {

        flex: 1;

        height: 100%;

        background: rgba(255, 255, 255, 0.35);

        border-radius: 3px;

        overflow: hidden;

    }

    .ps-story-progress-fill {

        width: 0%;

        height: 100%;

        background: #ffffff;

        border-radius: 3px;

        transition: width 0.05s linear;

    }



    /* Top Header: Instagram Profile Info & Actions */

    .ps-story-player-header {

        position: absolute;

        top: 24px;

        left: 14px;

        right: 14px;

        display: flex;

        align-items: center;

        justify-content: space-between;

        z-index: 40;

        pointer-events: none;

    }

    .ps-story-author-info {

        display: flex;

        align-items: center;

        gap: 10px;

        pointer-events: auto;

    }

    .ps-story-author-avatar {

        width: 38px;

        height: 38px;

        border-radius: 50%;

        padding: 2px;

        background: linear-gradient(45deg, #f09433, #dc2743, #bc1888);

        flex-shrink: 0;

    }

    .ps-story-author-avatar img {

        width: 100%;

        height: 100%;

        border-radius: 50%;

        object-fit: cover;

        background: #fff;

        border: 1.5px solid #000;

        display: block;

    }

    .ps-story-author-meta {

        display: flex;

        flex-direction: column;

        gap: 1px;

    }

    .ps-story-author-title-row {

        display: flex;

        align-items: center;

        gap: 5px;

    }

    .ps-story-author-name {

        font-size: 14px;

        font-weight: 800;

        color: #ffffff;

        text-shadow: 0 1px 4px rgba(0, 0, 0, 0.6);

    }

    .ps-story-verified-icon {

        color: #38bdf8;

        display: inline-flex;

    }

    .ps-story-time-ago {

        font-size: 11px;

        font-weight: 600;

        color: rgba(255, 255, 255, 0.7);

    }

    .ps-story-header-actions {

        display: flex;

        align-items: center;

        gap: 8px;

        pointer-events: auto;

    }

    .ps-story-action-btn {

        background: rgba(0, 0, 0, 0.45);

        border: 1px solid rgba(255, 255, 255, 0.25);

        border-radius: 50%;

        width: 34px;

        height: 34px;

        display: flex;

        align-items: center;

        justify-content: center;

        color: #ffffff;

        font-size: 14px;

        cursor: pointer;

        transition: all 0.2s;

    }

    .ps-story-action-btn:hover {

        background: rgba(0, 0, 0, 0.8);

        transform: scale(1.08);

    }

    .ps-story-close-btn {

        font-size: 16px;

        font-weight: 800;

        background: rgba(239, 68, 68, 0.8);

        border-color: rgba(239, 68, 68, 0.5);

    }

    .ps-story-close-btn:hover {

        background: #dc2626;

    }



    /* Media Viewport (Full 9:16 bleed) */

    .ps-story-media-container {

        position: relative;

        width: 100%;

        height: 100%;

        flex: 1;

        display: flex;

        align-items: center;

        justify-content: center;

        background: #090d16;

        overflow: hidden;

    }

    .ps-story-media-el {

        width: 100% !important;

        height: 100% !important;

        object-fit: cover !important;

        position: absolute;

        inset: 0;

        display: block;

    }



    /* Tap zones for Instagram navigation */

    .ps-story-tap-zone {

        position: absolute;

        top: 60px;

        bottom: 120px;

        width: 45%;

        z-index: 25;

        cursor: pointer;

    }

    .ps-story-tap-right { right: 0; }

    .ps-story-tap-left { left: 0; }



    /* Desktop Navigation Chevrons */

    .ps-story-nav-arrow {

        position: absolute;

        top: 50%;

        transform: translateY(-50%);

        width: 44px;

        height: 44px;

        border-radius: 50%;

        background: rgba(255, 255, 255, 0.2);

        backdrop-filter: blur(8px);

        border: 1px solid rgba(255, 255, 255, 0.3);

        color: #ffffff;

        display: flex;

        align-items: center;

        justify-content: center;

        cursor: pointer;

        z-index: 35;

        transition: all 0.2s;

    }

    .ps-story-nav-arrow:hover {

        background: rgba(255, 255, 255, 0.9);

        color: #0f172a;

        transform: translateY(-50%) scale(1.1);

    }

    .ps-story-nav-prev { right: 14px; }

    .ps-story-nav-next { left: 14px; }

    @media (max-width: 640px) {

        .ps-story-nav-arrow { display: none !important; }

    }



    /* Instagram Interactive Shoppable Sticker Pill (Bottom) */

    .ps-story-product-card {

        position: absolute;

        bottom: 20px;

        left: 14px;

        right: 14px;

        background: rgba(15, 23, 42, 0.88) !important;

        backdrop-filter: blur(20px) !important;

        -webkit-backdrop-filter: blur(20px) !important;

        border: 1.5px solid rgba(255, 255, 255, 0.22) !important;

        border-radius: 20px !important;

        padding: 12px 14px !important;

        z-index: 40 !important;

        box-shadow: 0 16px 36px rgba(0, 0, 0, 0.6) !important;

        transition: transform 0.2s ease, box-shadow 0.2s ease;

    }

    .ps-story-product-card:hover {

        transform: translateY(-2px);

        box-shadow: 0 20px 45px rgba(0, 0, 0, 0.75) !important;

    }

    .ps-story-product-inner {

        display: flex;

        align-items: center;

        gap: 12px;

    }

    .ps-story-prod-thumb-wrap {

        position: relative;

        width: 52px;

        height: 52px;

        border-radius: 12px;

        overflow: hidden;

        background: #1e293b;

        flex-shrink: 0;

        border: 1px solid rgba(255, 255, 255, 0.15);

    }

    .ps-story-prod-thumb {

        width: 100%;

        height: 100%;

        object-fit: cover;

        display: block;

    }

    .ps-story-prod-info {

        flex: 1;

        min-width: 0;

        display: flex;

        flex-direction: column;

        gap: 2px;

    }

    .ps-story-prod-title {

        font-size: 13.5px;

        font-weight: 800;

        color: #ffffff !important;

        text-decoration: none !important;

        white-space: nowrap;

        overflow: hidden;

        text-overflow: ellipsis;

    }

    .ps-story-prod-prices {

        display: flex;

        align-items: center;

        gap: 8px;

    }

    .ps-story-prod-price-cur {

        font-size: 14.5px;

        font-weight: 900;

        color: #38bdf8;

    }

    .ps-story-prod-price-old {

        font-size: 11.5px;

        color: rgba(255, 255, 255, 0.45);

        text-decoration: line-through;

    }

    .ps-story-buy-btn {

        display: inline-flex;

        align-items: center;

        gap: 6px;

        background: linear-gradient(135deg, #ef4444, #f97316) !important;

        color: #ffffff !important;

        font-size: 13px;

        font-weight: 800;

        padding: 10px 18px;

        border-radius: 30px;

        text-decoration: none !important;

        white-space: nowrap;

        box-shadow: 0 4px 14px rgba(239, 68, 68, 0.4);

        transition: transform 0.2s, box-shadow 0.2s;

    }

    .ps-story-buy-btn:hover {

        transform: scale(1.05);

        box-shadow: 0 6px 18px rgba(239, 68, 68, 0.6);

    }

/* =========================================================
   Module: inc\elementor-widgets\persianshop-hero-banners.php
   ========================================================= */
.dk-hero-banners-section {
                width: 100% !important;
                max-width: 1380px !important;
                margin: 16px auto !important;
                box-sizing: border-box !important;
            }
            .dk-hero-banners-row {
                display: flex !important;
                gap: 16px !important;
                align-items: stretch !important;
                height: 420px !important;
                box-sizing: border-box !important;
            }
            .dk-hero-banners-row.no-side-banners {
                height: 420px !important;
            }
            .dk-hero-banners-row.no-side-banners .dk-hero-slider-col {
                flex: 0 0 100% !important;
                max-width: 100% !important;
            }
            .dk-hero-slider-col {
                flex: 1 1 0 !important;
                min-width: 0 !important;
                height: 100% !important;
                border-radius: 16px !important;
                overflow: hidden !important;
                position: relative !important;
                box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
            }
            .dk-hero-slider-col .dk-hero-slider {
                margin: 0 !important;
                width: 100% !important;
                height: 100% !important;
                border-radius: 16px !important;
                overflow: hidden !important;
                position: relative !important;
            }
            .dk-hero-slider-col .swiper-wrapper {
                height: 100% !important;
            }
            .dk-hero-slider-col .swiper-slide {
                height: 100% !important;
                position: relative !important;
                overflow: hidden !important;
                background: #0f172a !important;
            }
            .dk-hero-slider-col .dk-hero-slide-link {
                display: block !important;
                width: 100% !important;
                height: 100% !important;
            }
            .dk-hero-slider-col .dk-hero-slide-link picture {
                display: block !important;
                width: 100% !important;
                height: 100% !important;
            }
            .dk-hero-slider-col .dk-hero-slide-link img,
            .dk-hero-slider .swiper-slide img {
                width: 100% !important;
                height: 100% !important;
                max-height: none !important;
                object-fit: cover !important;
                object-position: center center !important;
                display: block !important;
            }
            /* Refined Swiper Floating Arrows */
            .dk-hero-slider .swiper-button-next,
            .dk-hero-slider .swiper-button-prev {
                width: 38px !important;
                height: 38px !important;
                background: rgba(255, 255, 255, 0.88) !important;
                backdrop-filter: blur(8px) !important;
                -webkit-backdrop-filter: blur(8px) !important;
                border-radius: 50% !important;
                box-shadow: 0 4px 14px rgba(0, 0, 0, 0.16) !important;
                color: #0f172a !important;
                opacity: 0 !important;
                transition: opacity 0.25s ease, transform 0.2s ease, background 0.2s ease !important;
                z-index: 10 !important;
            }
            .dk-hero-slider:hover .swiper-button-next,
            .dk-hero-slider:hover .swiper-button-prev {
                opacity: 0.9 !important;
            }
            .dk-hero-slider .swiper-button-next:hover,
            .dk-hero-slider .swiper-button-prev:hover {
                opacity: 1 !important;
                background: #ffffff !important;
                transform: scale(1.08) !important;
            }
            .dk-hero-slider .swiper-button-next:after,
            .dk-hero-slider .swiper-button-prev:after {
                font-size: 14px !important;
                font-weight: 800 !important;
            }
            .dk-hero-slider .swiper-pagination-bullet {
                background: rgba(255, 255, 255, 0.6) !important;
                opacity: 1 !important;
                width: 7px !important;
                height: 7px !important;
                transition: all 0.3s ease !important;
            }
            .dk-hero-slider .swiper-pagination-bullet-active {
                background: #ffffff !important;
                width: 22px !important;
                border-radius: 6px !important;
            }
            /* Side Banners Column */
            .dk-hero-side-banners-col {
                flex: 0 0 324px !important;
                width: 324px !important;
                display: flex !important;
                flex-direction: column !important;
                gap: 16px !important;
                height: 100% !important;
            }
            .dk-side-banner-card {
                flex: 1 1 0 !important;
                min-height: 0 !important;
                display: block !important;
                border-radius: 16px !important;
                overflow: hidden !important;
                position: relative !important;
                box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
                transition: transform 0.25s ease, box-shadow 0.25s ease !important;
            }
            .dk-side-banner-card:hover {
                transform: translateY(-3px) !important;
                box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;
            }
            .dk-side-banner-card img {
                width: 100% !important;
                height: 100% !important;
                max-height: none !important;
                object-fit: cover !important;
                object-position: center center !important;
                display: block !important;
            }
            /* Responsive Tablets */
            @media (max-width: 991px) {
                .dk-hero-banners-row {
                    height: auto !important;
                    flex-direction: column !important;
                    gap: 14px !important;
                }
                .dk-hero-slider-col {
                    flex: 0 0 100% !important;
                    max-width: 100% !important;
                    height: auto !important;
                    aspect-ratio: 1920 / 820 !important;
                    border-radius: 14px !important;
                }
                .dk-hero-slider-col .dk-hero-slider {
                    height: 100% !important;
                    border-radius: 14px !important;
                }
                .dk-hero-side-banners-col {
                    width: 100% !important;
                    height: auto !important;
                    flex: 0 0 auto !important;
                    flex-direction: row !important;
                    gap: 12px !important;
                }
                .dk-side-banner-card {
                    flex: 1 1 0 !important;
                    height: 160px !important;
                    border-radius: 12px !important;
                }
            }
            /* Responsive Mobile */
            @media (max-width: 767px) {
                .dk-hero-banners-section {
                    margin: 10px auto !important;
                    padding: 0 10px !important;
                }
                .dk-hero-banners-row {
                    height: auto !important;
                    flex-direction: column !important;
                    gap: 12px !important;
                }
                .dk-hero-slider .swiper-button-next,
                .dk-hero-slider .swiper-button-prev {
                    display: none !important;
                }
                .dk-hero-slider-col {
                    aspect-ratio: 750 / 500 !important;
                    min-height: 230px !important;
                    border-radius: 14px !important;
                    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.07) !important;
                }
                .dk-hero-slider-col .dk-hero-slider {
                    height: 100% !important;
                    border-radius: 14px !important;
                }
                .dk-hero-side-banners-col {
                    width: 100% !important;
                    display: flex !important;
                    flex-direction: row !important;
                    gap: 10px !important;
                }
                .dk-side-banner-card {
                    flex: 1 1 0 !important;
                    height: 110px !important;
                    aspect-ratio: auto !important;
                    border-radius: 12px !important;
                }
                .dk-side-banner-card img {
                    height: 100% !important;
                    width: 100% !important;
                    object-fit: cover !important;
                }
            }

/* =========================================================
   Module: inc\elementor-widgets\persianshop-categories.php
   ========================================================= */
.dk-categories-section.dk-categories-section {
                width: 100% !important;
                max-width: 1380px !important;
                margin: 22px auto !important;
                padding: 0 16px !important;
                box-sizing: border-box !important;
                position: relative !important;
            }
            .dk-categories-section .dk-cat-header-wrap {
                display: flex !important;
                align-items: center !important;
                justify-content: space-between !important;
                margin-bottom: 16px !important;
                padding-bottom: 8px !important;
                border-bottom: 1.5px solid #f1f5f9 !important;
            }
            .dk-categories-section .dk-cat-title-group {
                display: flex !important;
                align-items: center !important;
                gap: 10px !important;
            }
            .dk-categories-section .dk-cat-badge {
                display: inline-flex !important;
                align-items: center !important;
                gap: 4px !important;
                font-size: 11px !important;
                font-weight: 700 !important;
                color: #ef4056 !important;
                background: rgba(239, 64, 86, 0.08) !important;
                padding: 3px 10px !important;
                border-radius: 20px !important;
                white-space: nowrap !important;
            }
            .dk-categories-section .dk-section-title {
                font-size: 18px !important;
                font-weight: 800 !important;
                color: #0f172a !important;
                margin: 0 !important;
                letter-spacing: -0.3px !important;
                line-height: 1.3 !important;
                position: relative !important;
            }
            .dk-categories-section .dk-section-title::after {
                display: none !important;
                content: none !important;
            }
            .dk-categories-section .dk-cat-nav-btns {
                display: flex !important;
                align-items: center !important;
                gap: 8px !important;
            }
            .dk-categories-section .dk-cat-nav-btn {
                width: 32px !important;
                height: 32px !important;
                border-radius: 50% !important;
                border: 1px solid #e2e8f0 !important;
                background: #ffffff !important;
                color: #334155 !important;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                cursor: pointer !important;
                box-shadow: 0 2px 6px rgba(0, 0, 0, 0.04) !important;
                transition: all 0.2s ease !important;
                padding: 0 !important;
            }
            .dk-categories-section .dk-cat-nav-btn:hover {
                background: #ef4056 !important;
                border-color: #ef4056 !important;
                color: #ffffff !important;
                transform: scale(1.08) !important;
            }
            .dk-categories-section .dk-categories-track-wrap {
                position: relative !important;
                width: 100% !important;
                overflow: hidden !important;
                padding: 6px 2px 14px 2px !important;
            }
            .dk-categories-section .dk-categories-track {
                display: flex !important;
                gap: 18px !important;
                overflow-x: auto !important;
                overflow-y: hidden !important;
                scroll-behavior: smooth !important;
                -webkit-overflow-scrolling: touch !important;
                scrollbar-width: none !important;
                -ms-overflow-style: none !important;
                cursor: grab !important;
                user-select: none !important;
                -webkit-user-select: none !important;
                padding: 4px 6px !important;
                align-items: flex-start !important;
            }
            .dk-categories-section .dk-categories-track::-webkit-scrollbar {
                display: none !important;
                width: 0 !important;
                height: 0 !important;
            }
            .dk-categories-section .dk-categories-track.is-dragging {
                cursor: grabbing !important;
                scroll-behavior: auto !important;
            }
            .dk-categories-section .dk-category-item {
                flex: 0 0 auto !important;
                display: flex !important;
                flex-direction: column !important;
                align-items: center !important;
                text-align: center !important;
                text-decoration: none !important;
                width: 86px !important;
                box-sizing: border-box !important;
                transition: transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
            }
            .dk-categories-section .dk-category-item:hover {
                transform: translateY(-4px) !important;
            }
            .dk-categories-section .dk-category-circle {
                width: 76px !important;
                height: 76px !important;
                border-radius: 50% !important;
                background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%) !important;
                border: 1.5px solid #e2e8f0 !important;
                box-shadow: 0 4px 14px rgba(15, 23, 42, 0.05) !important;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                position: relative !important;
                transition: all 0.25s ease !important;
                padding: 6px !important;
                box-sizing: border-box !important;
                overflow: hidden !important;
            }
            .dk-categories-section .dk-category-item:hover .dk-category-circle {
                border-color: #ef4056 !important;
                box-shadow: 0 8px 22px rgba(239, 64, 86, 0.18) !important;
                transform: scale(1.05) !important;
            }
            .dk-categories-section .dk-cat-img-wrapper {
                width: 100% !important;
                height: 100% !important;
                border-radius: 50% !important;
                overflow: hidden !important;
                display: flex !important;
                align-items: center !important;
                justify-content: center !important;
                background: #f8fafc !important;
            }
            .dk-categories-section .dk-category-circle img {
                width: 100% !important;
                height: 100% !important;
                object-fit: cover !important;
                object-position: center !important;
                display: block !important;
                transition: transform 0.3s ease !important;
            }
            .dk-categories-section .dk-category-item:hover .dk-category-circle img {
                transform: scale(1.12) !important;
            }
            .dk-categories-section .dk-category-name {
                margin-top: 8px !important;
                font-size: 12px !important;
                font-weight: 700 !important;
                color: #334155 !important;
                line-height: 1.35 !important;
                text-align: center !important;
                display: -webkit-box !important;
                -webkit-line-clamp: 2 !important;
                -webkit-box-orient: vertical !important;
                overflow: hidden !important;
                transition: color 0.2s ease !important;
                width: 100% !important;
            }
            .dk-categories-section .dk-category-item:hover .dk-category-name {
                color: #ef4056 !important;
            }
            @media (max-width: 640px) {
                .dk-categories-section.dk-categories-section {
                    margin: 14px auto !important;
                    padding: 0 10px !important;
                }
                .dk-categories-section .dk-cat-header-wrap {
                    margin-bottom: 10px !important;
                }
                .dk-categories-section .dk-section-title {
                    font-size: 15px !important;
                }
                .dk-categories-section .dk-cat-nav-btn {
                    width: 28px !important;
                    height: 28px !important;
                }
                .dk-categories-section .dk-category-item {
                    width: 74px !important;
                }
                .dk-categories-section .dk-category-circle {
                    width: 66px !important;
                    height: 66px !important;
                }
                .dk-categories-section .dk-category-name {
                    font-size: 11.5px !important;
                }
            }

/* =========================================================
   Module: inc\added-to-cart-popup.php
   ========================================================= */
/* Backdrop */
		.ps-postadd-overlay {
			position: fixed;
			inset: 0;
			background: rgba(15, 23, 42, 0.6);
			backdrop-filter: blur(4px);
			z-index: 999990;
			opacity: 0;
			visibility: hidden;
			transition: all 0.3s ease;
		}
		.ps-postadd-overlay.active {
			opacity: 1;
			visibility: visible;
		}

		/* Drawer Modal */
		.ps-postadd-drawer {
			position: fixed;
			top: 0;
			bottom: 0;
			left: 0;
			width: 490px;
			max-width: 95vw;
			background: #ffffff;
			z-index: 999999;
			box-shadow: 20px 0 50px rgba(0, 0, 0, 0.25);
			transform: translateX(-100%);
			transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
			display: flex;
			flex-direction: column;
			direction: rtl;
			text-align: right;
			font-family: inherit;
		}
		.ps-postadd-drawer.active {
			transform: translateX(0);
		}
		.ps-postadd-body {
			flex: 1;
			overflow-y: auto;
			padding: 24px;
		}

		/* Header */
		.ps-postadd-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding-bottom: 16px;
			border-bottom: 1px solid #f1f5f9;
			margin-bottom: 16px;
		}
		.ps-postadd-success-badge {
			display: flex;
			align-items: center;
			gap: 8px;
			color: #166534;
			font-size: 14.5px;
			font-weight: 800;
		}
		.ps-postadd-close-btn {
			background: #f1f5f9;
			border: none;
			width: 32px;
			height: 32px;
			border-radius: 50%;
			font-size: 20px;
			line-height: 1;
			color: #64748b;
			cursor: pointer;
			display: flex;
			align-items: center;
			justify-content: center;
			transition: all 0.2s;
		}
		.ps-postadd-close-btn:hover {
			background: #ef4444;
			color: #ffffff;
		}

		/* Added Item Card */
		.ps-postadd-item-card {
			display: flex;
			align-items: center;
			gap: 14px;
			background: #f8fafc;
			border: 1px solid #e2e8f0;
			border-radius: 12px;
			padding: 12px 14px;
			margin-bottom: 16px;
		}
		.ps-postadd-thumb {
			width: 65px;
			height: 65px;
			object-fit: contain;
			border-radius: 8px;
			background: #ffffff;
			border: 1px solid #e2e8f0;
		}
		.ps-postadd-item-details {
			flex: 1;
		}
		.ps-postadd-item-title {
			margin: 0 0 6px;
			font-size: 13.5px;
			font-weight: 800;
			color: #0f172a;
			line-height: 1.5;
		}
		.ps-postadd-item-meta {
			display: flex;
			align-items: center;
			gap: 8px;
			font-size: 12px;
			color: #64748b;
		}
		.ps-postadd-dot { color: #cbd5e1; }
		.ps-postadd-price {
			color: #ef394e;
			font-weight: 800;
		}

		/* Free Shipping Progress */
		.ps-postadd-shipping-progress {
			background: #f0fdf4;
			border: 1px solid #bbf7d0;
			border-radius: 12px;
			padding: 12px 14px;
			margin-bottom: 20px;
		}
		.ps-pasp-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin-bottom: 8px;
		}
		.ps-pasp-icon-text {
			display: flex;
			align-items: center;
			gap: 6px;
			font-size: 12px;
			color: #166534;
		}
		.ps-pasp-status strong {
			color: #0f172a;
		}
		.ps-pasp-status.free {
			color: #15803d;
			font-weight: 800;
		}
		.ps-pasp-pct {
			font-size: 12px;
			font-weight: 800;
			color: #16a34a;
		}
		.ps-pasp-track {
			width: 100%;
			height: 8px;
			background: #e2e8f0;
			border-radius: 10px;
			overflow: hidden;
		}
		.ps-pasp-fill {
			height: 100%;
			background: linear-gradient(90deg, #10b981 0%, #059669 100%);
			border-radius: 10px;
			transition: width 0.4s ease;
		}

		/* Cross Sells Section */
		.ps-postadd-cross-sells {
			margin-bottom: 20px;
		}
		.ps-pacs-title-line {
			display: flex;
			align-items: center;
			gap: 6px;
			margin-bottom: 12px;
		}
		.ps-pacs-title-line h4 {
			margin: 0;
			font-size: 13px;
			font-weight: 800;
			color: #1e293b;
		}
		.ps-pacs-items-list {
			display: flex;
			flex-direction: column;
			gap: 10px;
		}
		.ps-pacs-card {
			display: flex;
			align-items: center;
			gap: 12px;
			background: #ffffff;
			border: 1px solid #e2e8f0;
			border-radius: 10px;
			padding: 10px 12px;
			transition: all 0.2s;
		}
		.ps-pacs-card:hover {
			border-color: #cbd5e1;
			box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
		}
		.ps-pacs-thumb {
			width: 48px;
			height: 48px;
			object-fit: contain;
			border-radius: 6px;
			background: #f8fafc;
		}
		.ps-pacs-info {
			flex: 1;
		}
		.ps-pacs-name {
			margin: 0 0 4px;
			font-size: 12px;
			font-weight: 700;
			color: #334155;
			line-height: 1.4;
		}
		.ps-pacs-price-line {
			display: flex;
			align-items: center;
			gap: 6px;
		}
		.ps-pacs-cur-price {
			font-size: 12px;
			font-weight: 800;
			color: #0f172a;
		}
		.ps-pacs-disc-badge {
			background: #fee2e2;
			color: #dc2626;
			font-size: 10px;
			font-weight: 800;
			padding: 1px 5px;
			border-radius: 4px;
		}
		.ps-pacs-add-btn {
			background: #f1f5f9;
			border: 1px solid #cbd5e1;
			border-radius: 8px;
			padding: 6px 10px;
			font-size: 11.5px;
			font-weight: 800;
			color: #334155;
			cursor: pointer;
			display: flex;
			align-items: center;
			gap: 4px;
			transition: all 0.2s;
		}
		.ps-pacs-add-btn:hover {
			background: #ef394e;
			border-color: #ef394e;
			color: #ffffff;
		}
		.ps-pacs-add-btn.added {
			background: #dcfce7 !important;
			border-color: #86efac !important;
			color: #166534 !important;
			pointer-events: none;
		}

		/* Footer */
		.ps-postadd-footer {
			background: #f8fafc;
			border-top: 1px solid #e2e8f0;
			padding: 16px;
			border-radius: 12px;
		}
		.ps-postadd-subtotal-row {
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin-bottom: 14px;
			font-size: 13px;
		}
		.ps-pas-label { color: #64748b; font-weight: 700; }
		.ps-pas-val {
			color: #0f172a;
			font-size: 16px;
			font-weight: 900;
		}
		.ps-postadd-buttons-row {
			display: flex;
			flex-direction: column;
			gap: 8px;
			margin-bottom: 10px;
		}
		.ps-postadd-btn {
			width: 100%;
			height: 44px;
			border-radius: 10px;
			display: flex;
			align-items: center;
			justify-content: center;
			gap: 6px;
			font-size: 13.5px;
			font-weight: 800;
			text-decoration: none;
			transition: all 0.2s;
		}
		.ps-postadd-btn-checkout {
			background: #ef394e;
			color: #ffffff;
			box-shadow: 0 4px 12px rgba(239, 57, 78, 0.25);
		}
		.ps-postadd-btn-checkout:hover {
			background: #dc2626;
			transform: translateY(-1px);
		}
		.ps-postadd-btn-cart {
			background: #ffffff;
			border: 1px solid #cbd5e1;
			color: #334155;
		}
		.ps-postadd-btn-cart:hover {
			background: #f1f5f9;
			border-color: #94a3b8;
		}
		.ps-postadd-dismiss-row {
			text-align: center;
		}
		.ps-postadd-dismiss-link {
			background: transparent;
			border: none;
			font-size: 11.5px;
			color: #64748b;
			cursor: pointer;
			text-decoration: underline;
		}
		.ps-postadd-dismiss-link:hover {
			color: #0f172a;
		}

/* =========================================================
   Module: inc\free-shipping-goal-meter.php
   ========================================================= */
/* Free Shipping Goal Meter Suite - Enhanced Modern UI */
		.ps-fs-goal-wrapper {
			background: #ffffff;
			border: 1px solid #e2e8f0;
			border-radius: 18px;
			padding: 22px 24px;
			margin: 0 0 24px 0;
			box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
			direction: rtl;
			text-align: right;
			font-family: inherit;
			transition: all 0.3s ease;
			position: relative;
		}
		.ps-fs-goal-wrapper.is-achieved {
			background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 45%, #ffffff 100%);
			border: 1.5px solid #86efac;
			box-shadow: 0 6px 24px -4px rgba(16, 185, 129, 0.14), 0 2px 8px -2px rgba(0, 0, 0, 0.03);
		}
		.ps-fs-goal-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			flex-wrap: wrap;
			gap: 16px;
			margin-bottom: 16px;
		}
		.ps-fs-goal-title-wrap {
			display: flex;
			align-items: center;
			gap: 14px;
		}
		.ps-fs-goal-icon-badge {
			width: 48px;
			height: 48px;
			border-radius: 14px;
			background: #eff6ff;
			border: 1px solid #dbeafe;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #2563eb;
			flex-shrink: 0;
			transition: all 0.3s ease;
		}
		.ps-fs-goal-wrapper.is-achieved .ps-fs-goal-icon-badge {
			background: linear-gradient(135deg, #10b981 0%, #059669 100%);
			border-color: #059669;
			color: #ffffff;
			box-shadow: 0 4px 12px rgba(16, 185, 129, 0.28);
		}
		.ps-fs-goal-icon-badge.pulse {
			animation: psGoalPulse 2s infinite ease-in-out;
		}
		@keyframes psGoalPulse {
			0%, 100% { transform: scale(1); }
			50% { transform: scale(1.05); }
		}
		.ps-fs-goal-info {
			display: flex;
			flex-direction: column;
			gap: 4px;
		}
		.ps-fs-heading {
			margin: 0;
			font-size: 15px;
			font-weight: 800;
			color: #1e293b;
			line-height: 1.4;
		}
		.ps-fs-heading mark {
			background: transparent;
			color: #0284c7;
			font-weight: 900;
		}
		.ps-fs-heading.achieved {
			color: #065f46;
			font-size: 16px;
			font-weight: 900;
		}
		.ps-fs-desc {
			margin: 0;
			font-size: 12.5px;
			color: #64748b;
			line-height: 1.5;
		}
		.ps-fs-desc.achieved {
			color: #047857;
			font-size: 13px;
			font-weight: 500;
		}

		/* Modern Achieved Pill Badge */
		.ps-fs-achieved-pill {
			background: #ecfdf5;
			border: 1.5px solid #6ee7b7;
			color: #047857;
			padding: 8px 16px;
			border-radius: 999px;
			display: inline-flex;
			align-items: center;
			gap: 8px;
			font-size: 13px;
			font-weight: 800;
			box-shadow: 0 2px 8px rgba(16, 185, 129, 0.12);
			flex-shrink: 0;
		}
		.ps-fs-achieved-check {
			width: 22px;
			height: 22px;
			border-radius: 50%;
			background: #10b981;
			color: #ffffff;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			font-size: 12px;
			box-shadow: 0 2px 4px rgba(16, 185, 129, 0.3);
		}

		/* Pending Progress Tag */
		.ps-fs-goal-percent-tag {
			background: #f8fafc;
			border: 1px solid #e2e8f0;
			padding: 6px 14px;
			border-radius: 12px;
			text-align: center;
			min-width: 75px;
			flex-shrink: 0;
		}
		.ps-fs-goal-percent-tag strong {
			display: block;
			font-size: 16px;
			color: #0284c7;
			font-weight: 900;
		}
		.ps-fs-goal-percent-tag span {
			font-size: 10.5px;
			color: #64748b;
		}

		/* Progress Bar Track */
		.ps-fs-progress-track {
			position: relative;
			height: 10px;
			background: #f1f5f9;
			border-radius: 999px;
			overflow: hidden;
			margin-bottom: 12px;
			box-shadow: inset 0 2px 4px rgba(0,0,0,0.05);
		}
		.ps-fs-progress-bar {
			position: relative;
			height: 100%;
			border-radius: 999px;
			background: linear-gradient(90deg, #3b82f6, #06b6d4, #10b981);
			transition: width 0.6s cubic-bezier(0.16, 1, 0.3, 1);
		}
		.ps-fs-goal-wrapper.is-achieved .ps-fs-progress-track {
			background: #d1fae5;
			border-radius: 999px;
			overflow: hidden;
		}
		.ps-fs-goal-wrapper.is-achieved .ps-fs-progress-bar {
			width: 100% !important;
			background: linear-gradient(90deg, #10b981 0%, #34d399 50%, #059669 100%) !important;
			border-radius: 999px;
		}
		.ps-fs-shimmer {
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: linear-gradient(90deg, transparent, rgba(255,255,255,0.45), transparent);
			background-size: 200% 100%;
			animation: psShimmer 2.2s infinite linear;
			border-radius: 999px;
		}
		@keyframes psShimmer {
			0% { background-position: -200% 0; }
			100% { background-position: 200% 0; }
		}

		/* Completely eliminate white notch/cut on 100% bar */
		.ps-fs-goal-wrapper.is-achieved .ps-fs-truck-head {
			display: none !important;
		}
		.ps-fs-truck-head {
			display: none !important;
			position: absolute;
			left: -11px;
			top: -6px;
			width: 22px;
			height: 22px;
			background: #0284c7;
			border: 2px solid #ffffff;
			border-radius: 50%;
			display: flex;
			align-items: center;
			justify-content: center;
			box-shadow: 0 2px 6px rgba(2, 132, 199, 0.35);
			color: #ffffff;
			transform: scaleX(-1);
			z-index: 2;
		}

		/* Celebratory Value Badges (Replacing raw wireframe checkpoints) */
		.ps-fs-achieved-benefits {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 12px;
			margin-top: 14px;
			padding-top: 14px;
			border-top: 1px solid rgba(134, 239, 172, 0.45);
		}
		.ps-fs-benefit-item {
			display: flex;
			align-items: center;
			gap: 8px;
			background: rgba(255, 255, 255, 0.85);
			border: 1px solid #bbf7d0;
			border-radius: 10px;
			padding: 8px 12px;
			font-size: 11.5px;
			color: #1e293b;
			box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
		}
		.ps-fs-benefit-item .ps-fs-b-icon {
			color: #10b981;
			flex-shrink: 0;
		}
		.ps-fs-benefit-item .ps-fs-b-text strong {
			color: #065f46;
		}
		@media (max-width: 768px) {
			.ps-fs-achieved-benefits {
				grid-template-columns: 1fr;
				gap: 8px;
			}
			.ps-fs-goal-header {
				flex-direction: column;
				align-items: flex-start;
			}
			.ps-fs-achieved-pill {
				align-self: flex-start;
			}
		}

		/* Checkpoints for pending progress */
		.ps-fs-checkpoints-row {
			display: flex;
			justify-content: space-between;
			font-size: 11.5px;
			color: #94a3b8;
			margin-bottom: 6px;
		}
		.ps-cp-item.active {
			color: #0f172a;
			font-weight: 700;
		}

		/* Fillers Section */
		.ps-fs-fillers-section {
			margin-top: 18px;
			padding-top: 16px;
			border-top: 1px dashed #e2e8f0;
		}
		.ps-fs-fillers-header {
			display: flex;
			align-items: center;
			gap: 10px;
			margin-bottom: 12px;
		}
		.ps-fs-fillers-badge {
			background: #fef3c7;
			color: #92400e;
			font-size: 11px;
			font-weight: 800;
			padding: 3px 10px;
			border-radius: 8px;
		}
		.ps-fs-fillers-title {
			font-size: 12.5px;
			font-weight: 700;
			color: #334155;
		}
		.ps-fs-fillers-grid {
			display: grid;
			grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
			gap: 12px;
		}
		.ps-filler-card {
			display: flex;
			align-items: center;
			gap: 10px;
			background: #f8fafc;
			border: 1px solid #e2e8f0;
			border-radius: 12px;
			padding: 8px 12px;
			transition: all 0.2s;
		}
		.ps-filler-card:hover {
			background: #ffffff;
			border-color: #cbd5e1;
			box-shadow: 0 4px 10px rgba(0,0,0,0.04);
		}
		.ps-filler-thumb {
			flex-shrink: 0;
			width: 48px;
			height: 48px;
			border-radius: 8px;
			overflow: hidden;
			border: 1px solid #cbd5e1;
		}
		.ps-filler-thumb img {
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
		.ps-filler-details {
			flex: 1;
			min-width: 0;
		}
		.ps-filler-name {
			display: block;
			font-size: 12px;
			font-weight: 700;
			color: #1e293b;
			white-space: nowrap;
			overflow: hidden;
			text-overflow: ellipsis;
			text-decoration: none;
			margin-bottom: 3px;
		}
		.ps-filler-price {
			font-size: 11.5px;
			color: #059669;
			font-weight: 800;
		}
		.ps-btn-add-filler {
			flex-shrink: 0;
			background: #0284c7;
			color: #ffffff;
			border: none;
			border-radius: 8px;
			padding: 6px 10px;
			font-size: 11.5px;
			font-weight: 800;
			cursor: pointer;
			transition: background 0.2s;
		}
		.ps-btn-add-filler:hover {
			background: #0369a1;
		}
		.ps-btn-add-filler:disabled {
			opacity: 0.6;
			cursor: not-allowed;
		}

		/* Product Buybox Pill */
		.ps-product-shipping-goal-pill {
			display: flex;
			align-items: center;
			gap: 12px;
			background: linear-gradient(135deg, #f0fdf4 0%, #e0f2fe 100%);
			border: 1px solid #bae6fd;
			border-radius: 12px;
			padding: 12px 16px;
			margin: 14px 0;
			color: #0f172a;
			font-family: inherit;
		}
		.ps-psg-icon {
			width: 36px;
			height: 36px;
			border-radius: 10px;
			background: #ffffff;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #0284c7;
			flex-shrink: 0;
			box-shadow: 0 2px 6px rgba(0,0,0,0.06);
		}
		.ps-psg-content {
			display: flex;
			flex-direction: column;
			gap: 2px;
		}
		.ps-psg-title {
			font-size: 13px;
			font-weight: 800;
			color: #0369a1;
		}
		.ps-psg-title.ps-psg-free {
			color: #15803d;
		}
		.ps-psg-sub {
			font-size: 11.5px;
			color: #475569;
			line-height: 1.4;
		}

		/* Compact row on cart and checkout */
		.ps-compact-shipping-status,
		.ps-checkout-shipping-banner {
			display: flex;
			align-items: center;
			gap: 10px;
			background: #f0fdf4;
			border: 1px solid #bbf7d0;
			border-radius: 10px;
			padding: 8px 14px;
			font-size: 12px;
			color: #166534;
		}
		.ps-compact-shipping-status.is-pending,
		.ps-checkout-shipping-banner.pending {
			background: #f8fafc;
			border-color: #cbd5e1;
			color: #334155;
		}

/* =========================================================
   Module: inc\mobile-bottom-navbar.php
   ========================================================= */
/* Drawer Styles */
		.ps-mcats-overlay {
			position: fixed;
			inset: 0;
			background: rgba(15, 23, 42, 0.65);
			backdrop-filter: blur(4px);
			z-index: 99995;
			display: flex;
			align-items: flex-end;
		}

		.ps-mcats-dialog {
			background: #ffffff;
			border-radius: 20px 20px 0 0;
			width: 100%;
			max-height: 85vh;
			display: flex;
			flex-direction: column;
			box-shadow: 0 -10px 30px rgba(0, 0, 0, 0.25);
			animation: psMcatsSlideUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		}

		@keyframes psMcatsSlideUp {
			from { transform: translateY(100%); }
			to { transform: translateY(0); }
		}

		.ps-mcats-header {
			padding: 16px 20px;
			border-bottom: 1px solid #f1f5f9;
			display: flex;
			align-items: center;
			justify-content: space-between;
		}

		.ps-mcats-title-wrap {
			display: flex;
			align-items: center;
			gap: 10px;
		}

		.ps-mcats-icon-box {
			width: 38px;
			height: 38px;
			border-radius: 10px;
			background: #fee2e2;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 18px;
		}

		.ps-mcats-title {
			display: block;
			font-size: 15px;
			color: #1e293b;
		}

		.ps-mcats-subtitle {
			font-size: 11px;
			color: #64748b;
		}

		.ps-mcats-close-btn {
			background: none;
			border: none;
			font-size: 28px;
			color: #94a3b8;
			cursor: pointer;
		}

		.ps-mcats-search-box {
			padding: 12px 20px;
			background: #f8fafc;
			border-bottom: 1px solid #e2e8f0;
		}

		.ps-mcats-search-box input {
			width: 100%;
			box-sizing: border-box;
			border: 1px solid #cbd5e1;
			border-radius: 10px;
			padding: 9px 14px;
			font-size: 13px;
			font-family: inherit;
			outline: none;
		}

		.ps-mcats-list {
			overflow-y: auto;
			padding: 10px 15px;
			flex: 1;
		}

		.ps-mcats-item {
			display: flex;
			align-items: center;
			justify-content: space-between;
			padding: 12px 14px;
			border-radius: 10px;
			text-decoration: none;
			color: #334155;
			margin-bottom: 6px;
			background: #ffffff;
			border: 1px solid #f1f5f9;
			transition: all 0.2s;
		}

		.ps-mcats-item:hover {
			background: #f8fafc;
			border-color: #e2e8f0;
		}

		.ps-mcats-item-right {
			display: flex;
			align-items: center;
			gap: 10px;
		}

		.ps-mcats-thumb, .ps-mcats-thumb-fallback {
			width: 34px;
			height: 34px;
			border-radius: 8px;
			object-fit: cover;
			background: #f1f5f9;
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 15px;
		}

		.ps-mcats-name {
			font-size: 13px;
			font-weight: 700;
		}

		.ps-mcats-item-left {
			display: flex;
			align-items: center;
			gap: 8px;
			color: #94a3b8;
		}

		.ps-mcats-count {
			font-size: 11px;
			background: #f1f5f9;
			padding: 2px 8px;
			border-radius: 12px;
		}

		.ps-mcats-footer {
			padding: 14px 20px;
			border-top: 1px solid #f1f5f9;
			background: #f8fafc;
			text-align: center;
		}

		.ps-mcats-all-btn {
			display: block;
			width: 100%;
			box-sizing: border-box;
			padding: 11px;
			background: #0f172a;
			color: #ffffff !important;
			border-radius: 10px;
			text-decoration: none;
			font-size: 13px;
			font-weight: 800;
		}

/* =========================================================
   Module: inc/sticky-compare.php (Sticky Compare Drawer)
   ========================================================= */
/* Sticky Floating Compare Drawer & Spec Matrix 2.0 */
        .ps-sticky-compare-drawer {
            position: fixed;
            bottom: 0;
            left: 0;
            right: 0;
            background: #ffffff;
            border-top: 2px solid #e2e8f0;
            box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.12);
            z-index: 99998;
            padding: 10px 20px;
            box-sizing: border-box;
            transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
        }
        .ps-sticky-compare-drawer.is-active {
            display: block !important;
        }
        .ps-sc-container {
            max-width: 1340px;
            margin: 0 auto;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 16px;
        }
        .ps-sc-info {
            display: flex;
            align-items: center;
            gap: 14px;
        }
        .ps-sc-title-row {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 14px;
            color: #0f172a;
        }
        .ps-sc-title-row strong {
            font-weight: 800;
        }
        .ps-sc-count-badge {
            color: #64748b;
            font-size: 12px;
            font-weight: 700;
        }
        .ps-sc-btn-clear {
            background: none;
            border: none;
            color: #ef4444;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
            padding: 4px 8px;
            border-radius: 6px;
            transition: all 0.2s;
        }
        .ps-sc-btn-clear:hover {
            background: #fef2f2;
        }
        .ps-sc-slots {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .ps-sc-slot-item {
            width: 50px;
            height: 50px;
            border-radius: 10px;
            border: 1px solid #e2e8f0;
            position: relative;
            background: #f8fafc;
            display: flex;
            align-items: center;
            justify-content: center;
            box-sizing: border-box;
            transition: all 0.2s;
        }
        .ps-sc-slot-item img {
            width: 100%;
            height: 100%;
            object-fit: contain;
            border-radius: 9px;
            padding: 3px;
        }
        .ps-sc-slot-item.is-empty {
            border: 1.5px dashed #cbd5e1;
            background: #ffffff;
        }
        .ps-sc-slot-placeholder {
            color: #94a3b8;
            font-size: 18px;
            font-weight: 700;
        }
        .ps-sc-slot-remove {
            position: absolute;
            top: -6px;
            left: -6px;
            width: 20px;
            height: 20px;
            border-radius: 50%;
            background: #ef4444;
            color: #ffffff;
            border: 2px solid #ffffff;
            font-size: 13px;
            line-height: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 1px 4px rgba(0,0,0,0.25);
            transition: transform 0.15s;
        }
        .ps-sc-slot-remove:hover {
            transform: scale(1.15);
        }
        .ps-sc-actions {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .ps-sc-btn-matrix {
            height: 42px;
            padding: 0 18px;
            background: linear-gradient(135deg, #ef394e 0%, #d92d40 100%);
            color: #ffffff !important;
            border: none;
            border-radius: 10px;
            font-size: 13.5px;
            font-weight: 800;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            gap: 8px;
            box-shadow: 0 4px 14px rgba(239, 57, 78, 0.35);
            transition: all 0.2s;
        }
        .ps-sc-btn-matrix:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 18px rgba(239, 57, 78, 0.45);
        }
        .ps-sc-btn-compare {
            height: 42px;
            padding: 0 16px;
            background: #f1f5f9;
            color: #334155 !important;
            border: 1px solid #cbd5e1;
            border-radius: 10px;
            font-size: 13px;
            font-weight: 700;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 6px;
            transition: all 0.2s;
        }
        .ps-sc-btn-compare:hover {
            background: #e2e8f0;
            color: #0f172a !important;
        }

        /* QUICK COMPARE MODAL 2.0 */
        .ps-quick-compare-modal {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            z-index: 999999;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 20px;
            box-sizing: border-box;
        }
        .ps-qc-backdrop {
            position: absolute;
            inset: 0;
            background: rgba(15, 23, 42, 0.65);
            backdrop-filter: blur(6px);
            -webkit-backdrop-filter: blur(6px);
        }
        .ps-qc-dialog {
            position: relative;
            background: #ffffff;
            width: 100%;
            max-width: 1260px;
            max-height: 92vh;
            border-radius: 18px;
            box-shadow: 0 25px 60px rgba(0, 0, 0, 0.3);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            z-index: 2;
            animation: psQcPop 0.25s cubic-bezier(0.16, 1, 0.3, 1);
        }
        @keyframes psQcPop {
            from { opacity: 0; transform: scale(0.96) translateY(12px); }
            to { opacity: 1; transform: scale(1) translateY(0); }
        }
        .ps-qc-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 16px 24px;
            border-bottom: 1px solid #e2e8f0;
            background: #f8fafc;
            gap: 16px;
        }
        .ps-qc-header-right {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .ps-qc-icon-badge {
            font-size: 24px;
            background: #fff;
            padding: 6px 10px;
            border-radius: 10px;
            box-shadow: 0 2px 6px rgba(0,0,0,0.06);
        }
        .ps-qc-title {
            margin: 0;
            font-size: 16px;
            font-weight: 900;
            color: #0f172a;
        }
        .ps-qc-subtitle {
            margin: 3px 0 0;
            font-size: 12px;
            color: #64748b;
        }
        .ps-qc-header-left {
            display: flex;
            align-items: center;
            gap: 12px;
        }
        .ps-qc-diff-toggle {
            display: inline-flex;
            align-items: center;
            gap: 8px;
            background: #ffffff;
            padding: 6px 14px;
            border: 1px solid #cbd5e1;
            border-radius: 20px;
            cursor: pointer;
            user-select: none;
            transition: all 0.2s;
        }
        .ps-qc-diff-toggle:hover {
            border-color: #94a3b8;
        }
        .ps-qc-diff-toggle input {
            display: none;
        }
        .ps-qc-toggle-slider {
            width: 32px;
            height: 18px;
            background: #cbd5e1;
            border-radius: 10px;
            position: relative;
            transition: background 0.2s;
        }
        .ps-qc-toggle-slider::after {
            content: '';
            position: absolute;
            top: 2px;
            right: 2px;
            width: 14px;
            height: 14px;
            background: #ffffff;
            border-radius: 50%;
            transition: transform 0.2s;
        }
        .ps-qc-diff-toggle input:checked + .ps-qc-toggle-slider {
            background: #f59e0b;
        }
        .ps-qc-diff-toggle input:checked + .ps-qc-toggle-slider::after {
            transform: translateX(-14px);
        }
        .ps-qc-toggle-label {
            font-size: 12.5px;
            font-weight: 700;
            color: #334155;
        }
        .ps-qc-btn-external {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 12px;
            background: #ffffff;
            border: 1px solid #cbd5e1;
            border-radius: 8px;
            color: #475569;
            font-size: 12px;
            font-weight: 700;
            text-decoration: none;
            transition: all 0.2s;
        }
        .ps-qc-btn-external:hover {
            background: #f1f5f9;
            color: #0f172a;
        }
        .ps-qc-close-btn {
            background: none;
            border: none;
            font-size: 26px;
            color: #94a3b8;
            cursor: pointer;
            padding: 0 4px;
            line-height: 1;
            transition: color 0.2s;
        }
        .ps-qc-close-btn:hover {
            color: #ef4444;
        }

        .ps-qc-body {
            padding: 0;
            overflow-y: auto;
            flex: 1;
        }
        .ps-qc-loading-state {
            padding: 60px 20px;
            text-align: center;
            color: #64748b;
        }
        .ps-qc-spinner {
            width: 36px;
            height: 36px;
            border: 3px solid #e2e8f0;
            border-top-color: #ef394e;
            border-radius: 50%;
            animation: psQcSpin 0.7s linear infinite;
            margin: 0 auto 14px;
        }
        @keyframes psQcSpin {
            to { transform: rotate(360deg); }
        }

        /* Matrix Table */
        .ps-matrix-table-wrap {
            overflow-x: auto;
        }
        .ps-matrix-table {
            width: 100%;
            border-collapse: collapse;
            text-align: right;
            table-layout: fixed;
        }
        .ps-matrix-table th,
        .ps-matrix-table td {
            padding: 14px 18px;
            border-bottom: 1px solid #f1f5f9;
            border-left: 1px solid #f1f5f9;
            box-sizing: border-box;
            vertical-align: middle;
        }
        .ps-matrix-col-spec-label {
            width: 220px;
            min-width: 200px;
            background: #fafafa;
            color: #334155;
            font-size: 13px;
            font-weight: 800;
        }
        .ps-matrix-col-product {
            width: 260px;
            min-width: 240px;
            background: #ffffff;
        }
        .ps-matrix-prod-card {
            position: relative;
            text-align: center;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 8px;
        }
        .ps-matrix-remove-col {
            position: absolute;
            top: -4px;
            left: -4px;
            width: 22px;
            height: 22px;
            border-radius: 50%;
            background: #fee2e2;
            color: #ef4444;
            border: none;
            cursor: pointer;
            font-size: 14px;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: all 0.2s;
        }
        .ps-matrix-remove-col:hover {
            background: #ef4444;
            color: #ffffff;
        }
        .ps-matrix-prod-img {
            width: 100px;
            height: 100px;
            border-radius: 12px;
            overflow: hidden;
            display: flex;
            align-items: center;
            justify-content: center;
            background: #f8fafc;
            border: 1px solid #e2e8f0;
            padding: 4px;
        }
        .ps-matrix-prod-img img {
            max-width: 100%;
            max-height: 100%;
            object-fit: contain;
        }
        .ps-matrix-prod-title {
            margin: 4px 0 0;
            font-size: 13.5px;
            font-weight: 800;
            line-height: 1.4;
            max-height: 38px;
            overflow: hidden;
        }
        .ps-matrix-prod-title a {
            color: #0f172a;
            text-decoration: none;
        }
        .ps-matrix-prod-title a:hover {
            color: #ef394e;
        }
        .ps-matrix-rating-row {
            display: flex;
            align-items: center;
            gap: 6px;
            font-size: 11.5px;
        }
        .ps-matrix-stars {
            color: #f59e0b;
            font-weight: 800;
        }
        .ps-matrix-rating-count {
            color: #94a3b8;
        }
        .ps-matrix-price-row {
            display: flex;
            align-items: center;
            gap: 6px;
            margin-top: 4px;
        }
        .ps-matrix-discount-badge {
            background: #ef394e;
            color: #ffffff;
            font-size: 11px;
            font-weight: 800;
            padding: 2px 6px;
            border-radius: 6px;
        }
        .ps-matrix-old-price {
            color: #94a3b8;
            font-size: 12px;
        }
        .ps-matrix-cur-price {
            color: #0f172a;
            font-size: 14.5px;
            font-weight: 900;
        }
        .ps-matrix-btn-add-cart {
            width: 100%;
            height: 36px;
            border-radius: 8px;
            background: #ef394e;
            color: #ffffff;
            border: none;
            font-size: 12.5px;
            font-weight: 800;
            cursor: pointer;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 6px;
            transition: all 0.2s;
        }
        .ps-matrix-btn-add-cart:hover {
            background: #dc2626;
        }
        .ps-matrix-btn-add-cart.added {
            background: #10b981;
        }
        .ps-matrix-btn-disabled {
            display: block;
            width: 100%;
            height: 36px;
            line-height: 36px;
            text-align: center;
            background: #f1f5f9;
            color: #94a3b8;
            font-size: 12px;
            border-radius: 8px;
            font-weight: 700;
        }

        /* Section Separator */
        .ps-matrix-section-row td {
            background: #f1f5f9;
            padding: 10px 18px;
            font-weight: 800;
            font-size: 12.5px;
            color: #475569;
        }
        .ps-matrix-diff-indicator {
            display: inline-block;
            font-size: 10px;
            font-weight: 800;
            background: #fef3c7;
            color: #b45309;
            padding: 2px 6px;
            border-radius: 4px;
            margin-right: 6px;
        }

        /* Spec Rows */
        .ps-matrix-spec-row.is-diff {
            background: #fffbeb;
        }
        .ps-matrix-val-col.val-diff {
            font-weight: 700;
            color: #0f172a;
        }
        .ps-matrix-table.ps-show-diff-only .ps-matrix-spec-row.is-identical {
            display: none !important;
        }

        .ps-matrix-stock-tag.in-stock {
            color: #16a34a;
            font-weight: 700;
            font-size: 12px;
        }
        .ps-matrix-stock-tag.out-of-stock {
            color: #dc2626;
            font-weight: 700;
            font-size: 12px;
        }
        .ps-matrix-warranty-badge {
            color: #0284c7;
            font-weight: 700;
            font-size: 12px;
        }
        .ps-matrix-val-text {
            font-size: 12.5px;
            line-height: 1.5;
            color: #334155;
        }

        /* Add more slot card */
        .ps-matrix-add-slot-card {
            border: 2px dashed #cbd5e1;
            border-radius: 12px;
            padding: 20px 14px;
            text-align: center;
            background: #f8fafc;
        }
        .ps-matrix-add-icon {
            font-size: 28px;
            color: #94a3b8;
            line-height: 1;
            margin-bottom: 6px;
        }
        .ps-matrix-add-slot-card strong {
            display: block;
            font-size: 13px;
            color: #334155;
        }
        .ps-matrix-add-slot-card p {
            font-size: 11px;
            color: #94a3b8;
            margin: 4px 0 10px;
        }
        .ps-matrix-search-slot-wrap {
            position: relative;
        }
        .ps-matrix-search-input {
            width: 100%;
            height: 34px;
            border-radius: 8px;
            border: 1px solid #cbd5e1;
            padding: 0 10px;
            font-size: 12px;
            box-sizing: border-box;
            background: #ffffff;
        }
        .ps-matrix-search-results {
            position: absolute;
            top: 100%;
            left: 0;
            right: 0;
            background: #ffffff;
            border: 1px solid #e2e8f0;
            border-radius: 8px;
            box-shadow: 0 10px 25px rgba(0,0,0,0.1);
            max-height: 200px;
            overflow-y: auto;
            z-index: 10;
            display: none;
            margin-top: 4px;
        }
        .ps-matrix-search-item {
            display: flex;
            align-items: center;
            gap: 8px;
            padding: 8px;
            cursor: pointer;
            border-bottom: 1px solid #f1f5f9;
            text-align: right;
            transition: background 0.15s;
        }
        .ps-matrix-search-item:hover {
            background: #f8fafc;
        }
        .ps-matrix-search-item img {
            width: 32px;
            height: 32px;
            object-fit: contain;
            border-radius: 4px;
        }
        .ps-matrix-search-item strong {
            font-size: 11.5px;
            color: #0f172a;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        /* Footer */
        .ps-qc-footer {
            display: flex;
            align-items: center;
            justify-content: space-between;
            padding: 14px 24px;
            background: #f8fafc;
            border-top: 1px solid #e2e8f0;
            gap: 16px;
        }
        .ps-qc-footer-info {
            font-size: 12px;
            color: #64748b;
        }
        .ps-qc-footer-actions {
            display: flex;
            align-items: center;
            gap: 10px;
        }
        .ps-qc-btn-clear-all {
            background: none;
            border: 1px solid #fca5a5;
            color: #dc2626;
            padding: 6px 14px;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
        }
        .ps-qc-btn-clear-all:hover {
            background: #fee2e2;
        }
        .ps-qc-btn-dismiss {
            background: #0f172a;
            color: #ffffff;
            border: none;
            padding: 6px 18px;
            border-radius: 8px;
            font-size: 12px;
            font-weight: 700;
            cursor: pointer;
        }
        .ps-qc-btn-dismiss:hover {
            background: #334155;
        }

        /* Sticky first col */
        .ps-sticky-col {
            position: sticky;
            right: 0;
            z-index: 2;
            box-shadow: -2px 0 6px rgba(0,0,0,0.03);
        }

        /* Mobile Adjustments */
        @media (max-width: 768px) {
            .ps-sticky-compare-drawer {
                bottom: 56px;
                padding: 8px 12px;
            }
            .ps-sc-slots {
                display: none;
            }
            .ps-quick-compare-modal {
                padding: 8px;
            }
            .ps-qc-dialog {
                max-height: 96vh;
                border-radius: 14px;
            }
            .ps-qc-header {
                padding: 12px 14px;
                flex-direction: column;
                align-items: flex-start;
            }
            .ps-qc-header-left {
                width: 100%;
                justify-content: space-between;
            }
            .ps-qc-footer {
                flex-direction: column;
                align-items: stretch;
            }
        }
        ";

/* =========================================================
   Module: inc/sales-boosters.php (Sales Boosters Suite)
   ========================================================= */
/* Free Shipping Bar */

        .ps-free-shipping-bar-wrap {

            background: #f8fafc;

            border: 1px solid #e2e8f0;

            border-radius: 12px;

            padding: 12px 16px;

            margin-bottom: 16px;

            box-shadow: 0 1px 3px rgba(0,0,0,0.03);

            transition: all 0.3s ease;

            box-sizing: border-box;

            position: relative;

        }

        .ps-free-shipping-bar-wrap.context-drawer {

            margin: 10px 16px 14px;

            padding: 10px 14px;

            border-radius: 10px;

        }

        .ps-free-shipping-bar-wrap.context-cart-page {

            margin-bottom: 18px;

            border-radius: 14px;

            padding: 14px 18px;

        }

        .ps-free-shipping-bar-wrap.context-checkout {

            margin-bottom: 18px;

            border-radius: 14px;

            padding: 12px 16px;

        }

        .ps-free-shipping-bar-wrap.is-free-shipping-reached {

            background: #ecfdf5;

            border-color: #6ee7b7;

            box-shadow: 0 4px 14px rgba(16, 185, 129, 0.12);

        }

        .ps-fs-bar-header {

            display: flex;

            align-items: center;

            gap: 8px;

            font-size: 13px;

            color: #1e293b;

            margin-bottom: 8px;

            line-height: 1.4;

        }

        .ps-fs-icon {

            font-size: 18px;

            line-height: 1;

            display: inline-flex;

            align-items: center;

            justify-content: center;

            flex-shrink: 0;

        }

        .ps-fs-pulse-icon {

            animation: psFsPulse 1.4s infinite ease-in-out;

        }

        @keyframes psFsPulse {

            0%, 100% { transform: scale(1); }

            50% { transform: scale(1.25); }

        }

        .ps-fs-bar-header strong {

            color: #059669;

            font-weight: 800;

        }

        .is-free-shipping-reached .ps-fs-bar-header strong {

            color: #047857;

        }

        .ps-fs-progress-track {

            background: #e2e8f0;

            border-radius: 99px;

            height: 9px;

            position: relative;

            overflow: hidden;

        }

        .ps-fs-progress-fill {

            background: linear-gradient(90deg, #10b981 0%, #059669 50%, #34d399 75%, #10b981 100%);

            background-size: 200% 100%;

            animation: psFsShimmer 2.5s infinite linear;

            height: 100%;

            border-radius: 99px;

            position: relative;

            transition: width 0.6s cubic-bezier(0.4, 0, 0.2, 1);

            display: flex;

            align-items: center;

            justify-content: flex-end;

        }

        @keyframes psFsShimmer {

            0% { background-position: 200% 0; }

            100% { background-position: -200% 0; }

        }

        .is-free-shipping-reached .ps-fs-progress-fill {

            background: #10b981;

            box-shadow: 0 0 10px rgba(16, 185, 129, 0.5);

        }

        .ps-fs-percent-badge {

            font-size: 9px;

            font-weight: 800;

            color: #ffffff;

            padding: 0 4px;

            line-height: 9px;

            white-space: nowrap;

        }

        /* Dark mode compatibility */

        .dark .ps-free-shipping-bar-wrap,

        body.dark .ps-free-shipping-bar-wrap,

        html.dark .ps-free-shipping-bar-wrap {

            background: #1f2937 !important;

            border-color: #374151 !important;

            box-shadow: 0 2px 8px rgba(0,0,0,0.25) !important;

        }

        .dark .ps-free-shipping-bar-wrap.is-free-shipping-reached,

        body.dark .ps-free-shipping-bar-wrap.is-free-shipping-reached,

        html.dark .ps-free-shipping-bar-wrap.is-free-shipping-reached {

            background: rgba(16, 185, 129, 0.14) !important;

            border-color: rgba(52, 211, 153, 0.35) !important;

            box-shadow: 0 4px 14px rgba(16, 185, 129, 0.2) !important;

        }

        .dark .ps-fs-bar-header,

        body.dark .ps-fs-bar-header,

        html.dark .ps-fs-bar-header {

            color: #f1f5f9 !important;

        }

        .dark .ps-fs-bar-header strong,

        body.dark .ps-fs-bar-header strong,

        html.dark .ps-fs-bar-header strong {

            color: #34d399 !important;

        }

        .dark .ps-fs-progress-track,

        body.dark .ps-fs-progress-track,

        html.dark .ps-fs-progress-track {

            background: #374151 !important;

        }



        /* Buy Box Actions - Stacked Premium High-Converting Layout */

        .ps-buybox-actions-row {

            display: flex;

            flex-direction: column;

            gap: 10px;

            width: 100%;

            margin: 14px 0 6px;

        }



        /* 1. Primary Action: Add to Cart */

        .ps-buybox-actions-row .dk-btn-add-to-cart,

        .dk-btn-add-to-cart {

            width: 100%;

            height: 52px;

            margin: 0;

            border-radius: 12px;

            font-size: 15px;

            font-weight: 800;

            display: inline-flex;

            align-items: center;

            justify-content: center;

            gap: 10px;

            white-space: nowrap;

            background: linear-gradient(135deg, #ef394e 0%, #d82b40 100%);

            color: #ffffff !important;

            border: none;

            cursor: pointer;

            position: relative;

            overflow: hidden;

            box-shadow: 0 6px 20px rgba(239, 57, 78, 0.32);

            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);

            letter-spacing: -0.2px;

            text-decoration: none;

            user-select: none;

            box-sizing: border-box;

        }

        .ps-buybox-actions-row .dk-btn-add-to-cart::before,

        .dk-btn-add-to-cart::before {

            content: "";

            position: absolute;

            top: 0;

            left: -100%;

            width: 50%;

            height: 100%;

            background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.22), transparent);

            transform: skewX(-20deg);

            transition: 0.6s ease;

            pointer-events: none;

        }

        .ps-buybox-actions-row .dk-btn-add-to-cart:hover,

        .dk-btn-add-to-cart:hover {

            transform: translateY(-2px);

            box-shadow: 0 8px 24px rgba(239, 57, 78, 0.44);

            background: linear-gradient(135deg, #f04357 0%, #dc3246 100%);

        }

        .ps-buybox-actions-row .dk-btn-add-to-cart:hover::before,

        .dk-btn-add-to-cart:hover::before {

            left: 150%;

        }

        .ps-buybox-actions-row .dk-btn-add-to-cart svg,

        .dk-btn-add-to-cart svg {

            flex-shrink: 0;

            transition: transform 0.25s ease;

        }

        .ps-buybox-actions-row .dk-btn-add-to-cart:hover svg,

        .dk-btn-add-to-cart:hover svg {

            transform: scale(1.15) translateX(-2px);

        }

        .ps-buybox-actions-row .dk-btn-add-to-cart:active,

        .dk-btn-add-to-cart:active {

            transform: translateY(0) scale(0.985);

            box-shadow: 0 3px 10px rgba(239, 57, 78, 0.3);

        }



        /* 2. Secondary Action: Quick Buy (Express One-Click) */

        .ps-buybox-actions-row .ps-btn-quick-buy,

        .ps-btn-quick-buy {

            width: 100%;

            height: 44px;

            margin: 0;

            border-radius: 11px;

            font-size: 13.5px;

            font-weight: 700;

            display: inline-flex;

            align-items: center;

            justify-content: center;

            gap: 8px;

            white-space: nowrap;

            background: #ffffff;

            color: #0f172a !important;

            border: 1.5px solid #0f172a;

            cursor: pointer;

            transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);

            line-height: 1.2;

            padding: 0 16px;

            text-decoration: none;

            position: relative;

            box-shadow: 0 2px 6px rgba(15, 23, 42, 0.05);

            user-select: none;

            box-sizing: border-box;

        }

        .ps-buybox-actions-row .ps-btn-quick-buy svg,

        .ps-btn-quick-buy svg {

            flex-shrink: 0;

            transition: transform 0.25s ease, filter 0.25s ease;

        }

        .ps-buybox-actions-row .ps-btn-quick-buy:hover,

        .ps-btn-quick-buy:hover {

            background: #0f172a;

            color: #ffffff !important;

            border-color: #0f172a;

            transform: translateY(-1.5px);

            box-shadow: 0 6px 18px rgba(15, 23, 42, 0.22);

        }

        .ps-buybox-actions-row .ps-btn-quick-buy:hover svg,

        .ps-btn-quick-buy:hover svg {

            transform: scale(1.2);

            filter: drop-shadow(0 0 5px rgba(251, 191, 36, 0.8));

        }

        .ps-buybox-actions-row .ps-btn-quick-buy:active,

        .ps-btn-quick-buy:active {

            transform: translateY(0) scale(0.985);

            box-shadow: 0 2px 6px rgba(15, 23, 42, 0.1);

        }



        /* 3. Price Drop Alert Button in Buy Box */

        .dk-price-alert-trigger-btn {

            width: 100%;

            height: 38px;

            margin-top: 6px;

            display: flex;

            align-items: center;

            justify-content: center;

            gap: 7px;

            background: #f8fafc;

            border: 1px dashed #cbd5e1;

            border-radius: 9px;

            color: #64748b;

            font-size: 12.5px;

            font-weight: 600;

            cursor: pointer;

            transition: all 0.2s ease;

            box-sizing: border-box;

        }

        .dk-price-alert-trigger-btn svg {

            transition: transform 0.2s ease;

            flex-shrink: 0;

        }

        .dk-price-alert-trigger-btn:hover {

            background: #fff1f2;

            border-color: #ef394e;

            border-style: solid;

            color: #ef394e;

            transform: translateY(-1px);

            box-shadow: 0 3px 10px rgba(239, 57, 78, 0.12);

        }

        .dk-price-alert-trigger-btn:hover svg {

            transform: rotate(15deg);

        }



        /* Sticky Buy Bar Form (Horizontal In Bar) */

        .dk-sticky-cart-form {

            display: flex;

            align-items: center;

            gap: 10px;

        }

        .dk-sticky-cart-form .dk-btn-add-to-cart,

        .dk-sticky-cart-form .dk-sticky-btn {

            width: auto;

            min-width: 160px;

            height: 44px;

            margin: 0;

            padding: 0 20px;

            border-radius: 10px;

            font-size: 14px;

            font-weight: 800;

            background: linear-gradient(135deg, #ef394e 0%, #d82b40 100%);

            box-shadow: 0 4px 14px rgba(239, 57, 78, 0.3);

        }

        .dk-sticky-cart-form .ps-btn-quick-buy {

            width: auto;

            height: 44px;

            margin: 0;

            padding: 0 16px;

            border-radius: 10px;

            font-size: 13px;

            font-weight: 700;

        }



        @media (max-width: 480px) {

            .ps-buybox-actions-row .dk-btn-add-to-cart {

                height: 48px;

                font-size: 14px;

                border-radius: 10px;

            }

            .ps-buybox-actions-row .ps-btn-quick-buy {

                height: 42px;

                font-size: 13px;

                border-radius: 9px;

            }

            .dk-sticky-cart-form .dk-btn-add-to-cart,

            .dk-sticky-cart-form .dk-sticky-btn {

                min-width: 130px;

                height: 40px;

                font-size: 13px;

                padding: 0 12px;

            }

            .dk-sticky-cart-form .ps-btn-quick-buy {

                height: 40px;

                font-size: 12px;

                padding: 0 10px;

            }

        }



        /* Stock Urgency */

        .ps-stock-urgency-banner {

            background: #fff1f2;

            border: 1px solid #fecdd3;

            border-radius: 10px;

            padding: 10px 14px;

            margin-bottom: 14px;

        }

        .ps-urgency-head {

            display: flex;

            align-items: center;

            gap: 6px;

            font-size: 13px;

            color: #9f1239;

            font-weight: 600;

            margin-bottom: 6px;

        }

        .ps-urgency-head b {

            color: #e11d48;

            font-weight: 800;

        }

        .ps-urgency-meter {

            background: #fecdd3;

            height: 6px;

            border-radius: 99px;

            overflow: hidden;

        }

        .ps-urgency-meter-fill {

            background: #e11d48;

            height: 100%;

            border-radius: 99px;

            transition: width 0.4s ease;

        }



        /* Checkout Order Bump */

        .ps-checkout-order-bump {

            background: #fffbeb;

            border: 2px dashed #f59e0b;

            border-radius: 12px;

            padding: 14px 16px;

            margin: 18px 0;

            transition: all 0.25s ease;

            cursor: pointer;

        }

        .ps-checkout-order-bump.is-bump-active {

            background: #f0fdf4;

            border-color: #10b981;

            border-style: solid;

        }

        .ps-bump-badge-row {

            display: flex;

            align-items: center;

            justify-content: space-between;

            margin-bottom: 8px;

        }

        .ps-bump-badge {

            background: #fef3c7;

            color: #b45309;

            font-size: 11px;

            font-weight: 800;

            padding: 2px 8px;

            border-radius: 6px;

        }

        .is-bump-active .ps-bump-badge {

            background: #dcfce7;

            color: #15803d;

        }

        .ps-bump-price-tag {

            font-size: 13.5px;

            font-weight: 800;

            color: #0f172a;

        }

        .ps-bump-label {

            display: flex;

            align-items: flex-start;

            gap: 12px;

            cursor: pointer;

            margin: 0;

        }

        .ps-bump-label input[type="checkbox"] {

            margin-top: 3px;

            width: 18px;

            height: 18px;

            accent-color: #10b981;

            cursor: pointer;

        }

        .ps-bump-title {

            font-size: 14px;

            color: #1e293b;

            display: block;

            margin-bottom: 4px;

        }

        .ps-bump-desc {

            font-size: 12px;

            color: #64748b;

            margin: 0;

            line-height: 1.6;

        }

        .ps-bump-check-icon {

            display: none;

            color: #10b981;

            font-weight: 900;

            margin-left: 4px;

        }

        .is-bump-active .ps-bump-check-icon {

            display: inline-block;

        }



        /* Social Proof Toasts */

        .ps-sales-toast {

            position: fixed;

            bottom: 24px;

            right: 24px;

            background: #ffffff;

            border: 1px solid #e2e8f0;

            border-radius: 14px;

            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.05);

            display: flex;

            align-items: center;

            gap: 12px;

            padding: 12px 14px;

            max-width: 340px;

            z-index: 9998;

            direction: rtl;

            animation: psToastSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1);

        }

        @keyframes psToastSlideIn {

            from { transform: translateY(30px); opacity: 0; }

            to { transform: translateY(0); opacity: 1; }

        }

        .ps-toast-close {

            position: absolute;

            top: 6px;

            left: 8px;

            background: none;

            border: none;

            color: #94a3b8;

            font-size: 16px;

            cursor: pointer;

            padding: 2px 4px;

            line-height: 1;

        }

        .ps-toast-close:hover { color: #ef394e; }

        .ps-toast-thumb-wrap {

            width: 48px;

            height: 48px;

            flex-shrink: 0;

            border-radius: 8px;

            overflow: hidden;

            background: #f8fafc;

            border: 1px solid #f1f5f9;

        }

        .ps-toast-thumb {

            width: 100%;

            height: 100%;

            object-fit: contain;

        }

        .ps-toast-body { flex: 1; min-width: 0; }

        .ps-toast-lead {

            font-size: 12px;

            font-weight: 700;

            color: #334155;

            margin: 0 0 2px 0;

        }

        .ps-toast-time {

            color: #94a3b8;

            font-size: 10.5px;

            margin-right: 4px;

            font-weight: normal;

        }

        .ps-toast-title {

            font-size: 12px;

            color: #0f172a;

            display: block;

            white-space: nowrap;

            overflow: hidden;

            text-overflow: ellipsis;

            text-decoration: none;

            font-weight: 600;

        }

        .ps-toast-title:hover { color: #ef394e; }

        .ps-toast-badge {

            display: inline-block;

            font-size: 10px;

            font-weight: 700;

            color: #059669;

            margin-top: 2px;

        }



        /* Floating Support Widget */

        .ps-floating-support-widget {

            position: fixed;

            bottom: 86px;

            left: 24px;

            z-index: 9997;

            direction: rtl;

        }

        .ps-support-trigger {

            width: 52px;

            height: 52px;

            border-radius: 50%;

            background: #ef394e;

            color: #ffffff;

            border: none;

            box-shadow: 0 6px 16px rgba(239, 57, 78, 0.35);

            display: flex;

            align-items: center;

            justify-content: center;

            cursor: pointer;

            position: relative;

            transition: all 0.25s ease;

        }

        .ps-support-trigger:hover {

            transform: scale(1.08);

            filter: brightness(0.92);

        }

        .ps-support-badge-pulse {

            position: absolute;

            top: 2px;

            right: 2px;

            width: 10px;

            height: 10px;

            border-radius: 50%;

            background: #22c55e;

            border: 2px solid #ffffff;

            box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7);

            animation: psSupportPulse 2s infinite;

        }

        @keyframes psSupportPulse {

            0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0.7); }

            70% { box-shadow: 0 0 0 6px rgba(34, 197, 94, 0); }

            100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); }

        }

        .ps-support-dropdown {

            position: absolute;

            bottom: 64px;

            left: 0;

            width: 260px;

            background: #ffffff;

            border: 1px solid #e2e8f0;

            border-radius: 14px;

            box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);

            padding: 14px;

            display: none;

            animation: psSupportPop 0.25s cubic-bezier(0.16, 1, 0.3, 1);

        }

        .ps-floating-support-widget.is-open {

            z-index: 100000 !important;

        }

        .ps-floating-support-widget.is-open .ps-support-dropdown {

            display: block;

        }

        @keyframes psSupportPop {

            from { transform: scale(0.92) translateY(10px); opacity: 0; }

            to { transform: scale(1) translateY(0); opacity: 1; }

        }

        .ps-support-head {

            border-bottom: 1px solid #f1f5f9;

            padding-bottom: 10px;

            margin-bottom: 10px;

        }

        .ps-support-head strong {

            display: block;

            font-size: 13px;

            color: #0f172a;

        }

        .ps-support-head small {

            color: #64748b;

            font-size: 11px;

        }

        .ps-support-links {

            display: flex;

            flex-direction: column;

            gap: 8px;

        }

        .ps-support-item {

            display: flex;

            align-items: center;

            gap: 10px;

            padding: 8px 10px;

            border-radius: 8px;

            text-decoration: none;

            transition: background 0.2s ease;

        }

        .ps-support-item:hover {

            background: #f8fafc;

        }

        .ps-sup-icon { font-size: 18px; }

        .ps-sup-text strong {

            display: block;

            font-size: 12.5px;

            color: #1e293b;

        }

        .ps-sup-text small {

            font-size: 11px;

            color: #64748b;

        }

        @media (max-width: 768px) {

            .ps-sales-toast {

                left: 16px;

                right: 16px;

                bottom: 80px;

                max-width: none;

            }

            .ps-floating-support-widget {

                bottom: 135px;

                left: 16px;

            }

        }



        /* Social Proof Toast Dark Mode */

        [data-theme="dark"] .ps-sales-toast,

        body.dark-mode .ps-sales-toast {

            background: #111827 !important;

            border-color: #1f2937 !important;

            box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.6), 0 8px 10px -6px rgba(0, 0, 0, 0.4) !important;

        }

        [data-theme="dark"] .ps-sales-toast .ps-toast-thumb-wrap,

        body.dark-mode .ps-sales-toast .ps-toast-thumb-wrap {

            background: #1f2937 !important;

            border-color: #374151 !important;

        }

        [data-theme="dark"] .ps-sales-toast .ps-toast-lead,

        body.dark-mode .ps-sales-toast .ps-toast-lead {

            color: #cbd5e1 !important;

        }

        [data-theme="dark"] .ps-sales-toast .ps-toast-title,

        body.dark-mode .ps-sales-toast .ps-toast-title {

            color: #f8fafc !important;

        }

        [data-theme="dark"] .ps-sales-toast .ps-toast-time,

        body.dark-mode .ps-sales-toast .ps-toast-time {

            color: #94a3b8 !important;

        }

        [data-theme="dark"] .ps-sales-toast .ps-toast-close,

        body.dark-mode .ps-sales-toast .ps-toast-close {

            color: #94a3b8 !important;

        }

        [data-theme="dark"] .ps-sales-toast .ps-toast-badge,

        body.dark-mode .ps-sales-toast .ps-toast-badge {

            color: #10b981 !important;

        }



        /* Order Bump Dark Mode */

        [data-theme="dark"] .ps-checkout-order-bump,

        html.dark-theme .ps-checkout-order-bump,

        body.dark-mode .ps-checkout-order-bump,

        body.dark .ps-checkout-order-bump,

        .dark-theme .ps-checkout-order-bump {

            background: #1c1917 !important;

            border-color: #b45309 !important;

        }

        [data-theme="dark"] .ps-checkout-order-bump.is-bump-active,

        html.dark-theme .ps-checkout-order-bump.is-bump-active,

        body.dark-mode .ps-checkout-order-bump.is-bump-active,

        body.dark .ps-checkout-order-bump.is-bump-active,

        .dark-theme .ps-checkout-order-bump.is-bump-active {

            background: #064e3b !important;

            border-color: #10b981 !important;

        }

        [data-theme="dark"] .ps-bump-badge,

        html.dark-theme .ps-bump-badge,

        body.dark-mode .ps-bump-badge,

        .dark-theme .ps-bump-badge {

            background: #78350f !important;

            color: #fef3c7 !important;

        }

        [data-theme="dark"] .is-bump-active .ps-bump-badge,

        html.dark-theme .is-bump-active .ps-bump-badge,

        body.dark-mode .is-bump-active .ps-bump-badge,

        .dark-theme .is-bump-active .ps-bump-badge {

            background: #065f46 !important;

            color: #a7f3d0 !important;

        }

        [data-theme="dark"] .ps-bump-price-tag,

        html.dark-theme .ps-bump-price-tag,

        body.dark-mode .ps-bump-price-tag,

        .dark-theme .ps-bump-price-tag {

            color: #f8fafc !important;

        }

        [data-theme="dark"] .ps-bump-title,

        html.dark-theme .ps-bump-title,

        body.dark-mode .ps-bump-title,

        .dark-theme .ps-bump-title {

            color: #ffffff !important;

        }

        [data-theme="dark"] .ps-bump-desc,

        html.dark-theme .ps-bump-desc,

        body.dark-mode .ps-bump-desc,

        .dark-theme .ps-bump-desc {

            color: #94a3b8 !important;

        }
/* =========================================================
   Module: Floating Support Position & Pulse
   ========================================================= */
#ps-floating-support {
    position: fixed !important;
    bottom: var(--ps-supp-bottom, 86px) !important;
    right: var(--ps-supp-right, auto) !important;
    left: var(--ps-supp-left, 24px) !important;
    z-index: 9999 !important;
}
#ps-floating-support.pos-right {
    right: var(--ps-supp-right, 24px) !important;
    left: auto !important;
}
#ps-floating-support .ps-support-trigger {
    background: var(--ps-supp-bg, #ef394e) !important;
    color: var(--ps-supp-color, #ffffff) !important;
    box-shadow: 0 6px 18px rgba(239, 57, 78, 0.35) !important;
}
#ps-floating-support .ps-support-badge-pulse {
    background: var(--ps-supp-pulse, #10b981) !important;
}
#ps-floating-support.pos-right .ps-support-dropdown {
    right: 0 !important;
    left: auto !important;
}
#ps-floating-support.pos-left .ps-support-dropdown {
    left: 0 !important;
    right: auto !important;
}

/* =========================================================
   Module: Delivery Location & User Shipping Address Sync
   ========================================================= */
.dk-city-modal-sync-notice {
    display: flex;
    align-items: center;
    gap: 10px;
    background: #f0f9ff;
    border: 1px solid #bae6fd;
    border-radius: 10px;
    padding: 10px 14px;
    font-size: 11.5px;
    color: #0369a1;
    margin-bottom: 14px;
    line-height: 1.6;
    font-weight: 500;
}
.dk-city-modal-sync-notice svg {
    flex-shrink: 0;
}
.dk-city-chip.active {
    background: #ef394e !important;
    color: #ffffff !important;
    border-color: #ef394e !important;
    box-shadow: 0 4px 12px rgba(239, 57, 78, 0.28) !important;
    font-weight: 700 !important;
}
.dk-city-select-btn.active {
    background: #ef394e !important;
    color: #ffffff !important;
    border-color: #ef394e !important;
    font-weight: 700 !important;
}

/* User Account Delivery Location Card */
.dk-account-delivery-location-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    border: 1.5px solid #e2e8f0;
    border-right: 4px solid #ef394e;
    border-radius: 14px;
    padding: 16px 20px;
    margin-bottom: 24px;
    box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}
.dk-adlc-left {
    display: flex;
    align-items: center;
    gap: 14px;
}
.dk-adlc-icon {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #fef2f2;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.dk-adlc-subtitle {
    display: block;
    font-size: 11px;
    color: #64748b;
    font-weight: 600;
    margin-bottom: 2px;
}
.dk-adlc-title {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 8px;
}
.dk-adlc-badge {
    display: inline-block;
    font-size: 10.5px;
    font-weight: 700;
    background: #dcfce7;
    color: #15803d;
    padding: 2px 8px;
    border-radius: 20px;
}
.dk-adlc-desc {
    margin: 4px 0 0 0;
    font-size: 11.5px;
    color: #64748b;
}
.dk-btn-change-city {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #ffffff;
    color: #ef394e;
    border: 1.5px solid #ef394e;
    border-radius: 10px;
    padding: 9px 16px;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    white-space: nowrap;
    font-family: inherit;
}
.dk-btn-change-city:hover {
    background: #ef394e;
    color: #ffffff;
    box-shadow: 0 4px 14px rgba(239, 57, 78, 0.25);
}
@media (max-width: 640px) {
    .dk-account-delivery-location-card {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .dk-btn-change-city {
        width: 100%;
        justify-content: center;
    }
}


/* =========================================================
   Module: Incredible Offers & Category Dual Price Slider & Brands Filter
   ========================================================= */

/* 1. Dual Price Range Slider */
.dk-inc-dual-slider-wrap {
    margin: 14px 0 16px 0;
    padding: 6px 2px 2px 2px;
}
.dk-inc-dual-slider-wrap .ps-range-slider-track {
    position: relative;
    height: 6px;
    background: #e2e8f0;
    border-radius: 4px;
    margin-bottom: 12px;
}
.dk-inc-dual-slider-wrap .ps-range-slider-fill {
    position: absolute;
    height: 100%;
    background: #ef394e;
    border-radius: 4px;
    pointer-events: none;
    top: 0;
}
.dk-inc-dual-slider-wrap .ps-range-input {
    position: absolute;
    width: 100%;
    top: -6px;
    height: 18px;
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    pointer-events: none;
    margin: 0;
    outline: none;
}
.dk-inc-dual-slider-wrap .ps-range-input::-webkit-slider-thumb {
    pointer-events: auto;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #ffffff;
    border: 2.5px solid #ef394e;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(239, 57, 78, 0.35);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    -webkit-appearance: none;
    appearance: none;
}
.dk-inc-dual-slider-wrap .ps-range-input::-moz-range-thumb {
    pointer-events: auto;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #ffffff;
    border: 2.5px solid #ef394e;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(239, 57, 78, 0.35);
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.dk-inc-dual-slider-wrap .ps-range-input::-webkit-slider-thumb:hover {
    transform: scale(1.18);
    box-shadow: 0 3px 8px rgba(239, 57, 78, 0.5);
}
.dk-inc-dual-slider-wrap .ps-range-slider-labels {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11.5px;
    font-weight: 700;
    color: #475569;
    direction: rtl;
}

/* 2. Numeric Price Inputs */
.dk-price-inputs {
    display: flex;
    gap: 8px;
    margin-bottom: 12px;
}
.dk-price-field {
    flex: 1;
    display: flex;
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 0 8px;
    transition: all 0.2s ease;
}
.dk-price-field:focus-within {
    background: #ffffff;
    border-color: #ef394e;
    box-shadow: 0 0 0 3px rgba(239, 57, 78, 0.12);
}
.dk-price-field label {
    font-size: 11.5px;
    font-weight: 700;
    color: #64748b;
    margin-left: 4px;
}
.dk-price-field input[type="number"] {
    width: 100%;
    min-width: 0;
    border: none;
    background: transparent;
    font-size: 12px;
    font-weight: 700;
    color: #0f172a;
    padding: 7px 2px;
    outline: none;
    font-family: inherit;
    text-align: left;
    direction: ltr;
}
.dk-price-field .dk-price-unit-txt {
    font-size: 10px;
    font-weight: 600;
    color: #94a3b8;
    margin-right: 4px;
}

.dk-price-btn-row {
    display: flex;
    align-items: center;
    gap: 8px;
}
.dk-btn-apply-price {
    flex: 1;
    height: 38px;
    background: #ef394e;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: inherit;
}
.dk-btn-apply-price:hover {
    background: #d82e42;
    box-shadow: 0 4px 12px rgba(239, 57, 78, 0.3);
}
.dk-btn-reset-price {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    padding: 0 12px;
    background: #f1f5f9;
    color: #64748b;
    border-radius: 8px;
    font-size: 11.5px;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    white-space: nowrap;
}
.dk-btn-reset-price:hover {
    background: #e2e8f0;
    color: #0f172a;
}

/* 3. Brands Filter */
.dk-brand-search-wrap {
    position: relative;
    margin-bottom: 10px;
}
.dk-brand-search-wrap svg {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    pointer-events: none;
}
.dk-brand-search-wrap input {
    width: 100%;
    height: 34px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #f8fafc;
    padding: 0 32px 0 10px;
    font-size: 12px;
    color: #0f172a;
    outline: none;
    font-family: inherit;
    transition: all 0.2s ease;
    box-sizing: border-box;
}
.dk-brand-search-wrap input:focus {
    background: #ffffff;
    border-color: #ef394e;
    box-shadow: 0 0 0 3px rgba(239, 57, 78, 0.1);
}

.dk-brands-list {
    max-height: 250px;
    overflow-y: auto;
    padding-left: 4px;
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.dk-brands-list::-webkit-scrollbar {
    width: 4px;
}
.dk-brands-list::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}

.dk-brand-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 6px 8px;
    border-radius: 6px;
    cursor: pointer;
    font-size: 12.5px;
    color: #334155;
    transition: all 0.15s ease;
    user-select: none;
}
.dk-brand-checkbox:hover {
    background: #f8fafc;
    color: #0f172a;
}
.dk-brand-checkbox.is-active-brand {
    background: #fef2f2;
    color: #ef394e;
    font-weight: 700;
}
.dk-brand-checkbox input {
    display: none;
}
.dk-custom-check {
    width: 16px;
    height: 16px;
    border: 1.5px solid #cbd5e1;
    border-radius: 4px;
    background: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.18s ease;
    position: relative;
}
.dk-brand-checkbox.is-active-brand .dk-custom-check {
    background: #ef394e;
    border-color: #ef394e;
}
.dk-brand-checkbox.is-active-brand .dk-custom-check::after {
    content: '';
    width: 4px;
    height: 8px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    position: absolute;
    top: 1px;
}
.dk-brand-name-text {
    flex: 1;
    display: flex;
    align-items: baseline;
    gap: 4px;
}
.dk-brand-en {
    font-size: 10.5px;
    color: #94a3b8;
    direction: ltr;
}
.dk-brand-checkbox.is-active-brand .dk-brand-en {
    color: #f87171;
}
.dk-brand-count {
    font-size: 11px;
    color: #94a3b8;
    font-weight: 500;
}
.dk-brand-checkbox.is-active-brand .dk-brand-count {
    color: #ef394e;
    font-weight: 700;
}

/* 4. Active Filters Bar */
.dk-active-filters-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 16px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    margin-bottom: 16px;
}
.dk-active-filters-title {
    font-size: 12px;
    font-weight: 700;
    color: #64748b;
    margin-left: 4px;
}
.dk-active-chips-wrap {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    flex: 1;
}
.dk-active-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    background: #f1f5f9;
    color: #1e293b;
    border-radius: 20px;
    font-size: 11.5px;
    font-weight: 600;
    border: 1px solid #e2e8f0;
    transition: all 0.15s ease;
}
.dk-active-chip a {
    color: #94a3b8;
    text-decoration: none;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    cursor: pointer;
    padding: 0 2px;
}
.dk-active-chip a:hover {
    color: #ef4444;
}
.dk-btn-clear-all {
    font-size: 11.5px;
    font-weight: 700;
    color: #ef394e;
    text-decoration: none;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background 0.15s ease;
}
.dk-btn-clear-all:hover {
    background: #fef2f2;
}

/* Dark Mode Overrides */
html.dark-theme .dk-inc-dual-slider-wrap .ps-range-slider-track {
    background: #334155;
}
html.dark-theme .dk-price-field {
    background: #1e293b;
    border-color: #334155;
}
html.dark-theme .dk-price-field input[type="number"] {
    color: #f8fafc;
}
html.dark-theme .dk-brand-search-wrap input {
    background: #1e293b;
    border-color: #334155;
    color: #f8fafc;
}
html.dark-theme .dk-brand-checkbox {
    color: #cbd5e1;
}
html.dark-theme .dk-brand-checkbox:hover {
    background: #1e293b;
    color: #f8fafc;
}
html.dark-theme .dk-brand-checkbox.is-active-brand {
    background: rgba(239, 57, 78, 0.15);
    color: #f87171;
}
html.dark-theme .dk-custom-check {
    background: #1e293b;
    border-color: #475569;
}
html.dark-theme .dk-active-filters-bar {
    background: #1e293b;
    border-color: #334155;
}
html.dark-theme .dk-active-chip {
    background: #334155;
    color: #e2e8f0;
    border-color: #475569;
}


/* =========================================================
   Module: Compact Accordion Filters & Arrow Toggles
   ========================================================= */
.ps-group-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    cursor: pointer !important;
    user-select: none !important;
    padding: 6px 0 !important;
    margin: 0 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    color: #1e293b !important;
    transition: color 0.18s ease, transform 0.18s ease;
    box-sizing: border-box !important;
}
.ps-group-toggle:hover {
    color: var(--ps-primary, #ef394e) !important;
}
.ps-toggle-label {
    display: flex;
    align-items: center;
    gap: 6px;
}
.ps-acc-arrow {
    transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1), color 0.2s ease !important;
    color: #64748b !important;
    flex-shrink: 0;
}
.ps-collapsible-group.is-open .ps-acc-arrow {
    transform: rotate(180deg) !important;
    color: var(--ps-primary, #ef394e) !important;
}
.ps-collapsible-group.is-collapsed .ps-acc-arrow {
    transform: rotate(0deg) !important;
}
.ps-categories-scroll-wrap,
.ps-brands-scroll-wrap {
    max-height: 220px;
    overflow-y: auto;
    padding-left: 4px;
    margin-top: 6px;
}
.ps-categories-scroll-wrap::-webkit-scrollbar,
.ps-brands-scroll-wrap::-webkit-scrollbar {
    width: 4px;
}
.ps-categories-scroll-wrap::-webkit-scrollbar-thumb,
.ps-brands-scroll-wrap::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 4px;
}
.ps-categories-scroll-wrap::-webkit-scrollbar-thumb:hover,
.ps-brands-scroll-wrap::-webkit-scrollbar-thumb:hover {
    background: #94a3b8;
}
html.dark-theme .ps-group-toggle {
    color: #f1f5f9 !important;
}
html.dark-theme .ps-group-toggle:hover {
    color: #f87171 !important;
}
html.dark-theme .ps-acc-arrow {
    color: #94a3b8 !important;
}
html.dark-theme .ps-collapsible-group.is-open .ps-acc-arrow {
    color: #f87171 !important;
}
html.dark-theme .ps-categories-scroll-wrap::-webkit-scrollbar-thumb,
html.dark-theme .ps-brands-scroll-wrap::-webkit-scrollbar-thumb {
    background: #475569;
}

/* =========================================================
   Specials Slider (Incredible Offers & Digital Goods) Sizing & Nav
   ========================================================= */
.ps-specials-swiper .swiper-slide {
    height: auto !important;
    display: flex !important;
    box-sizing: border-box !important;
}

.ps-specials-swiper .ps-special-prod-card {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;
}

.ps-specials-swiper .swiper-button-prev,
.ps-specials-swiper .swiper-button-next {
    width: 38px !important;
    height: 38px !important;
    background: #ffffff !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
    color: #1e293b !important;
    top: 50% !important;
    margin-top: -19px !important;
    z-index: 10 !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.22s ease !important;
}

.ps-specials-swiper .swiper-button-prev:after,
.ps-specials-swiper .swiper-button-next:after {
    font-size: 14px !important;
    font-weight: 900 !important;
}

.ps-specials-swiper .swiper-button-prev:hover,
.ps-specials-swiper .swiper-button-next:hover {
    background: #ef394e !important;
    color: #ffffff !important;
    box-shadow: 0 6px 18px rgba(239, 57, 78, 0.35) !important;
    transform: scale(1.08) !important;
}

.ps-specials-swiper .swiper-button-disabled {
    opacity: 0 !important;
    pointer-events: none !important;
}

html.dark-theme .ps-specials-swiper .swiper-button-prev,
html.dark-theme .ps-specials-swiper .swiper-button-next {
    background: #1e293b !important;
    color: #f1f5f9 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
}

html.dark-theme .ps-specials-swiper .swiper-button-prev:hover,
html.dark-theme .ps-specials-swiper .swiper-button-next:hover {
    background: #ef394e !important;
    color: #ffffff !important;
}

/* =========================================================
   Enhanced Top-Left Header Delivery Location Selector
   ========================================================= */
.dk-location-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    padding: 6px 14px !important;
    height: 34px !important;
    border-radius: 9999px !important;
    font-size: 12px !important;
    font-family: inherit !important;
    cursor: pointer !important;
    transition: all 0.22s ease !important;
    color: #334155 !important;
    outline: none !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    user-select: none !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

.dk-location-btn:hover {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-1px) !important;
}

.dk-location-btn:active {
    transform: translateY(0) !important;
}

.dk-location-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #f59e0b !important; /* Iconic Amber Gold Pin */
    flex-shrink: 0 !important;
    line-height: 0 !important;
}

.dk-location-icon svg {
    display: block !important;
    stroke: #f59e0b !important;
}

.dk-location-text {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

.dk-location-text .dk-loc-prefix {
    color: #64748b !important;
    font-weight: 500 !important;
    font-size: 12px !important;
    letter-spacing: -0.2px !important;
    margin: 0 !important;
}

.dk-location-text .dk-loc-city {
    color: #0f172a !important;
    font-weight: 700 !important;
    font-size: 12.5px !important;
    margin: 0 !important;
}

.dk-location-chevron {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #94a3b8 !important;
    transition: transform 0.2s ease, color 0.2s ease !important;
}

.dk-location-btn:hover .dk-location-chevron {
    color: #f59e0b !important;
    transform: translateY(1px) !important;
}

html.dark-theme .dk-location-btn {
    background: #1e293b !important;
    border-color: #334155 !important;
    color: #f1f5f9 !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3) !important;
}

html.dark-theme .dk-location-btn:hover {
    background: #334155 !important;
    border-color: #475569 !important;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
}

html.dark-theme .dk-location-text .dk-loc-prefix {
    color: #94a3b8 !important;
}

html.dark-theme .dk-location-text .dk-loc-city {
    color: #f8fafc !important;
}

/* =========================================================
   Incredible Offers AJAX Filtering & Loading State
   ========================================================= */
.dk-inc-main-col {
    position: relative;
    min-height: 400px;
}
.dk-inc-main-col.is-loading #dk-inc-grid {
    opacity: 0.35;
    pointer-events: none;
    transition: opacity 0.25s ease;
}
.dk-inc-loading-overlay {
    position: absolute;
    top: 140px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 100;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.95);
    padding: 14px 24px;
    border-radius: 50px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.12), 0 2px 6px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(226, 232, 240, 0.9);
    color: #1e293b;
    font-size: 13.5px;
    font-weight: 700;
    pointer-events: none;
    animation: psIncOverlayIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes psIncOverlayIn {
    from { opacity: 0; transform: translate(-50%, -10px) scale(0.95); }
    to { opacity: 1; transform: translate(-50%, 0) scale(1); }
}
.dk-inc-spinner {
    width: 22px;
    height: 22px;
    border: 3px solid #f1f5f9;
    border-top-color: #ef394e;
    border-radius: 50%;
    animation: psIncSpin 0.7s linear infinite;
}
@keyframes psIncSpin {
    to { transform: rotate(360deg); }
}
html.dark-theme .dk-inc-loading-overlay {
    background: rgba(30, 41, 59, 0.94);
    border-color: #334155;
    color: #f8fafc;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.45);
}
html.dark-theme .dk-inc-spinner {
    border-color: #334155;
    border-top-color: #ef394e;
}

/* Incredible Offers Add to Cart Button Enhancements */
.dk-inc-card-footer {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-top: 12px !important;
}
.dk-btn-inc-add {
    flex: 1 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: 38px !important;
    padding: 0 12px !important;
    border-radius: 8px !important;
    background: #fef2f2 !important;
    color: #ef394e !important;
    border: 1px solid #fee2e2 !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}
.dk-btn-inc-add:hover {
    background: #ef394e !important;
    color: #ffffff !important;
    border-color: #ef394e !important;
}
.dk-btn-inc-add.is-loading {
    background: #f1f5f9 !important;
    color: #64748b !important;
    border-color: #cbd5e1 !important;
    cursor: wait !important;
    pointer-events: none !important;
}
.dk-btn-inc-add.is-added {
    background: #029a49 !important;
    color: #ffffff !important;
    border-color: #029a49 !important;
}
html.dark-theme .dk-btn-inc-add {
    background: rgba(239, 57, 78, 0.12) !important;
    border-color: rgba(239, 57, 78, 0.25) !important;
    color: #f87171 !important;
}
html.dark-theme .dk-btn-inc-add:hover {
    background: #ef394e !important;
    color: #ffffff !important;
}

/* =========================================================
   Cart Cross-Sells Hover Actions (مشاهده سریع، مقایسه، علاقه‌مندی)
   ========================================================= */
.ps-cs-thumb-wrap {
    position: relative !important;
}
.ps-cs-thumb-wrap .dk-catalog-hover-actions {
    position: absolute !important;
    top: 6px !important;
    left: 6px !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    z-index: 15 !important;
    opacity: 0 !important;
    transform: translateX(-6px) !important;
    transition: opacity 0.22s ease, transform 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
    pointer-events: none !important;
}
.ps-cs-item-card:hover .dk-catalog-hover-actions,
.ps-cs-thumb-wrap .dk-catalog-hover-actions:hover,
.ps-cs-thumb-wrap .dk-catalog-hover-actions:has(.active),
.ps-cs-thumb-wrap .dk-catalog-hover-actions:has(input:checked) {
    opacity: 1 !important;
    transform: translateX(0) !important;
    pointer-events: auto !important;
}
.ps-cs-thumb-wrap .dk-catalog-hover-actions button,
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    min-height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    color: #475569 !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}
.ps-cs-thumb-wrap .dk-catalog-hover-actions button svg,
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare svg {
    width: 13px !important;
    height: 13px !important;
    min-width: 13px !important;
    min-height: 13px !important;
    max-width: 13px !important;
    max-height: 13px !important;
    display: block !important;
    margin: 0 auto !important;
    stroke: currentColor !important;
    pointer-events: none !important;
    transition: stroke 0.2s ease, fill 0.2s ease !important;
}
.ps-cs-thumb-wrap .dk-catalog-hover-actions button:hover,
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare:hover {
    background: #ef394e !important;
    border-color: #ef394e !important;
    color: #ffffff !important;
    transform: scale(1.08) !important;
}
.ps-cs-thumb-wrap .dk-catalog-hover-actions button:hover svg,
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare:hover svg {
    stroke: #ffffff !important;
    color: #ffffff !important;
}
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-btn-wishlist.active {
    background: #fff0f2 !important;
    border-color: #fecdd3 !important;
    color: #ef394e !important;
}
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-btn-wishlist.active svg {
    fill: #ef394e !important;
    stroke: #ef394e !important;
    color: #ef394e !important;
}
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare.active,
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare.is-active {
    background: #1d4ed8 !important;
    border-color: #1d4ed8 !important;
    color: #ffffff !important;
    box-shadow: 0 2px 8px rgba(29, 78, 216, 0.4) !important;
}
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare.active svg,
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare.is-active svg {
    stroke: #ffffff !important;
    color: #ffffff !important;
    fill: none !important;
}
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare.active:hover,
.ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare.is-active:hover {
    background: #1e40af !important;
    border-color: #1e40af !important;
    color: #ffffff !important;
}
@media (max-width: 991px), (hover: none) {
    .ps-cs-thumb-wrap .dk-catalog-hover-actions {
        opacity: 1 !important;
        transform: translateX(0) !important;
        pointer-events: auto !important;
    }
}
html.dark-theme .ps-cs-thumb-wrap .dk-catalog-hover-actions button,
html.dark-theme .ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare {
    background: #1e293b !important;
    border-color: #334155 !important;
    color: #cbd5e1 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
}
html.dark-theme .ps-cs-thumb-wrap .dk-catalog-hover-actions button:hover,
html.dark-theme .ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare:hover {
    background: #ef394e !important;
    border-color: #ef394e !important;
    color: #ffffff !important;
}
html.dark-theme .ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare.active,
html.dark-theme .ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare.is-active {
    background: #2563eb !important;
    border-color: #2563eb !important;
    color: #ffffff !important;
}
html.dark-theme .ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare.active svg,
html.dark-theme .ps-cs-thumb-wrap .dk-catalog-hover-actions .dk-card-action-compare.is-active svg {
    stroke: #ffffff !important;
    color: #ffffff !important;
    fill: none !important;
}


/* =========================================================================
   Cart Cross-Sells Carousel Drag-to-Scroll & Selection Protection
   ========================================================================= */
.ps-cs-carousel-track {
    cursor: grab !important;
    cursor: -webkit-grab !important;
    user-select: none !important;
    -webkit-user-select: none !important;
    -moz-user-select: none !important;
    -ms-user-select: none !important;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

.ps-cs-carousel-track.is-dragging {
    cursor: grabbing !important;
    cursor: -webkit-grabbing !important;
    scroll-snap-type: none !important;
    scroll-behavior: auto !important;
}

.ps-cs-carousel-track.is-dragging * {
    user-select: none !important;
    -webkit-user-select: none !important;
    pointer-events: none !important;
}

.ps-cs-carousel-track img {
    -webkit-user-drag: none !important;
    user-drag: none !important;
    pointer-events: none !important;
}

.ps-cs-item-card,
.ps-cs-item-card * {
    user-select: none !important;
    -webkit-user-select: none !important;
}

.ps-cs-item-card .ps-cs-add-btn,
.ps-cs-thumb-wrap .dk-catalog-hover-actions,
.ps-cs-thumb-wrap .dk-catalog-hover-actions * {
    pointer-events: auto !important;
}

.ps-cs-item-card a {
    -webkit-user-drag: none !important;
    user-drag: none !important;
}


/* ==========================================================================
   PersianShop Multi-Address Delivery System & Modal Styling
   ========================================================================== */

/* Header Location Sub-City */
.dk-loc-city-sub {
    font-size: 11.5px;
    font-weight: 500;
    color: var(--ps-text-muted, #64748b);
    margin-right: 4px;
}

/* Modal Box Enhancement */
.ps-address-modal-box {
    max-width: 600px !important;
    width: 95% !important;
    border-radius: 18px !important;
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

/* Modal Tabs */
.ps-modal-nav-tabs {
    display: flex;
    align-items: center;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    padding: 6px 12px 0;
    gap: 8px;
}

.ps-modal-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 18px;
    background: transparent;
    border: none;
    border-bottom: 2px solid transparent;
    font-size: 13.5px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s ease;
    border-radius: 8px 8px 0 0;
}

.ps-modal-tab-btn:hover {
    color: var(--ps-primary, #ef394e);
}

.ps-modal-tab-btn.active {
    color: var(--ps-primary, #ef394e);
    background: #ffffff;
    border-bottom-color: var(--ps-primary, #ef394e);
    box-shadow: 0 -2px 6px rgba(0, 0, 0, 0.03);
}

.ps-modal-tab-pane {
    display: none;
}

.ps-modal-tab-pane.active {
    display: block;
    animation: psFadeIn 0.25s ease forwards;
}

/* Saved Address Cards in Modal */
.ps-modal-addresses-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 16px;
    max-height: 380px;
    overflow-y: auto;
    padding: 4px 2px;
}

.ps-modal-addr-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px 16px;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s ease;
    position: relative;
}

.ps-modal-addr-card:hover {
    border-color: #cbd5e1;
    background: #f8fafc;
}

.ps-modal-addr-card.is-active {
    border-color: var(--ps-primary, #ef394e);
    background: #fff5f5;
    box-shadow: 0 4px 12px rgba(239, 57, 78, 0.08);
}

.ps-mac-radio-wrap {
    padding-top: 3px;
}

.ps-mac-radio {
    width: 18px;
    height: 18px;
    accent-color: var(--ps-primary, #ef394e);
    cursor: pointer;
}

.ps-mac-body {
    flex: 1;
    min-width: 0;
}

.ps-mac-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 6px;
}

.ps-mac-title-group {
    display: flex;
    align-items: center;
    gap: 7px;
}

.ps-mac-icon {
    font-size: 16px;
}

.ps-mac-title {
    font-size: 14px;
    font-weight: 800;
    color: #0f172a;
}

.ps-mac-city-badge {
    font-size: 11px;
    font-weight: 600;
    background: #e2e8f0;
    color: #334155;
    padding: 2px 7px;
    border-radius: 6px;
}

.ps-mac-badges {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ps-badge-active-addr {
    font-size: 10.5px;
    font-weight: 700;
    color: #15803d;
    background: #dcfce7;
    padding: 2px 8px;
    border-radius: 6px;
}

.ps-badge-default-addr {
    font-size: 10.5px;
    font-weight: 700;
    color: #0369a1;
    background: #e0f2fe;
    padding: 2px 8px;
    border-radius: 6px;
}

.ps-mac-address {
    font-size: 12.5px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 6px;
}

.ps-mac-postcode {
    font-size: 11.5px;
    color: #64748b;
}

.ps-mac-recipient {
    font-size: 11.5px;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ps-mac-recipient strong {
    color: #334155;
}

.ps-mac-sep {
    color: #cbd5e1;
}

/* Modal Actions Bar */
.ps-modal-actions-bar {
    margin-top: 10px;
    margin-bottom: 14px;
}

.ps-btn-show-add-address {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    padding: 12px 18px;
    background: #ffffff;
    border: 1.5px dashed var(--ps-primary, #ef394e);
    border-radius: 12px;
    color: var(--ps-primary, #ef394e);
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ps-btn-show-add-address:hover {
    background: #fff5f5;
}

/* Modal Add Form */
.ps-modal-add-form {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px;
    margin-top: 14px;
    animation: psFadeIn 0.25s ease forwards;
}

.ps-maf-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid #e2e8f0;
}

.ps-maf-head h4 {
    margin: 0;
    font-size: 14px;
    font-weight: 800;
    color: #0f172a;
    display: flex;
    align-items: center;
    gap: 7px;
}

.ps-maf-cancel-btn {
    background: transparent;
    border: none;
    font-size: 20px;
    color: #94a3b8;
    cursor: pointer;
    line-height: 1;
}

.ps-maf-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

.ps-maf-field {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ps-maf-field.fullwidth {
    grid-column: span 2;
}

.ps-maf-field label {
    font-size: 12px;
    font-weight: 600;
    color: #334155;
}

.ps-maf-field label .req {
    color: var(--ps-primary, #ef394e);
}

.ps-maf-field input,
.ps-maf-field select,
.ps-maf-field textarea {
    padding: 9px 12px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 13px;
    color: #0f172a;
    outline: none;
    font-family: inherit;
    transition: border-color 0.2s;
}

.ps-maf-field input:focus,
.ps-maf-field select:focus,
.ps-maf-field textarea:focus {
    border-color: var(--ps-primary, #ef394e);
    box-shadow: 0 0 0 3px rgba(239, 57, 78, 0.1);
}

.ps-maf-checkbox-field {
    grid-column: span 2;
    padding-top: 4px;
}

.ps-checkbox-label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 12.5px;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
}

.ps-checkbox-label input {
    width: 16px;
    height: 16px;
    accent-color: var(--ps-primary, #ef394e);
}

.ps-maf-buttons {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ps-btn-save-new-addr {
    flex: 1;
    padding: 11px 18px;
    background: var(--ps-primary, #ef394e);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-size: 13.5px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}

.ps-btn-save-new-addr:hover {
    background: #d92d40;
}

.ps-btn-dismiss-new-addr {
    padding: 11px 18px;
    background: #e2e8f0;
    color: #475569;
    border: none;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
}

/* ==========================================================================
   Cart Page Delivery Address Destination Card
   ========================================================================== */

.ps-cart-delivery-address-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px 18px;
    margin-bottom: 18px;
    transition: all 0.2s ease;
}

.ps-cart-delivery-address-card:hover {
    border-color: #cbd5e1;
    background: #ffffff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.ps-cdac-content {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    flex: 1;
    min-width: 0;
}

.ps-cdac-icon-wrap {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    background: #fff1f2;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--ps-primary, #ef394e);
    margin-top: 2px;
}

.ps-cdac-details {
    flex: 1;
    min-width: 0;
}

.ps-cdac-headline {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 4px;
}

.ps-cdac-label {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

.ps-cdac-title {
    font-size: 14.5px;
    font-weight: 800;
    color: #0f172a;
}

.ps-cdac-city-tag {
    font-size: 12px;
    font-weight: 600;
    color: #475569;
}

.ps-cdac-default-badge {
    font-size: 11px;
    font-weight: 700;
    color: #0284c7;
    background: #e0f2fe;
    padding: 2px 7px;
    border-radius: 6px;
}

.ps-cdac-address-text {
    font-size: 12.5px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 4px;
}

.ps-cdac-recipient-info {
    font-size: 11.5px;
    color: #64748b;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.ps-cdac-recipient-info strong {
    color: #1e293b;
}

.ps-cdac-sep {
    color: #cbd5e1;
}

.ps-btn-switch-delivery-address {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 16px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    color: #0f172a;
    font-size: 12.5px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.ps-btn-switch-delivery-address:hover {
    border-color: var(--ps-primary, #ef394e);
    color: var(--ps-primary, #ef394e);
    background: #fff5f5;
}

/* ==========================================================================
   Checkout Page Address Quick Selector
   ========================================================================== */

.ps-checkout-address-selector-section {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 16px;
}

.ps-cass-head {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 700;
    color: #334155;
}

.ps-checkout-addresses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 10px;
}

.ps-co-addr-pill {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 11px 13px;
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ps-co-addr-pill:hover {
    border-color: #cbd5e1;
    background: #fafafa;
}

.ps-co-addr-pill.active {
    border-color: var(--ps-primary, #ef394e);
    background: #fff5f5;
    box-shadow: 0 2px 8px rgba(239, 57, 78, 0.08);
}

.ps-coap-radio {
    width: 15px;
    height: 15px;
    min-width: 15px;
    border-radius: 50%;
    border: 2px solid #94a3b8;
    margin-top: 3px;
    transition: all 0.2s ease;
}

.ps-co-addr-pill.active .ps-coap-radio {
    border-color: var(--ps-primary, #ef394e);
    background: var(--ps-primary, #ef394e);
    box-shadow: inset 0 0 0 3px #ffffff;
}

.ps-coap-info {
    flex: 1;
    min-width: 0;
}

.ps-coap-top {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
}

.ps-coap-icon {
    font-size: 14px;
}

.ps-coap-title {
    font-size: 13px;
    font-weight: 800;
    color: #0f172a;
}

.ps-coap-city {
    font-size: 11.5px;
    color: #64748b;
}

.ps-coap-def-badge {
    font-size: 10px;
    font-weight: 700;
    color: #0284c7;
    background: #e0f2fe;
    padding: 1px 6px;
    border-radius: 4px;
}

.ps-coap-desc {
    font-size: 11.5px;
    color: #64748b;
    line-height: 1.5;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.ps-co-addr-pill-new {
    border-style: dashed;
    border-color: #cbd5e1;
    background: #ffffff;
    align-items: center;
}

.ps-co-addr-pill-new:hover {
    border-color: var(--ps-primary, #ef394e);
    color: var(--ps-primary, #ef394e);
}

.ps-coap-new-icon {
    width: 26px;
    height: 26px;
    min-width: 26px;
    border-radius: 50%;
    background: #f1f5f9;
    color: #475569;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 16px;
}

.ps-co-addr-pill-new:hover .ps-coap-new-icon {
    background: #fff1f2;
    color: var(--ps-primary, #ef394e);
}

/* ==========================================================================
   My Account Address Book Grid
   ========================================================================== */

.ps-account-address-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
}

.ps-btn-account-add-addr {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 10px 18px;
    background: var(--ps-primary, #ef394e);
    color: #ffffff;
    border: none;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s;
}

.ps-btn-account-add-addr:hover {
    background: #d92d40;
}

.ps-saved-addresses-heading {
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
    margin: 24px 0 14px;
}

.ps-account-addresses-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 16px;
    margin-bottom: 28px;
}

.ps-account-addr-card {
    background: #ffffff;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 14px;
    transition: all 0.2s ease;
}

.ps-account-addr-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.04);
}

.ps-account-addr-card.is-active {
    border-color: var(--ps-primary, #ef394e);
    background: #fffafa;
    box-shadow: 0 4px 14px rgba(239, 57, 78, 0.08);
}

.ps-aac-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 10px;
}

.ps-aac-title-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
}

.ps-aac-icon {
    font-size: 18px;
}

.ps-aac-title {
    margin: 0;
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
}

.ps-aac-city-chip {
    font-size: 11.5px;
    font-weight: 600;
    color: #334155;
    background: #e2e8f0;
    padding: 2px 8px;
    border-radius: 6px;
}

.ps-aac-badges {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ps-aac-body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-size: 12.5px;
    color: #475569;
}

.ps-aac-full-address {
    margin: 0;
    line-height: 1.6;
    display: flex;
    align-items: flex-start;
    gap: 6px;
    color: #334155;
}

.ps-aac-full-address svg {
    margin-top: 2px;
    min-width: 15px;
    color: var(--ps-primary, #ef394e);
}

.ps-aac-meta-line {
    margin: 0;
    font-size: 12px;
    color: #64748b;
}

.ps-aac-recipient-box {
    background: #f8fafc;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 11.5px;
    color: #64748b;
    display: flex;
    align-items: center;
    gap: 8px;
}

.ps-aac-recipient-box strong {
    color: #1e293b;
}

.ps-aac-sep {
    color: #cbd5e1;
}

.ps-aac-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid #f1f5f9;
}

.ps-btn-aac-activate {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    color: #334155;
    cursor: pointer;
    transition: all 0.2s ease;
}

.ps-btn-aac-activate:hover {
    border-color: #16a34a;
    color: #16a34a;
    background: #f0fdf4;
}

.ps-aac-active-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 700;
    color: #16a34a;
}

.ps-aac-actions-right {
    display: flex;
    align-items: center;
    gap: 6px;
}

.ps-btn-aac-set-default {
    background: transparent;
    border: none;
    font-size: 11.5px;
    font-weight: 600;
    color: #0284c7;
    cursor: pointer;
    text-decoration: underline;
}

.ps-btn-aac-delete {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 6px;
    border: 1px solid #fee2e2;
    background: #fff5f5;
    cursor: pointer;
    transition: background 0.2s;
}

.ps-btn-aac-delete:hover {
    background: #fee2e2;
}

.ps-wc-addresses-collapsible {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #e2e8f0;
}

.ps-wc-addresses-title {
    font-size: 14px;
    font-weight: 700;
    color: #64748b;
    margin-bottom: 14px;
}

@media (max-width: 640px) {
    .ps-cart-delivery-address-card {
        flex-direction: column;
        align-items: flex-start;
    }
    .ps-btn-switch-delivery-address {
        width: 100%;
        justify-content: center;
    }
    .ps-maf-grid {
        grid-template-columns: 1fr;
    }
    .ps-maf-field.fullwidth,
    .ps-maf-checkbox-field {
        grid-column: span 1;
    }
}

/* Order Details Warranty & Meta Chips Styling */
.dk-view-item-warranty-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    color: #1d4ed8;
    padding: 3px 10px;
    border-radius: 6px;
    font-size: 11.5px;
    font-weight: 600;
    margin: 5px 0 6px;
    line-height: 1.5;
}

.dk-view-item-warranty-badge svg {
    color: #2563eb;
    min-width: 15px;
}

.dk-view-item-meta-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 6px;
}

.dk-view-meta-chip {
    font-size: 11px;
    color: #475569;
    background: #f1f5f9;
    padding: 2px 8px;
    border-radius: 4px;
    border: 1px solid #e2e8f0;
}

.dk-meta-dot {
    color: #cbd5e1;
    font-size: 10px;
    margin: 0 4px;
}

.dk-item-sku {
    color: #94a3b8;
    font-size: 11px;
}

/* ==========================================================================
   PersianShop Header Search Bar - High Specificity & Modern Styling
   ========================================================================== */

.dk-header .dk-search-box {
    flex: 1 !important;
    max-width: 620px !important;
    position: relative !important;
    margin: 0 !important;
    z-index: 10 !important;
}

.dk-header .dk-search-box form {
    display: flex !important;
    position: relative !important;
    width: 100% !important;
    height: 44px !important;
    align-items: center !important;
    background-color: var(--dk-bg-main, #f0f0f1) !important;
    border: 1px solid transparent !important;
    border-radius: var(--dk-radius-sm, 10px) !important;
    box-sizing: border-box !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    overflow: hidden !important;
}

.dk-header .dk-search-box form:focus-within {
    background-color: #ffffff !important;
    border-color: var(--dk-border-dark, #cbd5e1) !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08) !important;
}

.dk-header .dk-search-box input.dk-search-input,
.dk-header .dk-search-box input[type="search"].dk-search-input,
.dk-header input#dk-search-input {
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    line-height: 44px !important;
    background-color: transparent !important;
    border: none !important;
    border-radius: var(--dk-radius-sm, 10px) !important;
    padding: 0 44px 0 44px !important;
    font-size: 13px !important;
    font-family: inherit !important;
    color: var(--dk-text-title, #0f172a) !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    box-sizing: border-box !important;
}

.dk-header .dk-search-box input.dk-search-input::placeholder,
.dk-header input#dk-search-input::placeholder {
    color: var(--dk-text-hint, #94a3b8) !important;
    opacity: 1 !important;
    font-size: 12.5px !important;
}

.dk-header .dk-search-box .dk-search-icon {
    position: absolute !important;
    right: 14px !important;
    left: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    color: var(--dk-text-hint, #81858b) !important;
    pointer-events: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 2 !important;
    line-height: 1 !important;
}

.dk-header .dk-search-box .ps-voice-search-btn {
    position: absolute !important;
    left: 8px !important;
    right: auto !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    background: transparent !important;
    border: none !important;
    color: var(--dk-text-hint, #81858b) !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    padding: 0 !important;
    transition: all 0.2s ease !important;
    z-index: 2 !important;
}

.dk-header .dk-search-box .ps-voice-search-btn:hover {
    background-color: rgba(0, 0, 0, 0.06) !important;
    color: var(--dk-primary, #ef394e) !important;
}

/* Dark Theme Search Box */
html.dark-theme .dk-header .dk-search-box form {
    background-color: #1e293b !important;
    border-color: #334155 !important;
}

html.dark-theme .dk-header .dk-search-box form:focus-within {
    background-color: #0f172a !important;
    border-color: #475569 !important;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.4) !important;
}

html.dark-theme .dk-header .dk-search-box input.dk-search-input {
    color: #f8fafc !important;
}

html.dark-theme .dk-header .dk-search-box input.dk-search-input::placeholder {
    color: #64748b !important;
}

html.dark-theme .dk-header .dk-search-box .dk-search-icon,
html.dark-theme .dk-header .dk-search-box .ps-voice-search-btn {
    color: #94a3b8 !important;
}

html.dark-theme .dk-header .dk-search-box .ps-voice-search-btn:hover {
    background-color: rgba(255, 255, 255, 0.08) !important;
    color: #f87171 !important;
}

/* Fortune Wheel spinning state icon fixed (do not rotate) */
.ps-wheel-spin-spinner {
    animation: none !important;
    transform: none !important;
}

/* --- UNIVERSAL MODAL CENTER FIX --- */
#ps-universal-modal,
.ps-universal-modal {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 999999 !important;
}

#ps-universal-modal.is-open,
.ps-universal-modal.is-open,
.ps-universal-modal[style*="display: block"],
.ps-universal-modal[style*="display:block"],
.ps-universal-modal[style*="display: flex"],
.ps-universal-modal[style*="display:flex"] {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

#ps-universal-modal .ps-universal-modal-dialog,
.ps-universal-modal-dialog {
    position: relative !important;
    width: 100% !important;
    max-width: 440px !important;
    margin: auto !important;
    transform-origin: center center !important;
}




/* =========================================================================
   PERSIANSHOP ADVANCED GAMIFICATION POINTS LEDGER & REAL-TIME AJAX HISTORY
   ========================================================================= */
.dk-club-history-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 26px 28px;
    box-shadow: 0 4px 20px -4px rgba(15, 23, 42, 0.05);
    margin-top: 14px;
    transition: all 0.25s ease;
}

.dk-club-history-card .dk-club-card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #f1f5f9;
}

.dk-club-history-card .dk-club-header-title {
    display: flex;
    align-items: center;
    gap: 14px;
}

.dk-club-history-card .dk-club-header-icon {
    width: 48px;
    height: 48px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(139, 92, 246, 0.12), rgba(99, 102, 241, 0.22));
    color: #7c3aed;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 4px 12px rgba(139, 92, 246, 0.15);
}

.dk-club-history-card .dk-club-header-headings h3 {
    margin: 0 0 4px 0;
    font-size: 18px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.4;
}

.dk-club-history-card .dk-club-header-desc {
    font-size: 13px;
    color: #64748b;
    font-weight: 500;
}

.dk-club-history-card .dk-club-header-actions {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}

/* Quick Filter Chips */
.dk-history-filter-chips {
    display: inline-flex;
    align-items: center;
    background: #f1f5f9;
    padding: 4px;
    border-radius: 12px;
    gap: 4px;
}

.dk-filter-chip {
    border: none;
    background: transparent;
    padding: 6px 14px;
    border-radius: 9px;
    font-size: 12.5px;
    font-weight: 700;
    color: #64748b;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: inherit;
}

.dk-filter-chip:hover {
    color: #0f172a;
}

.dk-filter-chip.is-active {
    background: #ffffff;
    color: #0f172a;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}

.dk-filter-chip .dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    display: inline-block;
}
.dk-filter-chip .gain-dot { background: #10b981; }
.dk-filter-chip .loss-dot { background: #ef4444; }

/* Total count badge */
.dk-history-total-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    font-size: 12.5px;
    font-weight: 700;
    color: #334155;
}
.dk-history-total-pill .pill-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8b5cf6;
}

/* Table wrapper & loading state */
.dk-club-table-wrapper {
    position: relative;
    min-height: 220px;
}

.dk-table-loading-overlay {
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, 0.84);
    backdrop-filter: blur(3px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    z-index: 10;
    border-radius: 14px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: all 0.22s ease;
    font-size: 13.5px;
    font-weight: 700;
    color: #475569;
}

.dk-club-table-wrapper.is-loading .dk-table-loading-overlay {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.dk-club-table-wrapper .ps-spinner {
    width: 34px;
    height: 34px;
    border: 3px solid #e2e8f0;
    border-top-color: #8b5cf6;
    border-radius: 50%;
    animation: psSpinRound 0.75s linear infinite;
}

/* Modern Club Table */
.dk-club-table-responsive {
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    overflow-x: auto;
    background: #ffffff;
}

.dk-club-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
}

.dk-club-table th {
    background: #f8fafc;
    padding: 14px 18px;
    text-align: right;
    font-size: 12.5px;
    font-weight: 700;
    color: #475569;
    border-bottom: 1.5px solid #e2e8f0;
    white-space: nowrap;
}

.dk-club-table td {
    padding: 15px 18px;
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
    vertical-align: middle;
    transition: background 0.15s ease;
}

.dk-club-table tbody tr:hover td {
    background: #f8fafc;
}

.dk-club-table tbody tr:last-child td {
    border-bottom: none;
}

/* Badges with Emojis & Soft Gradients */
.dk-cl-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    line-height: 1.4;
}

.dk-cl-badge .dk-badge-emoji {
    font-size: 13px;
}

.dk-cl-badge.badge-order {
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
    border: 1px solid rgba(16, 185, 129, 0.25);
}

.dk-cl-badge.badge-welcome {
    background: rgba(245, 158, 11, 0.12);
    color: #d97706;
    border: 1px solid rgba(245, 158, 11, 0.25);
}

.dk-cl-badge.badge-review {
    background: rgba(2, 132, 199, 0.12);
    color: #0284c7;
    border: 1px solid rgba(2, 132, 199, 0.25);
}

.dk-cl-badge.badge-wallet {
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
    border: 1px solid rgba(239, 68, 68, 0.25);
}

.dk-cl-badge.badge-box {
    background: rgba(139, 92, 246, 0.12);
    color: #7c3aed;
    border: 1px solid rgba(139, 92, 246, 0.25);
}

.dk-cl-badge.badge-mission {
    background: rgba(6, 182, 212, 0.12);
    color: #0891b2;
    border: 1px solid rgba(6, 182, 212, 0.25);
}

.dk-cl-badge.badge-coupon {
    background: rgba(99, 102, 241, 0.12);
    color: #4f46e5;
    border: 1px solid rgba(99, 102, 241, 0.25);
}

.dk-cl-badge.badge-wheel {
    background: rgba(217, 70, 239, 0.12);
    color: #c026d3;
    border: 1px solid rgba(217, 70, 239, 0.25);
}

.dk-cl-badge.badge-admin {
    background: #f1f5f9;
    color: #475569;
    border: 1px solid #e2e8f0;
}

/* Date Cell Presentation */
.dk-date-wrap {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.dk-date-main {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12.5px;
    font-weight: 700;
    color: #1e293b;
    white-space: nowrap;
}

.dk-date-time {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 11.5px;
    color: #94a3b8;
    white-space: nowrap;
}

/* Description & Interactive Copy Chip */
.dk-desc-inner {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.dk-desc-text {
    font-size: 13px;
    color: #334155;
    line-height: 1.5;
}

.dk-table-coupon-chip.ps-copy-coupon-btn {
    border: 1px dashed #cbd5e1;
    background: #f8fafc;
    padding: 3px 8px;
    border-radius: 8px;
    font-size: 11.5px;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: all 0.2s ease;
    font-family: inherit;
}

.dk-table-coupon-chip.ps-copy-coupon-btn:hover {
    background: #eff6ff;
    border-color: #3b82f6;
    color: #1d4ed8;
}

.dk-table-coupon-chip.is-copied {
    background: #ecfdf5;
    border-color: #10b981;
    color: #047857;
}

/* Points Change Badge */
.dk-points-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 5px 12px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

.dk-points-badge.is-gain {
    background: rgba(16, 185, 129, 0.12);
    color: #059669;
}

.dk-points-badge.is-loss {
    background: rgba(239, 68, 68, 0.12);
    color: #dc2626;
}

/* Balance Pill */
.dk-balance-pill {
    display: inline-block;
    padding: 4px 12px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: 13px;
    font-weight: 700;
    color: #0f172a;
    min-width: 50px;
    text-align: center;
}

/* Empty State */
.dk-club-table-empty {
    text-align: center;
    padding: 36px 16px;
    color: #64748b;
}
.dk-club-table-empty .empty-icon {
    font-size: 36px;
    display: block;
    margin-bottom: 8px;
}
.dk-club-table-empty p {
    font-size: 13.5px;
    font-weight: 600;
    margin: 0;
}

/* Pagination UI */
.dk-club-pagination-wrap {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
}

.dk-history-pagination-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
}

.dk-pagination-summary {
    font-size: 12.5px;
    color: #64748b;
}
.dk-pagination-summary strong {
    color: #0f172a;
    font-weight: 700;
}

.dk-pagination-nav {
    display: flex;
    align-items: center;
    gap: 6px;
}

.dk-page-numbers {
    display: flex;
    align-items: center;
    gap: 4px;
}

.dk-page-btn {
    min-width: 34px;
    height: 34px;
    padding: 0 10px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    color: #475569;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.18s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-family: inherit;
}

.dk-page-btn:hover:not(:disabled):not(.is-active) {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #0f172a;
    transform: translateY(-1px);
}

.dk-page-btn.is-active {
    background: #8b5cf6;
    border-color: #8b5cf6;
    color: #ffffff;
    box-shadow: 0 3px 10px rgba(139, 92, 246, 0.35);
    cursor: default;
}

.dk-page-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
    background: #f8fafc;
    border-color: #e2e8f0;
}

.dk-page-dots {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    color: #94a3b8;
    font-weight: 800;
}

/* Dark Theme Overrides */
html.dark-theme .dk-club-history-card {
    background: #1e293b;
    border-color: #334155;
    box-shadow: 0 4px 20px -4px rgba(0, 0, 0, 0.4);
}
html.dark-theme .dk-club-history-card .dk-club-card-header {
    border-bottom-color: #334155;
}
html.dark-theme .dk-club-history-card .dk-club-header-headings h3 {
    color: #f8fafc;
}
html.dark-theme .dk-club-history-card .dk-club-header-desc {
    color: #94a3b8;
}
html.dark-theme .dk-history-filter-chips {
    background: #0f172a;
}
html.dark-theme .dk-filter-chip {
    color: #94a3b8;
}
html.dark-theme .dk-filter-chip.is-active {
    background: #1e293b;
    color: #f8fafc;
}
html.dark-theme .dk-history-total-pill {
    background: #0f172a;
    border-color: #334155;
    color: #cbd5e1;
}
html.dark-theme .dk-table-loading-overlay {
    background: rgba(15, 23, 42, 0.85);
    color: #e2e8f0;
}
html.dark-theme .dk-club-table-responsive {
    border-color: #334155;
    background: #1e293b;
}
html.dark-theme .dk-club-table th {
    background: #0f172a;
    color: #94a3b8;
    border-bottom-color: #334155;
}
html.dark-theme .dk-club-table td {
    color: #e2e8f0;
    border-bottom-color: #334155;
}
html.dark-theme .dk-club-table tbody tr:hover td {
    background: rgba(51, 65, 85, 0.4);
}
html.dark-theme .dk-date-main {
    color: #f8fafc;
}
html.dark-theme .dk-desc-text {
    color: #cbd5e1;
}
html.dark-theme .dk-table-coupon-chip.ps-copy-coupon-btn {
    background: #0f172a;
    border-color: #475569;
    color: #cbd5e1;
}
html.dark-theme .dk-balance-pill {
    background: #0f172a;
    border-color: #334155;
    color: #f8fafc;
}
html.dark-theme .dk-club-pagination-wrap {
    border-top-color: #334155;
}
html.dark-theme .dk-pagination-summary {
    color: #94a3b8;
}
html.dark-theme .dk-pagination-summary strong {
    color: #f8fafc;
}
html.dark-theme .dk-page-btn {
    background: #0f172a;
    border-color: #334155;
    color: #cbd5e1;
}
html.dark-theme .dk-page-btn:hover:not(:disabled):not(.is-active) {
    background: #1e293b;
    color: #f8fafc;
}
html.dark-theme .dk-page-btn:disabled {
    background: #0f172a;
    border-color: #1e293b;
    opacity: 0.35;
}

/* Mobile Responsiveness (< 768px) */
@media (max-width: 768px) {
    .dk-club-history-card {
        padding: 20px 16px;
        border-radius: 16px;
    }
    .dk-club-history-card .dk-club-card-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }
    .dk-club-history-card .dk-club-header-actions {
        width: 100%;
        justify-content: space-between;
    }
    .dk-history-pagination-inner {
        flex-direction: column;
        align-items: center;
        gap: 12px;
    }
}


/* ==========================================================================
   Comprehensive WooCommerce My-Account Dark Theme Suite (html.dark-theme)
   ========================================================================== */

/* 1. Page Background & Outer Wrappers */
html.dark-theme .dk-account-page-wrapper,
html.dark-theme .dk-account-container,
html.dark-theme .dk-account-layout,
html.dark-theme .dk-account-main-content,
html.dark-theme .woocommerce-MyAccount-content,
html.dark-theme .dk-account-content {
    background-color: #0b1120 !important;
    color: #cbd5e1 !important;
}

/* 2. Delivery Location Sync Card (Dashboard & Addresses) */
html.dark-theme .dk-account-delivery-location-card,
html.dark-theme .ps-delivery-location-sync,
html.dark-theme .ps-delivery-loc-card {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    border-radius: 16px !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
    padding: 20px 22px !important;
    color: #f8fafc !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 22px !important;
    gap: 16px !important;
}

html.dark-theme .dk-adlc-subtitle {
    color: #94a3b8 !important;
}

html.dark-theme .dk-adlc-title,
html.dark-theme #dk-account-active-city-display {
    color: #f8fafc !important;
}

html.dark-theme .dk-adlc-desc {
    color: #cbd5e1 !important;
}

html.dark-theme .dk-adlc-icon {
    background: #0f172a !important;
    border: 1px solid #334155 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2) !important;
}

html.dark-theme .dk-adlc-badge {
    background: rgba(16, 185, 129, 0.15) !important;
    border: 1px solid rgba(16, 185, 129, 0.3) !important;
    color: #34d399 !important;
}

html.dark-theme .dk-btn-change-city {
    background: #0f172a !important;
    border: 1px solid #ef4056 !important;
    color: #ef4056 !important;
    padding: 8px 16px !important;
    border-radius: 10px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

html.dark-theme .dk-btn-change-city:hover {
    background: #ef4056 !important;
    color: #ffffff !important;
}

/* 3. Orders Page & Cards (/my-account/orders/) */
html.dark-theme .dk-orders-page-wrap,
html.dark-theme .dk-orders-card,
html.dark-theme .dk-orders-list-cards {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    border-radius: 18px !important;
    padding: 22px !important;
    color: #f8fafc !important;
}

html.dark-theme .dk-orders-page-header {
    border-bottom: 1px solid #334155 !important;
    padding-bottom: 14px !important;
    margin-bottom: 18px !important;
}

html.dark-theme .dk-orders-page-title,
html.dark-theme .dk-orders-card h2,
html.dark-theme .dk-orders-card h3 {
    color: #f8fafc !important;
}

html.dark-theme .dk-order-card {
    background: #0f172a !important;
    border: 1px solid #334155 !important;
    border-radius: 14px !important;
    color: #cbd5e1 !important;
    margin-bottom: 16px !important;
}

html.dark-theme .dk-order-card-top {
    border-bottom: 1px solid #1e293b !important;
}

html.dark-theme .dk-order-card-bottom {
    background: #0b1120 !important;
    border-top: 1px solid #1e293b !important;
}

html.dark-theme .dk-order-id,
html.dark-theme .dk-order-date {
    color: #94a3b8 !important;
}

html.dark-theme .dk-order-price-label {
    color: #94a3b8 !important;
}

html.dark-theme .dk-order-price strong {
    color: #f8fafc !important;
}

html.dark-theme .dk-order-product-thumb,
html.dark-theme .dk-order-thumb-wrap,
html.dark-theme .dk-product-thumb {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    border-radius: 10px !important;
}

html.dark-theme .dk-order-action-btn,
html.dark-theme .dk-btn-view-order,
html.dark-theme .dk-btn-official-invoice {
    background: #1e293b !important;
    border: 1px solid #475569 !important;
    color: #cbd5e1 !important;
}

html.dark-theme .dk-order-action-btn:hover,
html.dark-theme .dk-btn-view-order:hover,
html.dark-theme .dk-btn-official-invoice:hover {
    background: #334155 !important;
    color: #f8fafc !important;
}

html.dark-theme table.woocommerce-orders-table,
html.dark-theme table.woocommerce-MyAccount-orders {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    color: #cbd5e1 !important;
}

html.dark-theme table.woocommerce-orders-table th {
    background: #0f172a !important;
    color: #94a3b8 !important;
    border-bottom: 1px solid #334155 !important;
}

html.dark-theme table.woocommerce-orders-table td {
    color: #cbd5e1 !important;
    border-bottom: 1px solid #334155 !important;
}

/* 4. Subscriptions Portal (/my-account/subscriptions/) */
html.dark-theme .ps-sub-portal-header {
    background: linear-gradient(135deg, #111827 0%, #1e1b4b 100%) !important;
    border: 1px solid #312e81 !important;
    color: #f8fafc !important;
}

html.dark-theme .ps-sph-icon {
    background: #0f172a !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

html.dark-theme .ps-sph-content h2,
html.dark-theme .ps-sph-content h3 {
    color: #f8fafc !important;
}

html.dark-theme .ps-sph-content p {
    color: #cbd5e1 !important;
}

html.dark-theme .ps-sub-stat-card {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    color: #f8fafc !important;
}

html.dark-theme .ps-stat-label {
    color: #94a3b8 !important;
}

html.dark-theme .ps-stat-value {
    color: #f8fafc !important;
}

html.dark-theme .ps-sub-management-box {
    background: #1e293b !important;
    border: 1.5px solid #334155 !important;
    color: #f8fafc !important;
}

html.dark-theme .ps-smb-header {
    border-bottom: 1px solid #334155 !important;
}

html.dark-theme .ps-smb-icon-title {
    background: #0f172a !important;
}

html.dark-theme .ps-smb-title {
    color: #f8fafc !important;
}

html.dark-theme .ps-smb-subtitle {
    color: #94a3b8 !important;
}

html.dark-theme .ps-smb-counter {
    background: #0f172a !important;
    border-color: #334155 !important;
    color: #94a3b8 !important;
}

html.dark-theme .ps-sub-item-card {
    background: #0f172a !important;
    border: 1.5px solid #334155 !important;
    color: #cbd5e1 !important;
}

html.dark-theme .ps-sub-item-card:hover {
    background: #111827 !important;
    border-color: #475569 !important;
}

html.dark-theme .ps-sub-item-card.paused {
    background: #151922 !important;
}

html.dark-theme .ps-sub-prod-thumb {
    background: #1e293b !important;
    border-color: #334155 !important;
}

html.dark-theme .ps-sub-prod-title {
    color: #f8fafc !important;
}

html.dark-theme .ps-sub-submeta {
    color: #94a3b8 !important;
}

html.dark-theme .ps-sub-id-pill {
    background: #1e293b !important;
    color: #cbd5e1 !important;
    border: 1px solid #334155 !important;
}

html.dark-theme .ps-sub-matrix {
    background: #111827 !important;
    border: 1px solid #334155 !important;
}

html.dark-theme .ps-matrix-label {
    color: #94a3b8 !important;
}

html.dark-theme .ps-matrix-val {
    color: #f8fafc !important;
}

html.dark-theme .ps-sub-freq-changer {
    border-right-color: #334155 !important;
}

html.dark-theme .ps-sub-freq-changer label {
    color: #94a3b8 !important;
}

html.dark-theme .ps-sub-freq-select {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    color: #f8fafc !important;
}

html.dark-theme .ps-sub-guide-box {
    background: #0f172a !important;
    border-color: #334155 !important;
    color: #cbd5e1 !important;
}

html.dark-theme .ps-sub-guide-box h4 {
    color: #f8fafc !important;
}

/* 5. Loyalty Rewards & Club Showcase (/my-account/loyalty-rewards/) */
html.dark-theme .dk-club-page-wrapper {
    background: #0b1120 !important;
}

html.dark-theme .dk-club-reward-card {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    color: #f8fafc !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3) !important;
}

html.dark-theme .dk-club-reward-card:hover {
    border-color: #ef4056 !important;
    transform: translateY(-2px);
}

html.dark-theme .dk-reward-icon-wrap {
    background: #0f172a !important;
    border: 1px solid #334155 !important;
}

html.dark-theme .dk-reward-title {
    color: #f8fafc !important;
}

html.dark-theme .dk-reward-desc {
    color: #94a3b8 !important;
}

html.dark-theme .dk-reward-cost {
    background: #0f172a !important;
    border: 1px solid #334155 !important;
    color: #fbbf24 !important;
}

html.dark-theme .dk-reward-action-btn:disabled {
    background: #0f172a !important;
    border-color: #334155 !important;
    color: #64748b !important;
}

html.dark-theme .dk-club-coupons-section {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    border-radius: 18px !important;
    padding: 22px !important;
}

html.dark-theme .dk-coupon-ticket {
    background: #0f172a !important;
    border: 1px dashed #334155 !important;
    color: #f8fafc !important;
}

html.dark-theme .dk-coupon-amount {
    color: #f8fafc !important;
}

html.dark-theme .dk-coupon-min-spend {
    color: #94a3b8 !important;
}

html.dark-theme .dk-coupon-code-box {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
}

html.dark-theme .dk-coupon-code-text {
    color: #f8fafc !important;
}

html.dark-theme .dk-coupon-footer {
    border-top: 1px solid #1e293b !important;
    color: #94a3b8 !important;
}

html.dark-theme .dk-club-empty-state {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    color: #94a3b8 !important;
}

html.dark-theme .dk-club-empty-state p {
    color: #f8fafc !important;
}

/* 6. Addresses, Account Details, Downloads, Forms */
html.dark-theme .woocommerce-Address,
html.dark-theme .woocommerce-Addresses .u-column1,
html.dark-theme .woocommerce-Addresses .u-column2,
html.dark-theme .dk-address-card,
html.dark-theme .dk-edit-account-card,
html.dark-theme form.woocommerce-EditAccountForm {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    border-radius: 16px !important;
    padding: 22px !important;
    color: #cbd5e1 !important;
}

html.dark-theme .woocommerce-Address-title h3,
html.dark-theme .woocommerce-EditAccountForm legend {
    color: #f8fafc !important;
    border-bottom: 1px solid #334155 !important;
}

html.dark-theme form.woocommerce-EditAccountForm input.woocommerce-Input,
html.dark-theme form.woocommerce-EditAccountForm select,
html.dark-theme .woocommerce-form-row input,
html.dark-theme .woocommerce-form-row select,
html.dark-theme .woocommerce-form-row textarea {
    background-color: #0f172a !important;
    border: 1px solid #334155 !important;
    color: #f8fafc !important;
}

html.dark-theme form.woocommerce-EditAccountForm input:focus,
html.dark-theme .woocommerce-form-row input:focus,
html.dark-theme .woocommerce-form-row select:focus {
    border-color: #ef4056 !important;
}

html.dark-theme table.woocommerce-table--order-details,
html.dark-theme table.woocommerce-customer-details,
html.dark-theme table.woocommerce-MyAccount-downloads {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    color: #cbd5e1 !important;
}

html.dark-theme table.woocommerce-table--order-details th,
html.dark-theme table.woocommerce-MyAccount-downloads th {
    background: #0f172a !important;
    color: #94a3b8 !important;
    border-bottom: 1px solid #334155 !important;
}

html.dark-theme table.woocommerce-table--order-details td,
html.dark-theme table.woocommerce-MyAccount-downloads td {
    color: #cbd5e1 !important;
    border-bottom: 1px solid #334155 !important;
}

/* 7. Support Tickets & Warranty/Returns */
html.dark-theme .dk-ticket-list-card,
html.dark-theme .dk-ticket-card,
html.dark-theme .dk-returns-card,
html.dark-theme .dk-warranty-request-card {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    border-radius: 16px !important;
    color: #cbd5e1 !important;
}

html.dark-theme .dk-ticket-item {
    background: #0f172a !important;
    border: 1px solid #334155 !important;
    color: #cbd5e1 !important;
}

html.dark-theme .dk-ticket-title {
    color: #f8fafc !important;
}

/* ==========================================================================
   PersianShop Delivery Location Modal - Complete Responsive & Scroll Engine
   ========================================================================== */

.ps-address-modal-overlay,
.dk-city-modal-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    background: rgba(0, 0, 0, 0.65) !important;
    backdrop-filter: blur(5px) !important;
    -webkit-backdrop-filter: blur(5px) !important;
    z-index: 999999 !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    padding: 20px 12px !important;
    box-sizing: border-box !important;
}

.ps-address-modal-overlay.active,
.dk-city-modal-overlay.active {
    display: flex !important;
}

.ps-address-modal-box,
.dk-city-modal-box {
    max-width: 620px !important;
    width: 100% !important;
    max-height: calc(100vh - 36px) !important;
    max-height: calc(100dvh - 36px) !important;
    border-radius: 18px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.28) !important;
    background: #ffffff !important;
    margin: auto !important;
    box-sizing: border-box !important;
    position: relative !important;
}

/* Pinned Header & Tabs */
.ps-address-modal-box .dk-modal-head,
.dk-city-modal-box .dk-modal-head {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 16px 20px !important;
    border-bottom: 1px solid #e2e8f0 !important;
    background: #ffffff !important;
    z-index: 10 !important;
}

.ps-address-modal-box .ps-modal-nav-tabs,
.dk-city-modal-box .ps-modal-nav-tabs {
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
    padding: 6px 14px 0 !important;
    gap: 8px !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    z-index: 9 !important;
}

/* Dedicated Scrollable Modal Body */
.ps-address-modal-box .dk-modal-body,
.dk-city-modal-box .dk-modal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch !important;
    overscroll-behavior: contain !important;
    padding: 16px 20px !important;
    scrollbar-width: thin !important;
    scrollbar-color: #cbd5e1 transparent !important;
    box-sizing: border-box !important;
}

.ps-address-modal-box .dk-modal-body::-webkit-scrollbar,
.dk-city-modal-box .dk-modal-body::-webkit-scrollbar {
    width: 6px !important;
}

.ps-address-modal-box .dk-modal-body::-webkit-scrollbar-thumb,
.dk-city-modal-box .dk-modal-body::-webkit-scrollbar-thumb {
    background: #cbd5e1 !important;
    border-radius: 99px !important;
}

.ps-address-modal-box .dk-modal-body::-webkit-scrollbar-track,
.dk-city-modal-box .dk-modal-body::-webkit-scrollbar-track {
    background: transparent !important;
}

/* Tab Panes */
.ps-modal-tab-pane {
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Saved Addresses List */
.ps-modal-addresses-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
    max-height: 240px !important;
    overflow-y: auto !important;
    padding: 4px 2px !important;
    scrollbar-width: thin !important;
    box-sizing: border-box !important;
}

/* Add New Address Form */
.ps-modal-add-form {
    width: 100% !important;
    box-sizing: border-box !important;
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    padding: 16px 18px !important;
    margin-top: 14px !important;
}

.ps-maf-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
    margin-bottom: 16px !important;
}

.ps-maf-field {
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    min-width: 0 !important;
}

.ps-maf-field.fullwidth {
    grid-column: span 2 !important;
}

.ps-maf-field input,
.ps-maf-field select,
.ps-maf-field textarea {
    width: 100% !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
}

.ps-maf-buttons {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    margin-top: 14px !important;
    padding-top: 12px !important;
    border-top: 1px dashed #e2e8f0 !important;
}

/* Responsive & Mobile Breakpoints */
@media (max-width: 580px) {
    .ps-maf-grid {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .ps-maf-field.fullwidth {
        grid-column: span 1 !important;
    }
    .ps-maf-buttons {
        flex-direction: column-reverse !important;
        gap: 8px !important;
    }
    .ps-btn-save-new-addr,
    .ps-btn-dismiss-new-addr {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

@media (max-width: 640px) {
    .ps-address-modal-overlay,
    .dk-city-modal-overlay {
        padding: 10px 8px !important;
    }
    .ps-address-modal-box,
    .dk-city-modal-box {
        width: 100% !important;
        max-width: 100% !important;
        max-height: calc(100vh - 16px) !important;
        max-height: calc(100dvh - 16px) !important;
        border-radius: 16px !important;
    }
    .ps-address-modal-box .dk-modal-head,
    .dk-city-modal-box .dk-modal-head {
        padding: 12px 14px !important;
    }
    .ps-modal-tab-btn {
        padding: 8px 12px !important;
        font-size: 12.5px !important;
    }
    .ps-address-modal-box .dk-modal-body,
    .dk-city-modal-box .dk-modal-body {
        padding: 12px 14px !important;
    }
    .ps-modal-add-form {
        padding: 12px !important;
        border-radius: 12px !important;
    }
}

/* Short Screen / Landscape Height */
@media (max-height: 650px) {
    .ps-address-modal-overlay,
    .dk-city-modal-overlay {
        padding: 6px !important;
    }
    .ps-address-modal-box,
    .dk-city-modal-box {
        max-height: calc(100vh - 12px) !important;
        max-height: calc(100dvh - 12px) !important;
        border-radius: 12px !important;
    }
    .ps-address-modal-box .dk-modal-head,
    .dk-city-modal-box .dk-modal-head {
        padding: 10px 14px !important;
    }
    .ps-modal-nav-tabs {
        padding: 2px 8px 0 !important;
    }
    .ps-modal-tab-btn {
        padding: 6px 10px !important;
        font-size: 11.5px !important;
    }
    .ps-address-modal-box .dk-modal-body,
    .dk-city-modal-box .dk-modal-body {
        padding: 10px 14px !important;
    }
    .ps-modal-addresses-list {
        max-height: 120px !important;
    }
    .ps-modal-add-form {
        padding: 10px 12px !important;
        margin-top: 8px !important;
    }
    .ps-maf-grid {
        gap: 8px !important;
        margin-bottom: 10px !important;
    }
    .ps-maf-field input,
    .ps-maf-field select,
    .ps-maf-field textarea {
        padding: 6px 10px !important;
        font-size: 12px !important;
    }
}

/* Dark Theme Comprehensive Overrides */
html.dark-theme .ps-address-modal-box,
html.dark-theme .dk-city-modal-box {
    background: #151b26 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.7) !important;
    color: #f8fafc !important;
}

html.dark-theme .ps-address-modal-box .dk-modal-head,
html.dark-theme .dk-city-modal-box .dk-modal-head {
    background: #151b26 !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

html.dark-theme .ps-address-modal-box .dk-modal-title,
html.dark-theme .dk-city-modal-box .dk-modal-title {
    color: #f8fafc !important;
}

html.dark-theme .ps-address-modal-box .dk-modal-close,
html.dark-theme .dk-city-modal-box .dk-modal-close {
    color: #94a3b8 !important;
}

html.dark-theme .ps-address-modal-box .dk-modal-close:hover,
html.dark-theme .dk-city-modal-box .dk-modal-close:hover {
    color: #f8fafc !important;
}

html.dark-theme .ps-modal-nav-tabs {
    background: #0f172a !important;
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

html.dark-theme .ps-modal-tab-btn {
    color: #94a3b8 !important;
}

html.dark-theme .ps-modal-tab-btn:hover {
    color: #ef394e !important;
}

html.dark-theme .ps-modal-tab-btn.active {
    background: #151b26 !important;
    color: #ef394e !important;
    border-bottom-color: #ef394e !important;
}

html.dark-theme .ps-address-modal-box .dk-modal-body,
html.dark-theme .dk-city-modal-box .dk-modal-body {
    scrollbar-color: #334155 transparent !important;
}

html.dark-theme .ps-address-modal-box .dk-modal-body::-webkit-scrollbar-thumb,
html.dark-theme .dk-city-modal-box .dk-modal-body::-webkit-scrollbar-thumb {
    background: #334155 !important;
}

html.dark-theme .ps-modal-addr-card {
    background: #1e293b !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
    color: #f8fafc !important;
}

html.dark-theme .ps-modal-addr-card:hover {
    border-color: rgba(255, 255, 255, 0.18) !important;
    background: #242f42 !important;
}

html.dark-theme .ps-modal-addr-card.is-active {
    background: rgba(239, 57, 78, 0.12) !important;
    border-color: #ef394e !important;
}

html.dark-theme .ps-mac-title {
    color: #f8fafc !important;
}

html.dark-theme .ps-mac-address {
    color: #cbd5e1 !important;
}

html.dark-theme .ps-mac-recipient {
    color: #94a3b8 !important;
}

html.dark-theme .ps-mac-recipient strong {
    color: #f8fafc !important;
}

html.dark-theme .ps-btn-show-add-address {
    background: rgba(239, 57, 78, 0.1) !important;
    border-color: rgba(239, 57, 78, 0.3) !important;
    color: #ff6b6b !important;
}

html.dark-theme .ps-btn-show-add-address:hover {
    background: #ef394e !important;
    color: #ffffff !important;
}

html.dark-theme .ps-modal-add-form {
    background: #0f172a !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

html.dark-theme .ps-maf-head {
    border-bottom-color: rgba(255, 255, 255, 0.08) !important;
}

html.dark-theme .ps-maf-head h4 {
    color: #f8fafc !important;
}

html.dark-theme .ps-maf-cancel-btn {
    color: #64748b !important;
}

html.dark-theme .ps-maf-cancel-btn:hover {
    color: #f8fafc !important;
}

html.dark-theme .ps-maf-field label {
    color: #cbd5e1 !important;
}

html.dark-theme .ps-maf-field input,
html.dark-theme .ps-maf-field select,
html.dark-theme .ps-maf-field textarea {
    background: #1e293b !important;
    border-color: #334155 !important;
    color: #f8fafc !important;
}

html.dark-theme .ps-maf-field input:focus,
html.dark-theme .ps-maf-field select:focus,
html.dark-theme .ps-maf-field textarea:focus {
    border-color: #ef394e !important;
    box-shadow: 0 0 0 3px rgba(239, 57, 78, 0.2) !important;
}

html.dark-theme .ps-checkbox-label {
    color: #cbd5e1 !important;
}

html.dark-theme .ps-maf-buttons {
    border-top-color: rgba(255, 255, 255, 0.08) !important;
}

html.dark-theme .ps-btn-dismiss-new-addr {
    background: #1e293b !important;
    color: #cbd5e1 !important;
    border: 1px solid #334155 !important;
}

html.dark-theme .ps-btn-dismiss-new-addr:hover {
    background: #334155 !important;
    color: #ffffff !important;
}

html.dark-theme .dk-city-modal-sync-notice {
    background: rgba(2, 132, 199, 0.12) !important;
    border-color: rgba(2, 132, 199, 0.3) !important;
    color: #7dd3fc !important;
}

/* ==========================================================================
   OpenStreetMap (OSM) Address Picker & Reverse Geocoding
   ========================================================================== */
.ps-osm-picker-wrap {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 14px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.ps-osm-header-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 10px;
    gap: 8px;
}

.ps-osm-title-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 700;
    color: #1e293b;
}

.ps-osm-title-badge svg {
    color: #ef394e;
    flex-shrink: 0;
}

.ps-osm-btn-locate {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    font-weight: 600;
    padding: 5px 12px;
    border-radius: 8px;
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
    white-space: nowrap;
    flex-shrink: 0;
}

.ps-osm-btn-locate:hover {
    background: #d1fae5;
    color: #047857;
    border-color: #6ee7b7;
}

.ps-osm-search-box {
    position: relative;
    margin-bottom: 10px;
}

.ps-osm-search-input-wrap {
    display: flex;
    align-items: center;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 0 10px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ps-osm-search-input-wrap:focus-within {
    border-color: #ef394e;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(239, 57, 78, 0.15);
}

.ps-osm-search-input-wrap svg {
    flex-shrink: 0;
    margin-left: 6px;
}

.ps-osm-search-input-wrap input,
.dk-edit-address-wrap .ps-osm-picker-wrap .ps-osm-search-input-wrap input.ps-osm-search-field,
.dk-edit-address-wrap .ps-osm-picker-wrap .ps-osm-search-input-wrap input.ps-osm-search-field:hover,
.dk-edit-address-wrap .ps-osm-picker-wrap .ps-osm-search-input-wrap input.ps-osm-search-field:focus {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    outline: none !important;
    background: transparent !important;
    background-color: transparent !important;
    font-size: 12px !important;
    padding: 7px 4px !important;
    color: #0f172a !important;
    box-shadow: none !important;
    font-family: inherit !important;
}

.ps-osm-search-clear {
    background: transparent;
    border: none;
    color: #94a3b8;
    font-size: 16px;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
}

.ps-osm-search-clear:hover {
    color: #0f172a;
}

.ps-osm-search-results {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    right: 0;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    max-height: 180px;
    overflow-y: auto;
}

.ps-osm-search-item {
    padding: 8px 12px;
    font-size: 12px;
    color: #334155;
    cursor: pointer;
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.15s ease;
    text-align: right;
    display: flex;
    align-items: center;
    gap: 6px;
}

.ps-osm-search-item:last-child {
    border-bottom: none;
}

.ps-osm-search-item:hover {
    background: #f8fafc;
    color: #ef394e;
}

.ps-osm-map-container {
    position: relative;
    width: 100%;
    height: 230px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #cbd5e1;
    background: #f1f5f9;
}

.ps-osm-map-canvas {
    width: 100%;
    height: 100%;
    z-index: 1;
}

.ps-osm-center-pin-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -100%);
    z-index: 500;
    pointer-events: none;
    transition: transform 0.2s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.ps-osm-map-container.is-dragging .ps-osm-center-pin-overlay {
    transform: translate(-50%, -115%) scale(1.08);
}

.ps-osm-center-marker {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.ps-osm-center-marker svg {
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.35));
}

.ps-osm-marker-shadow {
    width: 12px;
    height: 4px;
    background: rgba(0, 0, 0, 0.25);
    border-radius: 50%;
    filter: blur(1px);
    margin-top: -2px;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.ps-osm-map-container.is-dragging .ps-osm-marker-shadow {
    transform: scale(0.6);
    opacity: 0.15;
}

.ps-osm-hint-pill {
    position: absolute;
    bottom: 8px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(15, 23, 42, 0.78);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    color: #ffffff;
    font-size: 11px;
    padding: 4px 10px;
    border-radius: 20px;
    pointer-events: none;
    z-index: 500;
    white-space: nowrap;
}

.ps-osm-resolved-bar {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    padding: 8px 10px;
    margin-top: 10px;
    font-size: 12px;
    color: #166534;
}

.ps-osm-rb-icon {
    flex-shrink: 0;
    margin-top: 1px;
}

.ps-osm-rb-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.5;
}

.ps-osm-rb-label {
    font-size: 11px;
    color: #15803d;
}

.ps-osm-rb-text {
    font-weight: 600;
    color: #14532d;
    word-break: break-word;
}

.ps-osm-loading-bar {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #eff6ff;
    border: 1px solid #bfdbfe;
    border-radius: 8px;
    padding: 8px 10px;
    margin-top: 10px;
    font-size: 12px;
    color: #1e40af;
}

.ps-osm-spinner {
    width: 14px;
    height: 14px;
    border: 2px solid #93c5fd;
    border-top-color: #2563eb;
    border-radius: 50%;
    animation: psOsmSpin 0.7s linear infinite;
    flex-shrink: 0;
}

@keyframes psOsmSpin {
    to { transform: rotate(360deg); }
}

/* Empty Addresses State Card in My Account */
.ps-account-no-addresses-card {
    background: #ffffff;
    border: 2px dashed #cbd5e1;
    border-radius: 16px;
    padding: 36px 24px;
    text-align: center;
    margin-bottom: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.ps-anac-icon {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    background: #fef2f2;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 16px;
}

.ps-anac-title {
    font-size: 17px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 8px;
}

.ps-anac-desc {
    font-size: 13.5px;
    color: #64748b;
    max-width: 480px;
    line-height: 1.7;
    margin-bottom: 20px;
}

.ps-btn-hero-add-addr {
    padding: 10px 24px !important;
    font-size: 13.5px !important;
    box-shadow: 0 4px 14px rgba(239, 57, 78, 0.28) !important;
}

.ps-badge-map-addr {
    display: inline-flex;
    align-items: center;
    font-size: 10.5px;
    padding: 2px 7px;
    border-radius: 12px;
    background: #ecfdf5;
    color: #059669;
    border: 1px solid #a7f3d0;
    font-weight: 600;
}

/* Dark Mode Overrides for OSM & Empty Card */
html.dark-theme .ps-osm-picker-wrap {
    background: #1e293b !important;
    border-color: rgba(255, 255, 255, 0.08) !important;
}

html.dark-theme .ps-osm-title-badge {
    color: #f8fafc !important;
}

html.dark-theme .ps-osm-btn-locate {
    background: rgba(16, 185, 129, 0.15) !important;
    border-color: rgba(16, 185, 129, 0.35) !important;
    color: #34d399 !important;
}

html.dark-theme .ps-osm-btn-locate:hover {
    background: rgba(16, 185, 129, 0.25) !important;
}

html.dark-theme .ps-osm-search-input-wrap {
    background: #0f172a !important;
    border-color: #334155 !important;
}

html.dark-theme .ps-osm-search-input-wrap input,
html.dark-theme .dk-edit-address-wrap .ps-osm-picker-wrap .ps-osm-search-input-wrap input.ps-osm-search-field,
html.dark-theme .dk-edit-address-wrap .ps-osm-picker-wrap .ps-osm-search-input-wrap input.ps-osm-search-field:hover,
html.dark-theme .dk-edit-address-wrap .ps-osm-picker-wrap .ps-osm-search-input-wrap input.ps-osm-search-field:focus {
    color: #f8fafc !important;
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

html.dark-theme .ps-osm-search-results {
    background: #1e293b !important;
    border-color: #334155 !important;
}

html.dark-theme .ps-osm-search-item {
    color: #cbd5e1 !important;
    border-bottom-color: #334155 !important;
}

html.dark-theme .ps-osm-search-item:hover {
    background: #0f172a !important;
    color: #f87171 !important;
}

html.dark-theme .ps-osm-map-container {
    border-color: #334155 !important;
    background: #0f172a !important;
}

html.dark-theme .ps-osm-resolved-bar {
    background: rgba(34, 197, 94, 0.12) !important;
    border-color: rgba(34, 197, 94, 0.3) !important;
    color: #86efac !important;
}

html.dark-theme .ps-osm-rb-label {
    color: #4ade80 !important;
}

html.dark-theme .ps-osm-rb-text {
    color: #bbf7d0 !important;
}

html.dark-theme .ps-osm-loading-bar {
    background: rgba(59, 130, 246, 0.12) !important;
    border-color: rgba(59, 130, 246, 0.3) !important;
    color: #93c5fd !important;
}

html.dark-theme .ps-account-no-addresses-card {
    background: #1e293b !important;
    border-color: #334155 !important;
}

html.dark-theme .ps-anac-icon {
    background: rgba(239, 57, 78, 0.15) !important;
}

html.dark-theme .ps-anac-title {
    color: #f8fafc !important;
}

html.dark-theme .ps-anac-desc {
    color: #94a3b8 !important;
}

html.dark-theme .ps-badge-map-addr {
    background: rgba(16, 185, 129, 0.15) !important;
    border-color: rgba(16, 185, 129, 0.3) !important;
    color: #34d399 !important;
}

/* ==========================================================================
   WooCommerce Billing & Shipping Profile Cards + Inline OSM Edit Form & Modal
   ========================================================================== */
.ps-wc-profile-card .dk-address-card-header {
    gap: 10px;
}

.ps-wc-profile-card .dk-address-card-title {
    flex-wrap: wrap;
    gap: 6px;
}

.ps-wc-card-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: nowrap;
    flex-shrink: 0;
}

.ps-btn-wc-pick-map {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 11.5px;
    font-weight: 700;
    color: #ef394e;
    background: #fff1f2;
    border: 1px solid #fecdd3;
    border-radius: 8px;
    padding: 5px 10px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.2s ease;
    font-family: inherit;
}

.ps-wc-profile-card .dk-btn-edit-addr {
    white-space: nowrap;
    font-size: 11.5px;
    padding: 5px 10px;
}

.ps-btn-wc-pick-map:hover {
    background: #ef394e;
    color: #ffffff;
    border-color: #ef394e;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(239, 57, 78, 0.22);
}

.ps-wc-empty-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 12px;
}

button.dk-btn-add-addr.ps-btn-wc-pick-map-empty {
    background: #ef394e !important;
    color: #ffffff !important;
    border: none !important;
    cursor: pointer !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-family: inherit !important;
}

button.dk-btn-add-addr.ps-btn-wc-pick-map-empty:hover {
    background: #d82e42 !important;
    box-shadow: 0 4px 12px rgba(239, 57, 78, 0.28) !important;
}

a.dk-btn-add-addr.dk-btn-add-addr-secondary {
    background: #f8fafc !important;
    color: #334155 !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: none !important;
}

a.dk-btn-add-addr.dk-btn-add-addr-secondary:hover {
    background: #f1f5f9 !important;
    color: #0f172a !important;
    border-color: #94a3b8 !important;
}

/* Inline OSM Widget inside Edit Billing / Shipping Page */
.dk-edit-address-wrap .ps-osm-widget-instance {
    margin-bottom: 24px;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    padding: 16px;
    background: #f8fafc;
}

.dk-edit-address-wrap .ps-osm-map-container {
    height: 290px;
}

.ps-osm-highlight-flash {
    animation: psOsmHighlight 1.6s ease;
}

@keyframes psOsmHighlight {
    0% { box-shadow: 0 0 0 0 rgba(239, 57, 78, 0.45); border-color: #ef394e; }
    50% { box-shadow: 0 0 0 6px rgba(239, 57, 78, 0.15); border-color: #ef394e; }
    100% { box-shadow: none; }
}

.ps-osm-btn-apply-fields {
    flex-shrink: 0;
    background: #16a34a;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 11.5px;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
    transition: all 0.2s ease;
}

.ps-osm-btn-apply-fields:hover {
    background: #15803d;
    transform: translateY(-1px);
}

/* Responsive WooCommerce Profile Map Modal (My Account) */
.ps-wc-map-modal-box {
    max-width: 680px !important;
    width: 95% !important;
    max-height: 92vh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
}

.ps-wc-pm-body {
    overflow-y: auto !important;
    max-height: calc(92vh - 64px) !important;
    padding: 16px 20px 22px 20px !important;
    -webkit-overflow-scrolling: touch;
}

.ps-wc-pm-body::-webkit-scrollbar {
    width: 6px;
}

.ps-wc-pm-body::-webkit-scrollbar-thumb {
    background: #cbd5e1;
    border-radius: 10px;
}

.ps-wc-pm-body .ps-maf-grid {
    margin-top: 14px;
    margin-bottom: 14px;
}

.ps-wc-pm-body .ps-maf-buttons {
    margin-top: 6px;
}

/* Checkout OSM Picker Bar */
.ps-btn-co-toggle-map {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12.5px;
    font-weight: 700;
    color: #ef394e;
    background: #fff1f2;
    border: 1.5px solid #fecdd3;
    border-radius: 10px;
    padding: 7px 14px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
}

.ps-btn-co-toggle-map:hover {
    background: #ef394e;
    color: #ffffff;
    border-color: #ef394e;
}

.ps-co-osm-wrapper {
    background: #f8fafc;
    border: 1.5px solid #e2e8f0;
    border-radius: 14px;
    padding: 14px;
}

.ps-co-osm-target-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 12px;
    padding: 8px 12px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    font-size: 12.5px;
}

.ps-co-osm-target-label {
    font-weight: 700;
    color: #334155;
}

.ps-co-osm-target-opt {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    cursor: pointer;
    color: #1e293b;
    font-weight: 600;
}

.ps-co-osm-target-opt input[type="radio"] {
    accent-color: #ef394e;
}

/* Responsive Adjustments */
@media (max-width: 640px) {
    .dk-address-card-header {
        flex-direction: column;
        align-items: flex-start !important;
        gap: 10px;
    }
    .ps-wc-card-actions {
        width: 100%;
    }
    .dk-edit-address-wrap .ps-osm-map-container {
        height: 220px;
    }
    .ps-osm-resolved-bar {
        flex-wrap: wrap;
    }
    .ps-osm-btn-apply-fields {
        width: 100%;
        text-align: center;
        margin-top: 6px;
    }
}

/* Dark Mode Overrides for WC Map Profile Components */
html.dark-theme .ps-btn-wc-pick-map,
html.dark-theme .ps-btn-co-toggle-map {
    background: rgba(239, 57, 78, 0.14) !important;
    border-color: rgba(239, 57, 78, 0.35) !important;
    color: #fda4af !important;
}

html.dark-theme .ps-btn-wc-pick-map:hover,
html.dark-theme .ps-btn-co-toggle-map:hover {
    background: #ef394e !important;
    border-color: #ef394e !important;
    color: #ffffff !important;
}

html.dark-theme a.dk-btn-add-addr.dk-btn-add-addr-secondary {
    background: #1e293b !important;
    color: #e2e8f0 !important;
    border-color: #334155 !important;
}

html.dark-theme a.dk-btn-add-addr.dk-btn-add-addr-secondary:hover {
    background: #334155 !important;
    color: #ffffff !important;
}

html.dark-theme .dk-edit-address-wrap .ps-osm-widget-instance,
html.dark-theme .ps-co-osm-wrapper {
    background: #0f172a !important;
    border-color: #334155 !important;
}

html.dark-theme .ps-co-osm-target-bar {
    background: #1e293b !important;
    border-color: #334155 !important;
}

html.dark-theme .ps-co-osm-target-label,
html.dark-theme .ps-co-osm-target-opt {
    color: #f1f5f9 !important;
}