*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0
}

:root {
	--green: #5c9b2e;
	--green-dark: #4a7d22;
	--green-light: #e8f4e0;
	--green-badge: #4c9020;
	--price-green: #5c9b2e;
	--text-main: #222;
	--text-muted: #666;
	--text-light: #999;
	--border: #e0e0e0;
	--bg-page: #f4f4f4;
	--bg-white: #fff;
	--radius: 6px;
	--sidebar-w: 260px;
}

body {
	font-family: 'Lato', sans-serif;
	background: var(--bg-page);
	color: var(--text-main)
}

.dress-shop-wrapper {
	display: flex;
	max-width: 1280px;
	margin: 0 auto;
	padding: 20px 16px;
	gap: 24px;
	align-items: flex-start
}

/* SIDEBAR */
.dress-sidebar {
	width: var(--sidebar-w);
	flex-shrink: 0;
	background: var(--bg-white);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 20px 16px
}

.dress-sidebar-section {
	margin-bottom: 24px
}

.dress-sidebar-section:last-child {
	margin-bottom: 0
}

.dress-sidebar-title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 14px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--border)
}

.dress-price-slider {
	width: 100%;
	accent-color: var(--green);
	cursor: pointer;
	margin-bottom: 10px
}

.dress-price-label {
	font-size: 13px;
	color: var(--text-muted)
}

.dress-btn-filter {
	display: block;
	width: 100%;
	margin-top: 10px;
	background: var(--green);
	color: #fff;
	border: none;
	border-radius: var(--radius);
	padding: 7px 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	cursor: pointer;
	text-transform: uppercase
}

/* FIX 1 */
.dress-btn-filter:hover {
	background: var(--green-dark);
	color: #fff !important
}

.dress-tags-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 6px
}

.dress-tag {
	border: 1px solid var(--border);
	border-radius: 3px;
	padding: 4px 10px;
	font-size: 12px;
	color: var(--text-muted);
	cursor: pointer
}

.dress-tag:hover,
.dress-tag.dress-active {
	border-color: var(--green);
	color: var(--green);
	background: var(--green-light)
}

.dress-size-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 6px 0;
	font-size: 13px;
	color: var(--text-muted);
	border-bottom: 1px solid #f0f0f0;
	cursor: pointer
}

.dress-size-row:last-child {
	border-bottom: none
}

.dress-size-row:hover {
	color: var(--green)
}

.dress-size-badge {
	background: #f0f0f0;
	border-radius: 3px;
	padding: 2px 7px;
	font-size: 11px;
	font-weight: 700
}

.dress-sort-list {
	list-style: none
}

.dress-sort-list li {
	padding: 6px 0;
	font-size: 13px;
	color: var(--text-muted);
	cursor: pointer;
	border-bottom: 1px solid #f8f8f8
}

.dress-sort-list li:last-child {
	border-bottom: none
}

.dress-sort-list li:hover {
	color: var(--green)
}

.dress-sort-list li.dress-active {
	color: var(--text-main);
	font-weight: 700
}

.dress-stock-row {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 5px 0;
	font-size: 13px;
	color: var(--text-muted);
	cursor: pointer
}

.dress-stock-row input {
	accent-color: var(--green);
	width: 14px;
	height: 14px;
	cursor: pointer
}

.dress-top-rated-item {
	display: flex;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f0;
	cursor: pointer
}

.dress-top-rated-item:last-child {
	border-bottom: none
}

.dress-top-rated-thumb {
	width: 48px;
	height: 48px;
	border-radius: 4px;
	background: #eee;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px
}

.dress-top-rated-name {
	font-size: 12px;
	line-height: 1.4;
	margin-bottom: 3px
}

.dress-stars {
	color: #f5a623;
	font-size: 12px;
	margin-bottom: 3px
}

.dress-top-rated-price {
	font-size: 12px;
	color: var(--green);
	font-weight: 700
}

.dress-top-rated-price s {
	color: var(--text-light);
	font-weight: 400;
	margin-right: 3px
}

