		:root {
			--pink: #ad0353;
			--pink-light: #d44a8a;
			--pink-dark: #7a0239;
			--dark: #1a1a2e;
			--dark-soft: #2d2d44;
			--cream: #faf6f0;
			--cream-dark: #f0e8d8;
			--text-dark: #2c2c2c;
			--text-muted: #444;
			--white: #ffffff;
			--shadow: 0 8px 32px rgba(0,0,0,0.08);
			--shadow-hover: 0 12px 48px rgba(0,0,0,0.15);
			--radius: 16px;
			--radius-sm: 10px;
			--transition: 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
		}
		body { background: var(--cream); font-family: 'Poppins', sans-serif; }

		/* === PRODUCT DETAIL SECTION === */
		.product-details-wrap {
			background: var(--white);
			border-radius: var(--radius);
			box-shadow: var(--shadow);
			padding: 40px;
			margin-bottom: 40px;
			position: relative;
			overflow: hidden;
		}
		.product-details-wrap::before {
			content: '';
			position: absolute;
			top: 0; left: 0; right: 0;
			height: 4px;
			background: linear-gradient(90deg, var(--pink-dark), var(--pink), var(--pink-light), var(--pink), var(--pink-dark));
			background-size: 200% 100%;
			animation: shimmer 3s ease-in-out infinite;
		}
		@keyframes shimmer { 0%{background-position:200% 0} 100%{background-position:-200% 0} }

		/* Gallery */
		.gallery-main {
			position: relative;
			border-radius: var(--radius-sm);
			overflow: hidden;
			background: #f8f4f0;
			box-shadow: inset 0 0 30px rgba(0,0,0,0.04);
			cursor: zoom-in;
		}
		.gallery-main img {
			width: 100%;
			transition: transform 0.5s ease;
			display: block;
		}
		.gallery-main:hover img { transform: scale(1.8); }
		
		.gallery-thumbs-wrap {
			position: relative;
			margin-top: 12px;
			padding: 0 40px;
		}
		.gallery-thumbs {
			display: flex;
			gap: 6px;
			overflow: hidden;
			scroll-behavior: smooth;
		}
		.gallery-thumbs a {
			flex: 0 0 calc(33.333% - 4px);
			min-width: 0;
			border: 2px solid transparent;
			border-radius: 8px;
			overflow: hidden;
			transition: var(--transition);
			opacity: 0.6;
			cursor: pointer;
		}
		.gallery-thumbs a:hover,
		.gallery-thumbs a.active {
			border-color: var(--pink);
			opacity: 1;
		}
		.gallery-thumbs a img { width: 100%; height: auto; display: block; }
		.product-details-wrap #similar-product {
			position: relative;
			margin-top: 12px;
			padding: 0 34px;
		}
		.product-details-wrap .product-links-wap {
			display: flex;
			gap: 6px;
			overflow: hidden;
		}
		.product-details-wrap .product-links-wap .item {
			display: flex !important;
			gap: 6px;
			position: static;
			width: 100%;
			flex: 0 0 100%;
			opacity: 1;
			transform: none !important;
			transition: none;
			padding: 0;
		}
		.product-details-wrap .product-links-wap a {
			flex: 0 0 calc(33.333% - 4px);
			border: 2px solid transparent;
			border-radius: 8px;
			overflow: hidden;
			opacity: 0.65;
			transition: var(--transition);
		}
		.product-details-wrap .product-links-wap a:hover {
			border-color: var(--pink);
			opacity: 1;
		}
		.product-details-wrap #similar-product .product-links-wap a img,
		.product-details-wrap #similar-product .carousel-inner .item img {
			width: 100% !important;
			height: auto;
			display: block !important;
			margin: 0 !important;
		}
		.product-details-wrap .item-control {
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			width: 28px;
			height: 28px;
			border-radius: 50%;
			background: var(--white);
			border: 1px solid #e0d8cc;
			color: var(--text-muted);
			display: flex;
			align-items: center;
			justify-content: center;
			font-size: 14px;
			z-index: 2;
			box-shadow: 0 2px 6px rgba(0,0,0,0.08);
		}
		.product-details-wrap .item-control:hover {
			background: var(--pink);
			color: #fff;
			border-color: var(--pink);
		}
		.product-details-wrap .item-control.left { left: 0; }
		.product-details-wrap .item-control.right { right: 0; }
		.thumb-nav {
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			width: 28px; height: 28px;
			border-radius: 50%;
			background: var(--white);
			border: 1px solid #e0d8cc;
			color: var(--text-muted);
			display: flex;
			align-items: center;
			justify-content: center;
			cursor: pointer;
			transition: var(--transition);
			font-size: 14px;
			z-index: 2;
			box-shadow: 0 2px 6px rgba(0,0,0,0.08);
		}
		.thumb-nav:hover { background: var(--pink); color: #fff; border-color: var(--pink); }
		.thumb-nav.prev { left: 0; }
		.thumb-nav.next { right: 0; }
		.thumb-nav.disabled { opacity: 0.3; cursor: default; pointer-events: none; }

		/* Product Info */
		.product-badge {
			display: inline-block;
			background: linear-gradient(135deg, var(--pink-dark), var(--pink));
			color: #fff;
			padding: 4px 16px;
			border-radius: 20px;
			font-size: 11px;
			font-weight: 600;
			letter-spacing: 1px;
			text-transform: uppercase;
			margin-bottom: 12px;
		}
		.product-title {
			font-family: 'Playfair Display', serif;
			font-size: 32px;
			font-weight: 700;
			color: var(--dark);
			margin: 0 0 4px;
			line-height: 1.2;
		}
		.product-subtitle {
			font-size: 14px;
			color: var(--text-muted);
			font-weight: 300;
			margin-bottom: 16px;
		}
		.product-price {
			font-family: 'Playfair Display', serif;
			font-size: 28px;
			font-weight: 700;
			color: var(--pink-dark);
			margin: 12px 0;
		}
		.product-price .currency { font-size: 16px; }
		.product-rating {
			display: flex;
			align-items: center;
			gap: 8px;
			margin-bottom: 20px;
			padding-bottom: 20px;
			border-bottom: 1px solid var(--cream-dark);
		}
		.product-rating .stars { color: var(--pink); font-size: 16px; }
		.product-rating .stars .fa-star-o { color: #ddd; }
		.product-rating .review-count { color: var(--text-muted); font-size: 14px; }
		.product-meta {
			display: grid;
			grid-template-columns: auto 1fr;
			gap: 6px 16px;
			font-size: 14px;
			margin-bottom: 20px;
		}
		.product-meta .label { font-weight: 600; color: var(--text-dark); }
		.product-meta .value { color: var(--text-muted); }

		/* Form styling */
		.option-group, .swatch-wrapper {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			gap: 4px;
		}
		.option-group input[type="radio"] { display: none; }
		.option-label {
			display: inline-flex;
			padding: 4px 10px;
			border: 2px solid #e0d8cc;
			border-radius: 30px;
			font-size: 12px;
			font-weight: 500;
			color: var(--text-dark);
			cursor: pointer;
			transition: var(--transition);
			background: var(--white);
		}
		.option-label:hover {
			border-color: var(--pink);
			background: #fdf8f0;
		}
		.option-group input[type="radio"]:checked + .option-label {
			border-color: var(--pink-dark);
			background: linear-gradient(135deg, var(--pink-dark), var(--pink));
			color: #fff;
			box-shadow: 0 4px 12px rgba(212,175,55,0.3);
		}
		.color-swatch {
			width: 28px;
			height: 28px;
			border-radius: 50%;
			border: 2px solid #e0d8cc;
			cursor: pointer;
			transition: var(--transition);
			position: relative;
		}
		.color-swatch:hover { transform: scale(1.1); }
		.color-swatch.selected {
			border: 2px solid var(--pink-dark);
			box-shadow: 0 0 0 3px rgba(212,175,55,0.25);
			transform: scale(1.1);
		}
		.color-swatch.selected::after {
			content: '✓';
			position: absolute;
			top: 50%; left: 50%;
			transform: translate(-50%,-50%);
			font-size: 16px;
			font-weight: 700;
			color: #fff;
			text-shadow: 0 1px 3px rgba(0,0,0,0.5);
		}

		.form-row {
			display: flex;
			align-items: center;
			flex-wrap: wrap;
			gap: 4px 8px;
			margin-bottom: 12px;
		}
		.form-label {
			font-weight: 600;
			font-size: 14px;
			color: var(--text-dark);
			min-width: 70px;
			padding-top: 6px;
			margin: 0;
		}
		.form-field { flex: 0 1 auto; min-width: 80px; }
		.option-group { flex: 1; min-width: 200px; }
		
		.quantity-wrap {
			display: flex;
			align-items: center;
			gap: 0;
			border: 2px solid #e0d8cc;
			border-radius: 30px;
			overflow: hidden;
			background: var(--white);
		}
		.quantity-wrap button {
			background: none;
			border: none;
			width: 40px;
			height: 42px;
			font-size: 18px;
			font-weight: 600;
			color: var(--text-dark);
			cursor: pointer;
			transition: var(--transition);
		}
		.quantity-wrap button:hover { background: var(--cream-dark); }
		.quantity-wrap input {
			width: 50px;
			height: 42px;
			border: none;
			border-left: 1px solid #e0d8cc;
			border-right: 1px solid #e0d8cc;
			text-align: center;
			font-weight: 600;
			font-size: 16px;
			outline: none;
			background: var(--white);
		}

		.btn-order {
			display: inline-flex;
			align-items: center;
			gap: 10px;
			padding: 14px 36px;
			background: linear-gradient(135deg, var(--pink-dark), var(--pink));
			color: #fff;
			border: none;
			border-radius: 30px;
			font-size: 15px;
			font-weight: 600;
			letter-spacing: 0.5px;
			cursor: pointer;
			transition: var(--transition);
			box-shadow: 0 6px 20px rgba(212,175,55,0.35);
		}
		.btn-order:hover {
			transform: translateY(-2px);
			box-shadow: 0 10px 30px rgba(212,175,55,0.45);
			background: linear-gradient(135deg, var(--pink), var(--pink-light));
			color: var(--dark);
		}

		.share-section {
			margin-top: 24px;
			padding-top: 20px;
			border-top: 1px solid var(--cream-dark);
			display: flex;
			align-items: center;
			gap: 12px;
			flex-wrap: wrap;
		}
		.share-section b { font-size: 14px; color: var(--text-muted); font-weight: 500; }
		.share-section a {
			display: inline-flex;
			align-items: center;
			justify-content: center;
			width: 36px;
			height: 36px;
			border-radius: 50%;
			background: var(--cream);
			color: var(--text-muted);
			transition: var(--transition);
			font-size: 16px;
		}
		.share-section a:hover {
			background: var(--pink);
			color: #fff;
			transform: translateY(-2px);
		}

		/* === TABS === */
		.product-tabs {
			background: var(--white);
			border-radius: var(--radius);
			box-shadow: var(--shadow);
			padding: 0;
			overflow: hidden;
			margin-bottom: 40px;
		}
		.product-tabs .nav-tabs {
			border-bottom: 2px solid var(--cream-dark);
			background: #fdfaf5;
			padding: 0 20px;
		}
		.product-tabs .nav-tabs > li { margin-bottom: -2px; }
		.product-tabs .nav-tabs > li > a {
			border: none;
			border-bottom: 2px solid transparent;
			padding: 16px 24px;
			font-size: 13px;
			font-weight: 600;
			color: var(--text-muted);
			letter-spacing: 1px;
			transition: var(--transition);
			background: transparent;
			margin-right: 0;
		}
		.product-tabs .nav-tabs > li > a:hover {
			background: transparent;
			color: var(--pink-dark);
			border-color: transparent;
		}
		.product-tabs .nav-tabs > li.active > a,
		.product-tabs .nav-tabs > li.active > a:hover,
		.product-tabs .nav-tabs > li.active > a:focus {
			border: none;
			border-bottom: 2px solid var(--pink);
			color: var(--pink-dark);
			background: transparent;
		}
		.product-tabs .tab-content { padding: 32px; }

		/* Tab content */
		.shop-details h2 { font-family: 'Playfair Display', serif; color: var(--dark); font-size: 22px; margin-bottom: 16px; }
		.shop-details h3 { font-family: 'Playfair Display', serif; color: var(--pink-dark); font-size: 18px; margin-bottom: 12px; }
		.shop-details h4 { font-weight: 600; color: var(--dark); font-size: 16px; margin-top: 24px; margin-bottom: 12px; }
		.shop-details p, .tab-content p {
			color: var(--text-muted);
			line-height: 1.8;
			margin-bottom: 12px;
			font-size: 15px;
		}
		.shop-details strong { color: var(--text-dark); }

		/* Info list */
		.info-list { list-style: none; padding: 0; margin: 0; }
		.info-list li {
			padding: 12px 0;
			border-bottom: 1px solid var(--cream-dark);
			display: flex;
			gap: 8px;
			font-size: 15px;
			color: var(--text-muted);
		}
		.info-list li:last-child { border-bottom: none; }
		.info-list li b { color: var(--text-dark); min-width: 120px; font-weight: 600; }

		/* Reviews */
		.review-item {
			padding: 20px 0;
			border-bottom: 1px solid var(--cream-dark);
		}
		.review-item:last-child { border-bottom: none; }
		.review-item .review-author {
			display: flex;
			align-items: center;
			gap: 12px;
			margin-bottom: 8px;
		}
		.review-item .review-author .avatar {
			width: 44px; height: 44px;
			border-radius: 50%;
			background: linear-gradient(135deg, var(--pink-dark), var(--pink));
			display: flex;
			align-items: center;
			justify-content: center;
			color: #fff;
			font-weight: 700;
			font-size: 18px;
		}
		.review-item .review-author .name { font-weight: 600; color: var(--text-dark); }
		.review-item .review-author .date { font-size: 12px; color: var(--text-muted); }
		.review-item .review-text { color: var(--text-muted); line-height: 1.7; font-size: 14px; }

		/* Rating stars (form) */
		.rating-stars { display: flex; gap: 4px; direction: rtl; }
		.rating-stars i {
			font-size: 28px;
			cursor: pointer;
			color: #ddd;
			transition: var(--transition);
		}
		.rating-stars i:hover,
		.rating-stars i.active,
		.rating-stars i.active ~ i {
			color: var(--pink);
		}

		/* Feedback form */
		.feedback-form { margin-top: 24px; }
		.feedback-form h5 { font-weight: 600; color: var(--dark); margin-bottom: 4px; }
		.feedback-form small { color: var(--text-muted); display: block; margin-bottom: 16px; }
		.feedback-form .form-control {
			border: 2px solid #e0d8cc;
			border-radius: var(--radius-sm);
			padding: 12px 16px;
			font-size: 14px;
			transition: var(--transition);
			box-shadow: none;
			background: var(--cream);
		}
		.feedback-form .form-control:focus {
			border-color: var(--pink);
			background: var(--white);
			box-shadow: 0 0 0 3px rgba(212,175,55,0.1);
		}
		.feedback-form textarea.form-control { min-height: 120px; resize: vertical; }
		.feedback-form .btn-submit {
			padding: 12px 32px;
			background: var(--dark);
			color: #fff;
			border: none;
			border-radius: 30px;
			font-size: 14px;
			font-weight: 600;
			cursor: pointer;
			transition: var(--transition);
		}
		.feedback-form .btn-submit:hover { background: var(--pink-dark); transform: translateY(-2px); }

		/* Recommended items */
		.recommended-items {
			background: var(--white);
			border-radius: var(--radius);
			box-shadow: var(--shadow);
			padding: 32px;
			margin-bottom: 40px;
		}
		.recommended-items .title {
			font-family: 'Playfair Display', serif;
			font-size: 24px;
			color: var(--dark);
			text-align: center;
			margin-bottom: 24px;
			position: relative;
		}
		.recommended-items .title::after {
			content: '';
			display: block;
			width: 60px;
			height: 2px;
			background: var(--pink);
			margin: 10px auto 0;
		}
		.product-card {
			background: var(--cream);
			border-radius: var(--radius-sm);
			padding: 20px;
			text-align: center;
			transition: var(--transition);
			margin-bottom: 20px;
		}
		.product-card:hover {
			transform: translateY(-4px);
			box-shadow: var(--shadow-hover);
		}
		.product-card img { max-height: 180px; object-fit: contain; margin-bottom: 12px; }
		.product-card h4 { color: var(--pink-dark); font-weight: 700; font-size: 18px; margin: 4px 0; font-family: 'Playfair Display', serif; }
		.product-card h5 { color: var(--text-dark); font-size: 13px; font-weight: 500; margin-bottom: 12px; }
		.product-card .btn-buy {
			display: inline-block;
			padding: 8px 24px;
			border: 2px solid var(--pink);
			color: var(--pink-dark);
			border-radius: 30px;
			font-size: 12px;
			font-weight: 600;
			background: transparent;
			transition: var(--transition);
			text-transform: uppercase;
			letter-spacing: 0.5px;
		}
		.product-card .btn-buy:hover {
			background: linear-gradient(135deg, var(--pink-dark), var(--pink));
			color: #fff;
			border-color: transparent;
		}

		.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

		/* Responsive */
		@media (max-width: 991px) {
			.product-details-wrap { padding: 24px; }
			.product-title { font-size: 26px; }
			.product-price { font-size: 28px; }
		}
		@media (min-width: 992px) {
			.col-category { width: 21%; }
			.col-product { width: 79%; }
		}
		@media (max-width: 767px) {
			.product-details-wrap { padding: 16px; }
			.product-title { font-size: 22px; }
			.product-tabs .tab-content { padding: 20px; }
			.product-tabs .nav-tabs > li > a { padding: 12px 14px; font-size: 11px; }
			.gallery-thumbs a { flex: 0 0 calc(33.333% - 4px); }
			.info-list li { flex-direction: column; gap: 2px; }
			.info-list li b { min-width: auto; }
			.form-label { min-width: 65px; font-size: 13px; }
			.btn-order { width: 100%; justify-content: center; white-space: nowrap; font-size: 13px; padding: 12px 20px; }
		}
