/* Customer account — Flipkart-style My Account on IndianMall brand */
.cp-wrap { background: #f1f3f6; min-height: 70vh; padding: 1.25rem 0 3rem; }
.page-customer-panel .container {
	width: 100%;
	max-width: 100%;
	padding-left: 0.75rem;
	padding-right: 0.75rem;
}
@media (min-width: 992px) {
	.page-customer-panel .container {
		padding-left: 2.75rem;
		padding-right: 2.75rem;
	}
}
@media (min-width: 1200px) {
	.page-customer-panel .container {
		padding-left: 4rem;
		padding-right: 4rem;
	}
}
.cp-shell {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 1rem;
	align-items: start;
}
.cp-side {
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0,0,0,.08);
	overflow: hidden;
}
.cp-side-user {
	display: flex;
	gap: .85rem;
	align-items: center;
	padding: 1.1rem 1rem;
	border-bottom: 1px solid #f0f0f0;
	background: linear-gradient(135deg, #e8f5ec 0%, #fff 70%);
}
.cp-avatar {
	width: 48px; height: 48px; border-radius: 50%;
	background: var(--im-green); color: #fff;
	display: grid; place-items: center;
	font-weight: 700; font-size: 1.15rem;
	flex-shrink: 0;
}
.cp-side-user strong { display: block; font-size: .95rem; }
.cp-side-user span { color: var(--im-muted); font-size: .8rem; }
.cp-nav { padding: .4rem 0 .75rem; }
.cp-nav-label {
	font-size: .72rem; font-weight: 700; letter-spacing: .04em;
	text-transform: uppercase; color: #878787;
	padding: .85rem 1rem .35rem;
}
.cp-nav a {
	display: flex; align-items: center; gap: .7rem;
	padding: .65rem 1rem; color: #212121; font-size: .92rem;
	border-left: 3px solid transparent;
}
.cp-nav a:hover { background: #f9f9f9; color: var(--im-green-dark); }
.cp-nav a.active {
	background: var(--im-leaf);
	border-left-color: var(--im-green);
	color: var(--im-green-dark);
	font-weight: 600;
}
.cp-nav a i { font-size: 1.1rem; width: 1.25rem; text-align: center; color: #878787; }
.cp-nav a.active i { color: var(--im-green); }
.cp-nav-badge {
	margin-left: auto; background: var(--im-green); color: #fff;
	border-radius: 999px; font-size: .68rem; font-weight: 700;
	min-width: 1.15rem; padding: .05rem .35rem; text-align: center;
}
.cp-nav-btn {
	display: flex; align-items: center; gap: .7rem; width: 100%;
	padding: .65rem 1rem; color: #212121; font-size: .92rem;
	background: transparent; border: 0; border-left: 3px solid transparent;
	text-align: left; cursor: pointer;
}
.cp-nav-btn:hover { background: #f9f9f9; color: var(--im-green-dark); }
.cp-nav-btn i { font-size: 1.1rem; width: 1.25rem; text-align: center; color: #878787; }
.cp-main {
	background: #fff;
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0,0,0,.08);
	padding: 1.25rem 1.35rem 1.75rem;
	min-height: 420px;
}
.cp-hello { margin-bottom: 1.25rem; }
.cp-hello h1 {
	font-family: var(--font);
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 .25rem;
}
.cp-hello p { margin: 0; color: var(--im-muted); font-size: .9rem; }

.cp-tiles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .85rem;
	margin-bottom: 1.5rem;
}
.cp-tile {
	display: flex; gap: .85rem; align-items: flex-start;
	padding: 1rem;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	transition: box-shadow .15s, border-color .15s;
	background: #fff;
}
.cp-tile:hover {
	border-color: var(--im-green);
	box-shadow: 0 2px 8px rgba(31,122,69,.12);
}
.cp-tile-icon {
	width: 42px; height: 42px; border-radius: 50%;
	background: var(--im-leaf); color: var(--im-green-dark);
	display: grid; place-items: center; flex-shrink: 0;
	font-size: 1.15rem;
}
.cp-tile strong { display: block; font-size: .92rem; margin-bottom: .15rem; }
.cp-tile span { font-size: .78rem; color: #878787; line-height: 1.35; }

.cp-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .85rem;
	margin-bottom: 1.5rem;
}
.cp-stat {
	padding: .85rem 1rem;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	background: #fff;
	transition: box-shadow .15s, border-color .15s;
}
.cp-stat:hover {
	border-color: var(--im-green);
	box-shadow: 0 2px 8px rgba(31,122,69,.12);
}
.cp-stat-label { display: block; font-size: .78rem; color: #878787; margin-bottom: .2rem; }
.cp-stat strong { font-size: 1.15rem; font-weight: 700; }

.cp-section-title {
	font-family: var(--font);
	font-size: 1rem;
	font-weight: 600;
	margin: 0;
}

.cp-empty {
	text-align: center;
	padding: 3rem 1rem;
}
.cp-empty i { font-size: 3.5rem; color: #c2c2c2; }
.cp-empty h2 {
	font-family: var(--font);
	font-size: 1.15rem;
	font-weight: 600;
	margin: 1rem 0 .35rem;
}
.cp-empty p { color: #878787; margin-bottom: 1.25rem; font-size: .9rem; }

.cp-order-row, .cp-wish-row {
	display: flex; gap: 1rem; align-items: center;
	padding: 1rem 0;
	border-bottom: 1px solid #f0f0f0;
}
.cp-order-row:last-child, .cp-wish-row:last-child { border-bottom: 0; }
.cp-thumb {
	width: 72px; height: 72px; object-fit: cover;
	border: 1px solid #eee; border-radius: 4px; background: #fafafa;
	flex-shrink: 0;
}
.cp-badge {
	display: inline-block;
	font-size: .72rem; font-weight: 600;
	padding: .2rem .45rem; border-radius: 3px;
	background: var(--im-leaf); color: var(--im-green-dark);
}
.cp-badge.warn { background: #fff3e0; color: #e65100; }
.cp-badge.muted { background: #f5f5f5; color: #616161; }

/* Auth — login / register */
.cp-auth {
	min-height: calc(100vh - 180px);
	display: grid;
	place-items: center;
	padding: 2rem 1rem;
	background:
		radial-gradient(ellipse at 10% 20%, rgba(31,122,69,.12), transparent 45%),
		radial-gradient(ellipse at 90% 80%, rgba(196,123,22,.1), transparent 40%),
		var(--im-paper);
}
.cp-auth-card {
	width: 100%;
	max-width: 860px;
	display: grid;
	grid-template-columns: 320px 1fr;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(20,32,26,.12);
}
.cp-auth-brand {
	background: linear-gradient(165deg, var(--im-green-dark), #0d3d22 60%, #14201a);
	color: #fff;
	padding: 2rem 1.5rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.cp-auth-brand h1 {
	font-family: var(--font);
	font-size: 1.55rem;
	font-weight: 700;
	margin: 0 0 .65rem;
	color: #fff;
}
.cp-auth-brand p { opacity: .85; font-size: .9rem; margin: 0; line-height: 1.5; }
.cp-auth-logo {
	display: block;
	width: 96px;
	height: 96px;
	object-fit: contain;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 10px 26px rgba(0, 0, 0, .25);
	margin: 0 0 1rem;
}
.cp-auth-brand ul {
	list-style: none; padding: 0; margin: 1.5rem 0 0;
	font-size: .88rem; opacity: .9;
}
.cp-auth-brand li { margin-bottom: .55rem; display: flex; gap: .5rem; }
.cp-auth-brand li i { color: #86efac; }
.cp-auth-body { padding: 2rem 1.75rem; }
.cp-auth-body h2 {
	font-family: var(--font);
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 .35rem;
}
.cp-auth-body .sub { color: #878787; font-size: .88rem; margin-bottom: 1.25rem; }
.cp-otp-screen {
	border: 1px dashed #86efac;
	background: #f0fdf4;
	border-radius: 8px;
	padding: 1rem;
	text-align: center;
	margin-bottom: 1rem;
}
.cp-otp-screen .digits {
	font-size: 2rem;
	font-weight: 800;
	letter-spacing: .4em;
	color: var(--im-green-dark);
	font-family: ui-monospace, monospace;
}
.cp-otp-input {
	letter-spacing: .35em;
	font-size: 1.35rem;
	font-weight: 700;
	text-align: center;
}
.cp-auth-tabs {
	display: flex; gap: .5rem; margin-bottom: 1.25rem;
	border-bottom: 1px solid #eee;
}
.cp-auth-tabs a {
	padding: .65rem .85rem;
	font-weight: 600;
	font-size: .9rem;
	color: #878787;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.cp-auth-tabs a.active {
	color: var(--im-green-dark);
	border-bottom-color: var(--im-green);
}

@media (max-width: 991px) {
	.cp-shell { grid-template-columns: 1fr; }
	.cp-side { order: 2; }
	.cp-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cp-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cp-auth-card { grid-template-columns: 1fr; }
	.cp-auth-brand { min-height: auto; padding: 1.5rem; }
}
@media (max-width: 575px) {
	.cp-tiles { grid-template-columns: 1fr; }
}

.form-check-input {
	width: 1.2rem;
	height: 1.2rem;
	min-width: 1.2rem;
	min-height: 1.2rem;
	border: 2px solid #2e7d32 !important;
	background-color: #fff !important;
	cursor: pointer;
	accent-color: #1f7a45;
}
.form-check-input:checked {
	background-color: #1f7a45 !important;
	border-color: #165c34 !important;
}
.form-check-input:checked[type="checkbox"] {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3 6-6'/%3e%3c/svg%3e") !important;
}

.im-stars { color: #e6a817; font-size: 0.95rem; display: inline-flex; align-items: center; gap: 0.15rem; flex-wrap: wrap; }
.im-stars strong { color: #212529; }
.im-star-pick {
	display: inline-flex;
	flex-direction: row-reverse;
	gap: 0.1rem;
}
.im-star-pick input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.im-star-pick label {
	font-size: 1.85rem;
	line-height: 1;
	color: #d7dbe0;
	cursor: pointer;
	padding: 0.2rem 0.28rem;
}
.im-star-pick label:hover,
.im-star-pick label:hover ~ label,
.im-star-pick input:checked ~ label,
.im-star-pick input:focus-visible + label {
	color: #e6a817;
}
.form-check-input:checked[type="radio"] {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e") !important;
}