.dress-main-content {
	flex: 1;
	min-width: 0
}

/* BREADCRUMB */
.dress-breadcrumb {
	font-size: 13px;
	color: var(--text-muted);
	margin-bottom: 12px;
	padding: 0 2px
}

.dress-breadcrumb a {
	color: var(--text-muted);
	text-decoration: none
}

.dress-breadcrumb a:hover {
	color: var(--green)
}

.dress-breadcrumb span.dress-sep {
	margin: 0 5px
}

.dress-breadcrumb .dress-current {
	color: var(--text-main);
	font-weight: 700
}

/* TOOLBAR */
.dress-shop-toolbar {
	background: var(--bg-white);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 10px 16px;
	margin-bottom: 12px;
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap
}

.dress-toolbar-left {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 1
}

.dress-toolbar-right {
	display: flex;
	align-items: center;
	gap: 10px
}

.dress-mobile-filter-btn {
	display: none;
	align-items: center;
	gap: 6px;
	background: var(--green);
	color: #fff;
	border: none;
	border-radius: var(--radius);
	padding: 7px 14px;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	white-space: nowrap
}

/* FIX 1 */
.dress-mobile-filter-btn:hover {
	background: var(--green-dark);
	color: #fff !important
}

.dress-show-count {
	font-size: 13px;
	color: var(--text-muted);
	white-space: nowrap
}

.dress-show-link {
	font-size: 13px;
	color: var(--text-muted);
	padding: 2px 4px;
	cursor: pointer;
	text-decoration: none
}

.dress-show-link.dress-active,
.dress-show-link:hover {
	color: var(--green);
	font-weight: 700
}

.dress-view-btns {
	display: flex;
	align-items: center;
	gap: 4px
}

.dress-view-btn {
	width: 32px;
	height: 32px;
	border: 1px solid var(--border);
	border-radius: 4px;
	background: var(--bg-white);
	cursor: pointer;
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: var(--text-muted);
	font-size: 16px;
	transition: all .15s;
	padding: 0;
	line-height: 1;
	visibility: visible !important;
	opacity: 1 !important
}

.dress-view-btn svg {
	display: block !important;
	width: 16px;
	height: 16px;
	fill: currentColor;
	visibility: visible !important;
	opacity: 1 !important
}

/* FIX 1 */
.dress-view-btn:hover,
.dress-view-btn.dress-active {
	background: var(--green);
	color: #fff !important;
	border-color: var(--green)
}

.dress-view-btn.dress-active svg {
	fill: #fff
}

.dress-sort-select {
	border: 1px solid var(--border);
	border-radius: var(--radius);
	padding: 6px 10px;
	font-size: 13px;
	background: var(--bg-white);
	cursor: pointer;
	outline: none
}

.dress-sort-select:focus {
	border-color: var(--green)
}

.dress-sort-icon-btn {
	display: none;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	background: var(--bg-white);
	cursor: pointer;
	color: var(--text-muted);
	position: relative
}

.dress-sort-icon-btn:hover {
	border-color: var(--green);
	color: var(--green)
}

.dress-sort-dropdown {
	display: none;
	position: absolute;
	top: 42px;
	right: 0;
	background: var(--bg-white);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	min-width: 200px;
	z-index: 200;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .12)
}

.dress-sort-dropdown.dress-show {
	display: block
}

.dress-sort-dropdown li {
	list-style: none;
	padding: 10px 14px;
	font-size: 13px;
	color: var(--text-muted);
	cursor: pointer;
	border-bottom: 1px solid #f5f5f5
}

.dress-sort-dropdown li:last-child {
	border-bottom: none
}

.dress-sort-dropdown li:hover,
.dress-sort-dropdown li.dress-active {
	color: var(--green);
	background: var(--green-light)
}

.dress-sort-dropdown li.dress-active::before {
	content: "✓ ";
	font-weight: 700
}

/* PRODUCT GRID */
.dress-product-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px
}

