/* ===== Footer ===== */
.footer {
		background: var(--color-gray-900);
		color: var(--color-gray-300);
		padding: 4rem 0 2rem;
		margin-top: 0;
	}

	.footer-content {
		display: grid;
		grid-template-columns: 2fr 1fr 1fr 1fr;
		gap: 3rem;
		margin-bottom: 3rem;
	}

	.footer-brand {
		max-width: 280px;
	}

	.footer-logo {
		display: flex;
		align-items: baseline;
		gap: 0.375rem;
		text-decoration: none;
		margin-bottom: 0.75rem;
	}

	.logo-title {
		font-family: var(--font-display);
		font-size: 1.5rem;
		color: white;
		line-height: 1;
		letter-spacing: 2px;
	}

	.logo-accent {
		font-family: var(--font-heading);
		font-size: 0.75rem;
		color: var(--color-red);
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 1px;
	}

	.brand-tagline {
		font-size: 0.9rem;
		color: var(--color-gray-400);
		margin-bottom: 1.25rem;
		line-height: 1.5;
	}

	.social-links {
		display: flex;
		gap: 0.75rem;
	}

	.social-link {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 36px;
		height: 36px;
		border-radius: 50%;
		background: var(--color-gray-800);
		color: var(--color-gray-400);
		transition: all 0.2s ease;
	}

	.social-link:hover {
		background: var(--color-blue);
		color: white;
	}

	.footer-section h3 {
		font-family: var(--font-heading);
		color: white;
		font-size: 0.9rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 1px;
		margin-bottom: 1rem;
	}

	.footer-links {
		list-style: none;
	}

	.footer-links li {
		margin-bottom: 0.625rem;
	}

	.footer-links a {
		color: var(--color-gray-400);
		text-decoration: none;
		font-size: 0.9rem;
		transition: color 0.2s ease;
	}

	.footer-links a:hover {
		color: white;
	}

	.footer-bottom {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding-top: 2rem;
		border-top: 1px solid var(--color-gray-800);
	}

	.copyright {
		font-size: 0.8rem;
		color: var(--color-gray-500);
	}

	.trust-badges {
		display: flex;
		align-items: center;
		gap: 1.25rem;
		flex-wrap: wrap;
	}

	.badge,
	.trust-badges .badge {
		position: static;
		display: inline-flex;
		align-items: center;
		gap: 0.375rem;
		font-size: 0.8rem;
		font-weight: 600;
		color: var(--color-gray-400);
		white-space: nowrap;
		line-height: 1.2;
	}

	.badge svg,
	.trust-badges .badge svg {
		display: inline-block;
		vertical-align: middle;
		flex-shrink: 0;
	}

	@media (max-width: 768px) {
		.footer-content {
			grid-template-columns: 1fr 1fr;
			gap: 2rem;
		}

		.footer-brand {
			grid-column: 1 / -1;
			max-width: none;
		}

		.footer-bottom {
			flex-direction: column;
			gap: 1rem;
			text-align: center;
		}

		.trust-badges {
			flex-wrap: wrap;
			justify-content: center;
		}
	}

	@media (max-width: 480px) {
		.footer-content {
			grid-template-columns: 1fr;
		}
	}

