/**
 * ShopRover Account Dashboard — pink theme
 * Prefix: sod (ShopRover Order Dashboard)
 */

:root {
	--sod-pink: #EC1361;
	--sod-pink-dark: #C10E50;
	--sod-pink-light: #FDEEF3;
	--sod-pink-softer: #FCE4EC;
	--sod-text: #1F1F1F;
	--sod-muted: #6B6B6B;
	--sod-white: #FFFFFF;
	--sod-success-bg: #DCFCE7;
	--sod-success-text: #15803D;
	--sod-warning-bg: #FEF3C7;
	--sod-warning-text: #B45309;
	--sod-danger-bg: #FEE2E2;
	--sod-danger-text: #B91C1C;
	--sod-info-bg: #DBEAFE;
	--sod-info-text: #1D4ED8;
	--sod-radius: 16px;
	--sod-radius-sm: 10px;
	--sod-border: #F6E9EF;
}

.sod-sidebar, .sod-dashboard {
	font-family: 'Poppins', sans-serif;
	color: var(--sod-text);
}

/* ============ SIDEBAR ============ */

.sod-profile {
	background: var(--sod-pink-light);
	border-radius: 20px;
	padding: 24px;
	text-align: center;
	margin-bottom: 16px;
}

.sod-profile__avatar img {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	border: 3px solid var(--sod-white);
	object-fit: cover;
}

.sod-profile__name {
	font-size: 19px;
	font-weight: 700;
	margin: 12px 0 2px;
}

.sod-profile__heart {
	color: var(--sod-pink);
	margin-left: 2px;
}

.sod-profile__tagline {
	color: var(--sod-muted);
	font-size: 13px;
	margin: 0 0 10px;
}

.sod-badge-loyal {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: var(--sod-white);
	color: var(--sod-pink-dark);
	border-radius: 999px;
	padding: 5px 14px;
	font-size: 12px;
	font-weight: 600;
}

.sod-profile__edit {
	display: none;
	align-items: center;
	gap: 6px;
	background: var(--sod-white);
	color: var(--sod-pink-dark) !important;
	padding: 8px 14px;
	border-radius: var(--sod-radius-sm);
	text-decoration: none;
	font-size: 12px;
	font-weight: 600;
}

.sod-profile__edit svg { width: 13px; height: 13px; }

.sod-nav {
	background: var(--sod-white);
	border: 1px solid var(--sod-border);
	border-radius: 16px;
	padding: 8px;
	margin-bottom: 16px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.sod-nav__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 14px;
	border-radius: 12px;
	text-decoration: none;
	color: var(--sod-text) !important;
	font-size: 14px;
	font-weight: 500;
	transition: background 0.2s ease;
}

.sod-nav__item:hover {
	background: var(--sod-pink-light);
}

.sod-nav__item--active {
	background: var(--sod-pink-light);
	color: var(--sod-pink-dark) !important;
	font-weight: 700;
}

.sod-nav__icon {
	width: 18px;
	height: 18px;
	display: inline-flex;
	flex-shrink: 0;
}

.sod-nav__icon svg { width: 100%; height: 100%; }

.sod-promo {
	background: linear-gradient(135deg, var(--sod-pink-light), var(--sod-pink-softer));
	border-radius: 16px;
	padding: 20px;
	text-align: left;
}

.sod-promo__title {
	color: var(--sod-pink-dark);
	font-weight: 700;
	margin: 0 0 4px;
	font-size: 15px;
}

.sod-promo__text {
	color: var(--sod-muted);
	font-size: 13px;
	margin: 0 0 12px;
}

.sod-promo__cta {
	display: inline-block;
	background: var(--sod-pink);
	color: var(--sod-white) !important;
	padding: 9px 20px;
	border-radius: var(--sod-radius-sm);
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
}

.sod-promo__cta:hover { background: var(--sod-pink-dark); }

/* ============ DASHBOARD HEADER ============ */

.sod-dashboard__header {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 16px;
}

.sod-edit-profile {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: var(--sod-pink-light);
	color: var(--sod-pink-dark) !important;
	padding: 9px 18px;
	border-radius: var(--sod-radius-sm);
	text-decoration: none;
	font-size: 13px;
	font-weight: 600;
}

.sod-edit-profile svg { width: 14px; height: 14px; }

/* ============ SUMMARY CARDS ============ */

.sod-cards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
	margin-bottom: 24px;
}

.sod-card {
	background: var(--sod-white);
	border: 1px solid var(--sod-border);
	border-radius: 16px;
	padding: 22px 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: var(--sod-text) !important;
	text-align: center;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sod-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(236, 19, 97, 0.08);
}

.sod-card__icon {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--sod-pink-softer);
	color: var(--sod-pink);
	display: flex;
	align-items: center;
	justify-content: center;
}

.sod-card__icon svg { width: 20px; height: 20px; }

.sod-card__label {
	font-size: 13px;
	font-weight: 600;
}

/* ============ SECTIONS (Recent Orders / Recommended) ============ */

.sod-section {
	background: var(--sod-white);
	border: 1px solid var(--sod-border);
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 24px;
}

.sod-section__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 14px;
}