.dress-product-grid.dress-view-2 {
	grid-template-columns: repeat(2, 1fr)
}

.dress-product-grid.dress-view-4 {
	grid-template-columns: repeat(4, 1fr)
}

.dress-product-grid.dress-view-list {
	grid-template-columns: 1fr
}

.dress-product-grid.dress-view-list .dress-product-card {
	display: flex;
	flex-direction: row;
	transform: none !important
}

.dress-product-grid.dress-view-list .dress-product-card:hover {
	box-shadow: 0 4px 18px rgba(0, 0, 0, .1);
	transform: none
}

.dress-product-grid.dress-view-list .dress-card-img-wrap {
	width: 260px;
	min-width: 260px;
	aspect-ratio: unset;
	height: 260px
}

.dress-product-grid.dress-view-list .dress-card-body {
	flex: 1;
	padding: 18px 20px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start
}

.dress-product-grid.dress-view-list .dress-card-title {
	font-size: 17px;
	min-height: unset;
	margin-bottom: 6px
}

.dress-product-grid.dress-view-list .dress-card-category {
	font-size: 13px;
	margin-bottom: 8px
}

.dress-product-grid.dress-view-list .dress-card-price {
	margin-bottom: 10px
}

.dress-product-grid.dress-view-list .dress-price-sale {
	font-size: 18px
}

.dress-product-grid.dress-view-list .dress-card-specs {
	display: block
}

.dress-product-grid.dress-view-list .dress-card-warning {
	display: block
}

.dress-product-grid.dress-view-list .dress-btn-cart,
.dress-product-grid.dress-view-list .dress-btn-select {
	width: auto;
	display: inline-block;
	padding: 10px 18px;
	margin-top: auto
}

.dress-card-specs {
	display: none;
	font-size: 13px;
	color: var(--text-muted);
	margin-bottom: 10px;
	line-height: 1.9
}

.dress-card-specs span {
	color: var(--text-main);
	font-weight: 700
}

.dress-card-warning {
	display: none;
	font-size: 13px;
	color: #c0392b;
	margin-bottom: 14px;
	line-height: 1.7;
	font-weight: 400
}

/* PRODUCT CARD */
.dress-card-img-wrap {
	position: relative;
	background: #eef5ee;
	aspect-ratio: 1/1;
	overflow: hidden
}

.dress-dhoti-ph {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 52px;
	transition: transform .3s
}

.dress-product-card:hover .dress-dhoti-ph {
	transform: scale(1.04)
}

.dress-card-actions {
	position: absolute;
	top: 10px;
	right: 10px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	opacity: 0;
	transform: translateX(8px);
	transition: opacity .2s, transform .2s;
	z-index: 2
}

.dress-product-card:hover .dress-card-actions {
	opacity: 1;
	transform: translateX(0)
}

.dress-card-action-btn {
	width: 36px;
	height: 36px;
	background: #fff;
	border: 1px solid var(--border);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 15px;
	color: var(--text-muted);
	box-shadow: 0 2px 6px rgba(0, 0, 0, .12);
	padding: 0;
	line-height: 1;
	aspect-ratio: 1/1
}

/* FIX 1 */
.dress-card-action-btn:hover {
	background: var(--green);
	color: #fff !important;
	border-color: var(--green)
}

@media(max-width:900px) {
	.dress-card-actions {
		display: none !important
	}
}

.dress-product-card {
	background: var(--bg-white);
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	position: relative;
	transition: box-shadow .2s, transform .2s
}

.dress-product-card:hover {
	box-shadow: 0 4px 18px rgba(0, 0, 0, .1);
	transform: translateY(-2px)
}

.dress-discount-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	background: var(--green-badge);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2
}

.dress-card-body {
	padding: 12px
}

.dress-card-category {
	font-size: 11px;
	color: var(--text-light);
	margin-bottom: 4px
}

.dress-card-title {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	margin-bottom: 6px;
	min-height: 36px
}

.dress-card-price {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 10px
}