/* ===== Header ===== */
/* Announcement Bar */
	.announcement-bar {
		background: #ff69b4;
		color: white;
		text-align: center;
		padding: 0.5rem 1rem;
		font-size: 0.8rem;
		font-weight: 700;
		letter-spacing: 0.75px;
		text-transform: uppercase;
		overflow: hidden;
		height: 2rem;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.announcement-inner {
		position: relative;
		height: 1.2rem;
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.announcement-item {
		position: absolute;
		opacity: 0;
		transition: opacity 0.5s ease;
		white-space: nowrap;
		display: flex;
		align-items: center;
		gap: 0.5rem;
	}

	.announcement-item.active {
		opacity: 1;
	}

	.ann-icon {
		font-size: 0.9rem;
	}

	/* Header */
	.header {
		background: white;
		border-bottom: 2px solid #f0f0f0;
		padding: 0.625rem 0;
		position: sticky;
		top: 0;
		z-index: 100;
		box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	}

	.header-content {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 1.5rem;
	}

	/* Logo */
	.logo {
		text-decoration: none;
		flex-shrink: 0;
	}

	.logo-stack {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.logo-main {
		font-family: var(--font-display);
		font-size: 1.5rem;
		color: #1a1a2e;
		line-height: 0.95;
		letter-spacing: 2px;
	}

	.logo-curations {
		color: #e52535;
		font-size: 1.1rem;
	}

	.logo-tagline {
		font-size: 0.65rem;
		color: #888;
		font-style: italic;
		letter-spacing: 0.5px;
		margin-top: 2px;
	}

	/* Nav */
	.nav {
		display: flex;
		gap: 0.25rem;
		align-items: center;
	}

	.nav-dropdown {
		position: relative;
	}

	.nav-dropdown:hover .dropdown-menu {
		display: flex;
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.dropdown-menu {
		display: none;
		opacity: 0;
		visibility: hidden;
		transform: translateY(10px);
		position: absolute;
		top: 100%;
		left: 0;
		background: white;
		min-width: 230px;
		border: 2px solid #1a1a2e;
		border-radius: 8px;
		box-shadow: 4px 4px 0 #1a1a2e;
		padding: 0.5rem 0;
		flex-direction: column;
		z-index: 200;
		transition: all 0.2s ease;
	}

	.dropdown-item {
		font-family: var(--font-heading);
		font-weight: 600;
		font-size: 0.85rem;
		color: #1a1a2e;
		padding: 0.6rem 1rem;
		text-decoration: none;
		display: flex;
		align-items: center;
		gap: 0.5rem;
		transition: background 0.15s ease, color 0.15s ease;
	}

	.dropdown-item:hover {
		background: #fff0f0;
		color: #e52535;
	}

	.view-all-brands {
		border-top: 2px dashed #eee;
		margin-top: 0.2rem;
		padding-top: 0.7rem;
		color: var(--retro-red);
		font-weight: 800;
	}

	.nav-link {
		font-family: var(--font-heading);
		font-weight: 600;
		color: #1a1a2e;
		font-size: 0.8rem;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		padding: 0.5rem 0.75rem;
		border-radius: 4px;
		transition: all 0.2s;
		white-space: nowrap;
		text-decoration: none;
		display: block;
	}

	.nav-link:hover {
		color: #e52535;
		background: #fff0f0;
	}

	.nav-sale {
		color: #e52535;
		background: #fff0f0;
	}

	.nav-arrow {
		font-size: 0.65rem;
		opacity: 0.6;
	}

	/* Actions */
	.header-actions {
		display: flex;
		gap: 0.25rem;
		align-items: center;
		flex-shrink: 0;
	}

	.action-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 38px;
		height: 38px;
		border-radius: 50%;
		color: #1a1a2e;
		transition: all 0.2s;
		text-decoration: none;
	}

	.action-btn:hover {
		background: #f0f0f0;
		color: #e52535;
	}

	.cart-btn {
		position: relative;
	}

	.cart-count {
		position: absolute;
		top: 0;
		right: 0;
		background: #e52535;
		color: white;
		font-size: 0.6rem;
		font-weight: 800;
		width: 17px;
		height: 17px;
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 2px solid white;
	}

	.mobile-toggle {
		display: none;
		background: none;
		color: #1a1a2e;
		padding: 0.25rem;
		cursor: pointer;
	}

	@media (max-width: 900px) {
		.nav {
			display: none;
			position: absolute;
			top: 100%;
			left: 0;
			right: 0;
			background: white;
			flex-direction: column;
			padding: 0.5rem 1.5rem 1rem;
			gap: 0;
			border-bottom: 2px solid #f0f0f0;
			box-shadow: 0 8px 20px rgba(0,0,0,0.1);
			align-items: stretch;
		}
		.nav.open { display: flex; }
		.header { position: relative; }
		.nav-link { padding: 0.75rem 0.5rem; border-bottom: 1px solid #f5f5f5; }
		.mobile-toggle { display: flex; align-items: center; }
	}

/* ===== Notification ===== */
.notifications-container {
		position: fixed;
		bottom: 1rem;
		right: 1rem;
		z-index: 9999;
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		max-width: 400px;
	}

	.notification {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		padding: 1rem 1.25rem;
		border-radius: 12px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
		font-family: var(--font-heading);
		font-weight: 600;
		animation: slideIn 0.3s ease;
		cursor: pointer;
		transition: transform 0.2s ease;
		text-align: left;
		width: 100%;
	}

	.notification:hover {
		transform: translateY(-2px);
		box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
	}

	@keyframes slideIn {
		from {
			transform: translateY(100%);
			opacity: 0;
		}
		to {
			transform: translateY(0);
			opacity: 1;
		}
	}

	.notification.success {
		background: var(--retro-teal);
		color: white;
		border: 3px solid var(--retro-navy);
	}

	.notification.error {
		background: var(--retro-red);
		color: white;
		border: 3px solid var(--retro-navy);
	}

	.notification-icon {
		font-size: 1.5rem;
		font-weight: 700;
		flex-shrink: 0;
	}

	.notification-message {
		font-size: 0.95rem;
		line-height: 1.4;
		flex: 1;
	}

	.notification-arrow {
		font-size: 1.25rem;
		font-weight: 700;
		flex-shrink: 0;
		opacity: 0.8;
	}

	@media (max-width: 640px) {
		.notifications-container {
			bottom: 0;
			right: 0;
			left: 0;
			max-width: 100%;
		}

		.notification {
			margin: 0.5rem;
			border-radius: 8px;
		}
	}

/* ===== ProductCard ===== */
.product-card {
		position: relative;
		background: var(--bg-card);
		border-radius: 12px;
		overflow: hidden;
		transition: all 0.2s ease;
		box-shadow: var(--shadow-sm);
		border: 1px solid var(--color-gray-200);
	}

	.product-card:hover {
		transform: translateY(-4px);
		box-shadow: var(--shadow-lg);
	}

	.product-card.sold-out {
		opacity: 0.7;
	}

	.product-card.sold-out:hover {
		transform: none;
		box-shadow: var(--shadow-sm);
	}

	.badge {
		position: absolute;
		top: 0.75rem;
		left: 0.75rem;
		padding: 0.25rem 0.625rem;
		font-family: var(--font-heading);
		font-size: 0.7rem;
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		border-radius: 4px;
		z-index: 1;
	}

	.sale-badge {
		background: var(--color-red);
		color: white;
	}

	.sold-out-badge {
		background: var(--color-gray-600);
		color: white;
	}

	.card-link {
		text-decoration: none;
		color: inherit;
		display: block;
	}

	.card-image {
		background: var(--color-gray-50);
		aspect-ratio: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}

	.card-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform 0.3s ease;
	}

	.product-card:hover .card-image img {
		transform: scale(1.05);
	}

	.card-content {
		padding: 1rem;
	}

	.brand {
		font-size: 0.7rem;
		color: var(--text-muted);
		text-transform: uppercase;
		letter-spacing: 0.5px;
		display: block;
		margin-bottom: 0.25rem;
		font-weight: 500;
	}

	.title {
		font-family: var(--font-body);
		font-size: 0.9rem;
		font-weight: 600;
		color: var(--text-primary);
		margin: 0 0 0.5rem;
		line-height: 1.4;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		overflow: hidden;
		text-transform: none;
	}

	.price-area {
		margin-bottom: 0.75rem;
		display: flex;
		align-items: baseline;
		gap: 0.5rem;
	}

	.price {
		font-family: var(--font-heading);
		font-size: 1.25rem;
		color: var(--text-primary);
		font-weight: 700;
	}

	.was {
		font-size: 0.8rem;
		color: var(--text-muted);
		text-decoration: line-through;
	}

	.add-button {
		width: 100%;
		background: var(--color-blue);
		color: white;
		padding: 0.625rem 1rem;
		border: none;
		border-radius: 6px;
		font-family: var(--font-heading);
		font-weight: 600;
		text-transform: uppercase;
		font-size: 0.8rem;
		letter-spacing: 0.5px;
		transition: all 0.2s ease;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
	}

	.add-button:hover {
		background: var(--color-blue-dark);
	}

	.add-button.disabled {
		background: var(--color-gray-300);
		color: var(--color-gray-500);
		cursor: not-allowed;
	}

	.add-button.disabled:hover {
		background: var(--color-gray-300);
	}

/* ===== Modal ===== */
.modal-overlay {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(29, 53, 87, 0.8);
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 1000;
		padding: 1rem;
	}

	.modal {
		background: var(--bg-card);
		border: 3px solid var(--retro-navy);
		border-radius: 12px;
		box-shadow: 8px 8px 0 var(--retro-navy);
		max-width: 500px;
		width: 100%;
		max-height: 90vh;
		overflow-y: auto;
	}

	.modal-header {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 1.5rem;
		border-bottom: 2px solid var(--retro-navy);
	}

	.modal-header h2 {
		font-family: var(--font-display);
		font-size: 1.5rem;
		color: var(--retro-navy);
		margin: 0;
	}

	.close-button {
		background: var(--retro-red);
		color: white;
		border: 2px solid var(--retro-navy);
		border-radius: 50%;
		width: 32px;
		height: 32px;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		font-size: 1.25rem;
		transition: all 0.2s ease;
	}

	.close-button:hover {
		transform: scale(1.1);
	}

	.modal-content {
		padding: 1.5rem;
	}

/* ===== OrderStatusBadge ===== */
.status-badge {
		display: inline-block;
		padding: 0.25rem 0.75rem;
		border-radius: 12px;
		font-family: var(--font-heading);
		font-size: 0.875rem;
		font-weight: 700;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		color: white;
		border: 2px solid var(--retro-navy);
	}

/* ===== SalesChart ===== */
.chart-container {
		background: var(--bg-card);
		border: 3px solid var(--retro-navy);
		border-radius: 12px;
		padding: 1.5rem;
		box-shadow: 4px 4px 0 var(--retro-navy);
	}

	.chart {
		display: flex;
		align-items: flex-end;
		gap: 0.5rem;
		height: 250px;
		margin-bottom: 1rem;
	}

	.bar-container {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		height: 100%;
	}

	.bar-wrapper {
		flex: 1;
		width: 100%;
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}

	.bar {
		width: 100%;
		max-width: 40px;
		background: var(--retro-orange);
		border: 2px solid var(--retro-navy);
		border-radius: 4px 4px 0 0;
		transition: all 0.2s ease;
		cursor: pointer;
	}

	.bar:hover {
		background: var(--retro-teal);
		transform: translateY(-2px);
	}

	.label {
		font-family: var(--font-body);
		font-size: 0.7rem;
		color: var(--text-muted);
		margin-top: 0.5rem;
		text-align: center;
		transform: rotate(-45deg);
		white-space: nowrap;
	}

	.legend {
		text-align: center;
		font-family: var(--font-heading);
		color: var(--text-muted);
		font-size: 0.875rem;
	}

	.empty-state {
		text-align: center;
		padding: 3rem;
		color: var(--text-muted);
		font-family: var(--font-heading);
	}

/* ===== StatsCard ===== */
.stats-card {
		background: var(--bg-card);
		border: 3px solid var(--retro-navy);
		border-radius: 12px;
		padding: 1.5rem;
		box-shadow: 4px 4px 0 var(--retro-navy);
		display: flex;
		align-items: center;
		gap: 1rem;
		transition: all 0.2s ease;
	}

	.stats-card:hover {
		transform: translateY(-2px);
		box-shadow: 6px 6px 0 var(--retro-navy);
	}

	.icon {
		font-size: 2.5rem;
	}

	.content {
		flex: 1;
	}

	.title {
		font-family: var(--font-heading);
		font-size: 0.875rem;
		color: var(--text-muted);
		text-transform: uppercase;
		letter-spacing: 0.5px;
		margin-bottom: 0.25rem;
	}

	.value {
		font-family: var(--font-display);
		font-size: 1.75rem;
		color: var(--retro-navy);
		font-weight: 700;
	}