.sod-section__header h3 {
	margin: 0;
	font-size: 18px;
	display: flex;
	align-items: center;
	gap: 6px;
}

.sod-section__header a {
	color: var(--sod-pink);
	text-decoration: none;
	font-weight: 600;
	font-size: 13px;
	white-space: nowrap;
}

.sod-heart-inline { color: var(--sod-pink); }

/* Recent order rows */
.sod-order-row {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--sod-border);
}

.sod-order-row:last-child { border-bottom: none; }

.sod-order-row__image img {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: 12px;
}

.sod-order-row__info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.sod-order-row__info strong {
	font-size: 14px;
	overflow: hidden;
	text-overflow: ellipsis;
}

.sod-order-row__extra {
	color: var(--sod-muted);
	font-weight: 400;
	font-size: 12px;
}

.sod-order-row__meta,
.sod-order-row__date {
	font-size: 12px;
	color: var(--sod-muted);
}

.sod-order-row__price {
	font-weight: 700;
	font-size: 14px;
}

.sod-order-row__action {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
	flex-shrink: 0;
}

/* Empty order state */
.sod-empty-order {
	display: flex;
	align-items: center;
	gap: 16px;
	background: var(--sod-pink-light);
	border-radius: 16px;
	padding: 20px;
	flex-wrap: wrap;
}

.sod-empty-order__icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--sod-white);
	color: var(--sod-pink);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.sod-empty-order__icon svg { width: 22px; height: 22px; }

.sod-empty-order__text { flex: 1; min-width: 180px; }

.sod-empty-order__text p {
	margin: 2px 0 0;
	font-size: 13px;
	color: var(--sod-muted);
}

/* Badges */
.sod-badge {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	white-space: nowrap;
}

.sod-badge--success { background: var(--sod-success-bg); color: var(--sod-success-text); }
.sod-badge--warning  { background: var(--sod-warning-bg); color: var(--sod-warning-text); }
.sod-badge--danger   { background: var(--sod-danger-bg); color: var(--sod-danger-text); }
.sod-badge--info     { background: var(--sod-info-bg); color: var(--sod-info-text); }

/* Buttons */
.sod-btn {
	display: inline-block;
	padding: 8px 18px;
	border-radius: var(--sod-radius-sm);
	font-size: 13px;
	font-weight: 600;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
}

.sod-btn--filled { background: var(--sod-pink); color: var(--sod-white) !important; }
.sod-btn--filled:hover { background: var(--sod-pink-dark); }

.sod-btn--outline {
	border: 1.5px solid var(--sod-pink);
	color: var(--sod-pink) !important;
	background: var(--sod-white);
}

.sod-btn--outline:hover { background: var(--sod-pink-light); }

/* Recommended products */
.sod-products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 16px;
}

.sod-product { position: relative; }

.sod-product__image img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 16px;
	display: block;
}

.sod-product__wishlist {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: var(--sod-white);
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #D1D5DB;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
	padding: 0;
}

.sod-product__wishlist svg { width: 16px; height: 16px; }
.sod-product__wishlist.is-active { color: var(--sod-pink); }

/* Trust badges */
.sod-trust {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.sod-trust__item {
	display: flex;
	align-items: center;
	gap: 10px;
	background: var(--sod-pink-light);
	border-radius: 14px;
	padding: 14px;
	font-size: 12px;
}

.sod-trust__icon {
	color: var(--sod-pink);
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.sod-trust__icon svg { width: 100%; height: 100%; }

/* ============ RESPONSIVE ============ */

/* Tablet: 768–1023px — same layout, slightly tighter */
@media (max-width: 1023px) {
	.sod-cards { gap: 12px; }
	.sod-products { gap: 12px; }
}

/* Mobile: 0–767px */
@media (max-width: 767px) {
	/* Sidebar: hide nav list + promo, keep profile as a compact horizontal row with Edit button */
	.sod-nav, .sod-promo {
		display: none;
	}

	.sod-profile {
		display: flex;
		align-items: center;
		gap: 12px;
		text-align: left;
		padding: 16px;
	}

	.sod-profile__name { margin: 0; font-size: 16px; }
	.sod-profile__tagline { margin: 0; font-size: 12px; }
	.sod-badge-loyal { margin-top: 4px; }
	.sod-profile__edit { display: inline-flex; margin-left: auto; flex-shrink: 0; }

	/* Dashboard: hide the separate Edit Profile row (shown inline in profile instead) */
	.sod-dashboard__header { display: none; }

	.sod-cards { grid-template-columns: repeat(4, 1fr); gap: 8px; }
	.sod-card { padding: 14px 6px; }
	.sod-card__icon { width: 36px; height: 36px; }
	.sod-card__icon svg { width: 16px; height: 16px; }
	.sod-card__label { font-size: 10px; }

	.sod-section { padding: 16px; }

	.sod-order-row { flex-wrap: wrap; }
	.sod-order-row__action {
		flex-direction: row;
		align-items: center;
		width: 100%;
		justify-content: space-between;
		margin-top: 8px;
	}

	.sod-products { grid-template-columns: repeat(2, 1fr); }
	.sod-trust { grid-template-columns: repeat(2, 1fr); }
}