.dress-price-original {
	font-size: 12px;
	color: var(--text-light);
	text-decoration: line-through
}

.dress-price-sale {
	font-size: 15px;
	font-weight: 700;
	color: var(--price-green)
}

.dress-btn-cart {
	display: block;
	width: 100%;
	background: var(--green);
	color: #fff;
	border: none;
	border-radius: var(--radius);
	padding: 10px 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s
}

/* FIX 1 */
.dress-btn-cart:hover {
	background: var(--green-dark);
	color: #fff !important
}

.dress-btn-cart.dress-added {
	background: #27ae60 !important;
	pointer-events: none
}

.dress-btn-select {
	display: block;
	width: 100%;
	background: #fff;
	color: var(--green);
	border: 2px solid var(--green);
	border-radius: var(--radius);
	padding: 9px 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: all .2s
}

/* FIX 1 */
.dress-btn-select:hover {
	background: var(--green);
	color: #fff !important;
	border-color: var(--green)
}

/* SIZE POPUP */
.dress-size-popup {
	display: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	aspect-ratio: 1/1;
	background: rgba(255, 255, 255, .96);
	z-index: 50;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0
}

.dress-size-popup.dress-show {
	display: flex
}

.dress-sp-close {
	position: absolute;
	top: 10px;
	right: 12px;
	background: none;
	border: none;
	font-size: 13px;
	font-weight: 700;
	color: #555;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 3px;
	padding: 4px 8px;
	border-radius: 4px
}

.dress-sp-close:hover {
	background: #f0f0f0
}

.dress-sp-label {
	font-size: 16px;
	font-weight: 600;
	color: var(--text-main);
	margin-bottom: 16px
}

.dress-sp-sizes {
	display: flex;
	gap: 10px;
	margin-bottom: 18px
}

.dress-sp-size {
	border: 1px solid var(--border);
	background: #fff;
	border-radius: var(--radius);
	padding: 8px 22px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	color: var(--text-main);
	transition: all .15s
}

/* FIX 1 */
.dress-sp-size:hover {
	border-color: var(--green);
	color: #fff !important;
	background: var(--green)
}

.dress-sp-size.dress-on {
	background: var(--green);
	color: #fff;
	border-color: var(--green)
}

.dress-sp-add {
	width: 80%;
	background: var(--green);
	color: #fff;
	border: none;
	border-radius: var(--radius);
	padding: 10px 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
	transition: background .2s;
	display: block;
	margin: 0 auto;
	text-align: center
}

/* FIX 1 */
.dress-sp-add:hover {
	background: var(--green-dark);
	color: #fff !important
}

/* QUICK VIEW MODAL */
.dress-qv-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .55);
	z-index: 9999;
	align-items: center;
	justify-content: center;
	padding: 16px
}

.dress-qv-overlay.dress-show {
	display: flex
}

.dress-qv-modal {
	background: #fff;
	border-radius: 12px;
	width: 100%;
	max-width: 820px;
	height: auto;
	max-height: 430px;
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	animation: dressMdlPop .22s ease
}

@keyframes dressMdlPop {
	0% {
		opacity: 0;
		transform: scale(.93)
	}

	100% {
		opacity: 1;
		transform: scale(1)
	}
}

.dress-qv-close {
	position: absolute;
	top: 8px;
	right: 10px;
	background: none;
	border: none;
	font-size: 22px;
	cursor: pointer;
	color: var(--text-muted);
	z-index: 20;
	line-height: 1
}

.dress-qv-close:hover {
	color: var(--text-main)
}

.dress-qv-body {
	display: flex;
	gap: 16px;
	flex: 1;
	min-height: 0;
	overflow: hidden;
	padding: 16px
}

.dress-qv-img-side {
	width: 42%;
	flex-shrink: 0;
	position: relative;
	background: #eef7f0;
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column
}

.dress-qv-carousel-wrap {
	flex: 1;
	position: relative;
	overflow: hidden
}

.dress-qv-carousel {
	width: 100%;
	height: 100%;
	display: flex;
	transition: transform .38s ease;
	will-change: transform
}

.dress-qv-slide {
	min-width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 64px;
	flex-shrink: 0;
	background: #fff;
	overflow: hidden
}

.dress-qv-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block
}

.dress-qv-img-ctrl {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity .2s;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	pointer-events: none
}

.dress-qv-img-side:hover .dress-qv-img-ctrl {
	opacity: 1;
	pointer-events: all
}

.dress-qv-carr-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0 8px;
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%)
}

.dress-qv-carr-btn {
	width: 42px;
	height: 42px;
	background: #fff;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	font-weight: 700;
	color: #333;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
	padding: 0
}

/* FIX 1 */
.dress-qv-carr-btn:hover {
	background: var(--green);
	color: #fff !important
}

.dress-qv-carr-dots {
	display: none !important
}

.dress-qv-dot {
	display: none
}

.dress-qv-view-details {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;

    background: var(--green);
    color: #fff;
    border: none;
    border-radius: 0;

    padding: 16px 0;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    text-align: center !important;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;

    margin: 0;
}

/* FIX 1 */
.dress-qv-view-details:hover {
	background: var(--green-dark);
	color: #fff !important
}

.dress-qv-discount {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--green-badge);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 5
}

.dress-qv-info-side {
	flex: 1;
	padding: 8px 10px 8px 6px;
	overflow-y: auto;
	max-height: 90vh
}

.dress-qv-category {
	font-size: 12px;
	color: var(--text-light);
	margin-bottom: 6px
}

.dress-qv-title {
	font-size: 20px;
	font-weight: 700;
	color: var(--text-main);
	line-height: 1.3;
	margin-bottom: 10px
}

.dress-qv-price {
	font-size: 20px;
	font-weight: 700;
	color: var(--price-green);
	margin-bottom: 12px
}

.dress-qv-price s {
	font-size: 14px;
	color: var(--text-light);
	font-weight: 400;
	margin-right: 6px
}

.dress-qv-warning {
	font-size: 13px;
	color: #c0392b;
	line-height: 1.7;
	margin-bottom: 12px
}

.dress-qv-spec {
	font-size: 13px;
	color: var(--text-muted);
	margin-bottom: 5px
}

.dress-qv-spec strong {
	color: var(--text-main)
}

.dress-qv-divider {
	border: none;
	border-top: 1px solid var(--border);
	margin: 12px 0
}

.dress-qv-size-label {
	font-size: 14px;
	font-weight: 700;
	color: var(--text-main);
	margin-bottom: 8px
}

.dress-qv-sizes {
	display: flex;
	gap: 8px;
	margin-bottom: 16px;
	flex-wrap: wrap
}

.dress-qv-size-btn {
	border: 1px solid var(--border);
	background: #fff;
	border-radius: var(--radius);
	padding: 7px 20px;
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	color: var(--text-main);
	transition: all .15s
}

/* FIX 1 */
.dress-qv-size-btn:hover {
	border-color: var(--green);
	color: #fff !important;
	background: var(--green)
}

.dress-qv-size-btn.dress-on {
	background: var(--green);
	color: #fff;
	border-color: var(--green)
}

/* ── FIX 2 & 3: Qty box — proper background, layout, visible value ── */
.dress-qv-qty-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 16px;
	flex-wrap: wrap
}

.dress-qv-qty {
	display: flex;
	align-items: center;
	border: 1px solid var(--border);
	border-radius: var(--radius);
	overflow: hidden;
	height: 42px;
	background: #fff
}

.dress-qv-qty button {
	width: 42px;
	height: 42px;
	border: none;
	background: #f0f0f0;
	font-size: 22px;
	font-weight: 400;
	cursor: pointer;
	color: var(--text-main);
	transition: background .15s, color .15s;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	line-height: 1;
	padding: 0;
	user-select: none
}

/* FIX 1 & 2 */
.dress-qv-qty button:hover {
	background: var(--green);
	color: #fff !important
}

.dress-qv-qty input {
	/* FIX 3 — value visibility */
	width: 52px;
	height: 42px;
	border: none;
	border-left: 1px solid var(--border);
	border-right: 1px solid var(--border);
	text-align: center;
	font-size: 15px;
	font-weight: 700;
	outline: none;
	color: var(--text-main);
	background: #fff;
	-moz-appearance: textfield;
	appearance: textfield;
	display: block;
	padding: 0;
	line-height: 42px
}

.dress-qv-qty input::-webkit-inner-spin-button,
.dress-qv-qty input::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0
}

.dress-qv-add-btn {
	background: var(--green);
	color: #fff;
	border: none;
	border-radius: var(--radius);
	padding: 10px 24px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	cursor: pointer;
	height: 42px;
	transition: background .2s
}

/* FIX 1 */
.dress-qv-add-btn:hover {
	background: var(--green-dark);
	color: #fff !important
}

.dress-qv-razorpay {
	border: 1px solid #d0e8f7;
	border-radius: 8px;
	padding: 12px 14px;
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 14px;
	background: #f7fbff
}

.dress-qv-rp-brand {
	font-size: 15px;
	font-weight: 700;
	color: #0077b5
}

.dress-qv-rp-brand span {
	display: block;
	font-size: 11px;
	color: #555;
	font-weight: 400
}

.dress-qv-rp-features {
	display: flex;
	flex-direction: column;
	gap: 4px
}

.dress-qv-rp-feat {
	font-size: 12px;
	color: var(--text-muted);
	display: flex;
	align-items: center;
	gap: 6px
}

.dress-qv-rp-feat::before {
	content: "🛡";
	font-size: 11px
}

.dress-qv-rp-feat strong {
	color: var(--text-main)
}

.dress-qv-meta {
	font-size: 12px;
	color: var(--text-muted);
	margin-bottom: 4px;
	line-height: 1.7
}

.dress-qv-meta strong {
	color: var(--text-main)
}

.dress-qv-share {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
	font-size: 12px;
	color: var(--text-muted)
}

.dress-qv-share a {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	text-decoration: none;
	transition: opacity .15s
}

.dress-qv-share a:hover {
	opacity: .8
}

@media(max-width:700px) {
	.dress-qv-modal {
		height: auto;
		max-height: 92vh
	}

	.dress-qv-body {
		flex-direction: column;
		overflow-y: auto
	}

	.dress-qv-img-side {
		width: 100%;
		border-radius: 10px 10px 0 0;
		min-height: 280px
	}

	.dress-qv-carousel-wrap {
		min-height: 280px
	}

	.dress-qv-info-side {
		padding: 16px;
		max-height: unset;
		overflow-y: unset
	}

	.dress-qv-title {
		font-size: 15px
	}
}

/* CART MODAL */
.dress-cart-modal-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, .55);
	z-index: 9999;
	align-items: center;
	justify-content: center;
	padding: 16px
}

.dress-cart-modal-overlay.dress-show {
	display: flex
}

.dress-cart-modal {
	background: #fff;
	border-radius: 12px;
	width: 100%;
	max-width: 380px;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
	animation: dressCartPop .22s ease
}

@keyframes dressCartPop {
	0% {
		opacity: 0;
		transform: scale(.9)
	}

	100% {
		opacity: 1;
		transform: scale(1)
	}
}

.dress-cm-header {
	background: var(--green);
	padding: 14px 18px;
	display: flex;
	align-items: center;
	justify-content: space-between
}

.dress-cm-header-title {
	display: flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-size: 15px;
	font-weight: 700
}

.dress-cm-check {
	width: 28px;
	height: 28px;
	background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	color: var(--green);
	flex-shrink: 0
}

.dress-cm-close-btn {
	background: none;
	border: none;
	color: rgba(255, 255, 255, .8);
	font-size: 24px;
	cursor: pointer;
	line-height: 1;
	padding: 0
}

/* FIX 1 */
.dress-cm-close-btn:hover {
	color: #fff !important
}

.dress-cm-body {
	padding: 20px 18px
}

.dress-cm-product-row {
	display: flex;
	gap: 14px;
	align-items: center;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--border);
	margin-bottom: 16px
}

.dress-cm-img {
	width: 80px;
	height: 80px;
	border-radius: 8px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 40px
}

.dress-cm-info {
	flex: 1
}

.dress-cm-name {
	font-size: 14px;
	font-weight: 700;
	color: var(--text-main);
	line-height: 1.4;
	margin-bottom: 5px
}

.dress-cm-meta {
	font-size: 12px;
	color: var(--text-muted);
	margin-bottom: 5px
}

.dress-cm-price {
	font-size: 16px;
	font-weight: 700;
	color: var(--price-green)
}

.dress-cm-actions {
	display: flex;
	gap: 10px
}

.dress-cm-btn-continue {
	flex: 1;
	background: #fff;
	color: var(--green);
	border: 2px solid var(--green);
	border-radius: var(--radius);
	padding: 7px 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center
}

/* FIX 1 */
.dress-cm-btn-continue:hover {
	background: var(--green);
	color: #fff !important;
	border-color: var(--green)
}

.dress-cm-btn-cart {
	flex: 1;
	background: var(--green);
	color: #fff;
	border: none;
	border-radius: var(--radius);
	padding: 7px 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .5px;
	text-transform: uppercase;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px
}

/* FIX 1 */
.dress-cm-btn-cart:hover {
	background: var(--green-dark);
	color: #fff !important
}

/* MOBILE DRAWER */
.dress-mob-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, .5);
	z-index: 900
}

.dress-mob-overlay.dress-on {
	display: block
}

.dress-filter-drawer {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: 300px;
	background: #fff;
	z-index: 950;
	overflow-y: auto;
	padding: 20px 16px;
	transform: translateX(-100%);
	transition: transform .3s
}

.dress-filter-drawer.dress-on {
	transform: translateX(0)
}

.dress-drawer-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border)
}

.dress-drawer-close {
	background: none;
	border: none;
	font-size: 22px;
	cursor: pointer;
	color: var(--text-muted)
}

/* FIX 1 */
.dress-drawer-close:hover {
	color: var(--text-main) !important
}

/* RESPONSIVE */
@media(max-width:900px) {
	.dress-sidebar {
		display: none
	}

	.dress-product-grid,
	.dress-product-grid.dress-view-2,
	.dress-product-grid.dress-view-3,
	.dress-product-grid.dress-view-4 {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important
	}

	.dress-product-grid.dress-view-list {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 12px !important
	}

	.dress-product-grid.dress-view-list .dress-product-card {
		flex-direction: column !important
	}

	.dress-product-grid.dress-view-list .dress-card-img-wrap {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 1/1 !important
	}

	.dress-product-grid.dress-view-list .dress-card-body {
		padding: 10px !important
	}

	.dress-product-grid.dress-view-list .dress-card-title {
		font-size: 12px !important;
		min-height: unset !important
	}

	.dress-product-grid.dress-view-list .dress-card-specs,
	.dress-product-grid.dress-view-list .dress-card-warning {
		display: none !important
	}

	.dress-product-grid.dress-view-list .dress-btn-cart,
	.dress-product-grid.dress-view-list .dress-btn-select {
		width: 100% !important;
		display: block !important
	}

	.dress-mobile-filter-btn {
		display: flex
	}

	.dress-sort-select {
		display: none
	}

	.dress-sort-icon-btn {
		display: flex
	}

	.dress-show-count {
		display: none !important
	}

	.dress-view-btns {
		display: none !important
	}
}

@media(max-width:500px) {
	.dress-shop-wrapper {
		padding: 10px
	}

	.dress-card-title {
		font-size: 12px
	}

	.dress-btn-cart,
	.dress-btn-select {
		font-size: 11px
	}
}
