/* PropertyMitras accounts: /login/, /my-account/, /my-account/shortlist/. Figma 2007:3896, 2008:4023, 2008:4312.
   Values read Elementor globals (--pm-*); rules are scoped under their block root. */

/* Eyebrow (also defined in pm-core blocks; repeated here because account pages don't load those). */
.pm-login .pm-eyebrow, .pm-acc .pm-eyebrow, .pm-short .pm-eyebrow { margin: 0 0 12px; color: var(--pm-orange-700); font: 500 11px/16px var(--pm-font-display), system-ui, sans-serif; letter-spacing: 0.12em; text-transform: uppercase; }

/* ---------- Sign in ---------- */
.pm-login { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; align-items: stretch; min-height: calc(100dvh - 140px); padding: 24px 0; }
.pm-login__art { position: relative; overflow: hidden; min-height: 560px; border-radius: 32px; background: var(--pm-navy-700); isolation: isolate; }
.pm-login .pm-login__img { position: absolute; inset: 0; z-index: -1; width: 100%; height: 100%; object-fit: cover; }
.pm-login__art::after { content: ""; position: absolute; inset: 45% 0 0; z-index: -1; background: linear-gradient(transparent, rgb(0 22 42 / 0.82)); }
.pm-login .pm-login__logo { position: absolute; top: 32px; left: 32px; display: flex; padding: 10px 14px; border-radius: 14px; background: var(--pm-neutral-0); }
.pm-login .pm-login__logo img { display: block; width: auto; height: 36px; }
.pm-login__points { position: absolute; right: 32px; bottom: 32px; left: 32px; display: flex; flex-direction: column; gap: 10px; margin: 0; padding: 0; list-style: none; color: var(--pm-neutral-0); font: 600 20px/28px var(--pm-font-display), system-ui, sans-serif; }
.pm-login__points li::before { content: "✓"; margin-right: 12px; color: var(--pm-orange-400); }
.pm-login__panel { display: flex; flex-direction: column; justify-content: center; max-width: 520px; padding: 24px 0; }
.pm-login .pm-login__back { align-self: flex-start; margin-bottom: auto; color: var(--pm-neutral-700); font: 500 13px/20px var(--pm-font-display), system-ui, sans-serif; text-decoration: none; }
.pm-login__form { margin: 48px 0 0; }
.pm-login__form section[hidden] { display: none; }
.pm-login .pm-login__title { margin: 6px 0 12px; color: var(--pm-navy-700); font: 600 44px/52px var(--pm-font-display), system-ui, sans-serif; letter-spacing: -0.02em; text-wrap: balance; }
.pm-login .pm-login__title em { font-style: normal; color: var(--pm-orange-700); }
.pm-login__lede { margin: 0 0 24px; color: var(--pm-neutral-700); font: 400 15px/24px var(--pm-font-body), system-ui, sans-serif; }
.pm-login .pm-f__box { height: 56px; border-radius: var(--pm-radius-pill); padding: 0 22px; }
.pm-login .pm-f input { flex: 1; min-width: 0; height: 100%; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; outline: none; color: var(--pm-neutral-900); font: 500 16px/22px var(--pm-font-display), system-ui, sans-serif; }
.pm-login__check { display: flex; align-items: center; gap: 10px; margin: 16px 0 0; color: var(--pm-neutral-700); font: 400 13px/20px var(--pm-font-body), system-ui, sans-serif; cursor: pointer; }
.pm-login__check input { width: 18px; height: 18px; margin: 0; accent-color: var(--pm-navy-700); }
.pm-login .pm-login__btn { width: 100%; height: 56px; margin-top: 24px; }
.pm-login .pm-otp input { width: 64px; height: 64px; }
.pm-login__terms { margin: 16px 0 0; color: var(--pm-neutral-500); font: 400 12px/18px var(--pm-font-body), system-ui, sans-serif; }
.pm-login__terms a { color: var(--pm-orange-700); }
.pm-login__benefits { margin-top: 32px; padding-top: 24px; border-top: 1px solid var(--pm-neutral-100); }
.pm-login__benefits ul { display: flex; flex-direction: column; gap: 8px; margin: 12px 0 0; padding: 0; list-style: none; color: var(--pm-neutral-700); font: 400 13px/20px var(--pm-font-body), system-ui, sans-serif; }
.pm-login__benefits li::before { content: "✓"; margin-right: 10px; color: var(--pm-orange-700); }
.pm-login .pm-dlg__error { margin-top: 12px; }

/* ---------- Dashboard ---------- */
.pm-acc .pm-crumbs, .pm-short .pm-crumbs { margin-bottom: 14px; }
.pm-acc .pm-acc__title, .pm-short .pm-acc__title { margin: 0; color: var(--pm-navy-700); font: 600 48px/58px var(--pm-font-display), system-ui, sans-serif; letter-spacing: -0.02em; text-wrap: balance; }
.pm-acc__sub { margin: 4px 0 0; color: var(--pm-neutral-500); font: 400 16px/24px var(--pm-font-body), system-ui, sans-serif; }
.pm-acc__layout { display: grid; grid-template-columns: 256px minmax(0, 1fr); gap: 32px; align-items: start; margin-top: 40px; }
.pm-acc__side { position: sticky; top: calc(var(--pm-header-h, 88px) + 24px); display: flex; flex-direction: column; padding: 24px 16px; border-radius: var(--pm-radius-lg); background: var(--pm-neutral-50); }
.pm-acc__me { display: flex; flex-direction: column; gap: 2px; padding: 0 8px 20px; border-bottom: 1px solid var(--pm-neutral-100); }
.pm-acc__avatar { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: 14px; border-radius: 50%; background: var(--pm-navy-700); color: var(--pm-neutral-0); font: 600 18px/1 var(--pm-font-display), system-ui, sans-serif; }
.pm-acc__me strong { overflow: hidden; color: var(--pm-navy-700); font: 600 17px/24px var(--pm-font-display), system-ui, sans-serif; text-overflow: ellipsis; }
.pm-acc__me span:not(.pm-acc__avatar) { overflow: hidden; color: var(--pm-neutral-500); font: 400 12px/18px var(--pm-font-body), system-ui, sans-serif; text-overflow: ellipsis; }
.pm-acc__nav { display: flex; flex-direction: column; gap: 4px; padding: 16px 0; border-bottom: 1px solid var(--pm-neutral-100); }
.pm-acc .pm-acc__nav a { display: flex; align-items: center; gap: 4px; height: 44px; padding: 0 16px; border-radius: var(--pm-radius-pill); color: var(--pm-neutral-900); font: 500 14px/20px var(--pm-font-display), system-ui, sans-serif; text-decoration: none; transition: background-color 150ms ease; }
.pm-acc .pm-acc__nav a span { color: var(--pm-neutral-500); }
.pm-acc .pm-acc__nav a:hover { background: var(--pm-neutral-100); color: var(--pm-neutral-900); }
.pm-acc .pm-acc__nav a[aria-current] { background: var(--pm-navy-700); color: var(--pm-neutral-0); }
.pm-acc .pm-acc__nav a[aria-current] span { color: var(--pm-navy-100); }
.pm-acc .pm-acc__out { padding: 16px 16px 0; color: var(--pm-neutral-700); font: 500 14px/20px var(--pm-font-display), system-ui, sans-serif; text-decoration: none; }
.pm-acc__main { display: flex; flex-direction: column; gap: 24px; min-width: 0; }

.pm-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.pm-acc .pm-stat { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 2px; min-height: 112px; padding: 0 24px; border-radius: var(--pm-radius-lg); background: var(--pm-neutral-50); color: var(--pm-neutral-500); text-decoration: none; transition: background-color 150ms ease; }
.pm-stat strong { color: var(--pm-orange-700); font: 600 32px/40px var(--pm-font-display), system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.pm-stat > span:not(.pm-stat__icon) { font: 400 13px/20px var(--pm-font-body), system-ui, sans-serif; }
.pm-stat__icon { position: absolute; top: 20px; right: 20px; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; background: var(--pm-orange-50); color: var(--pm-orange-700); }
.pm-stat__icon .pm-icon { width: 22px; height: 22px; }
.pm-acc .pm-stat.is-dark { background: var(--pm-navy-700); color: var(--pm-navy-100); }
.pm-stat.is-dark strong { color: var(--pm-orange-500); }
.pm-stat.is-dark .pm-stat__icon { background: var(--pm-navy-600); color: var(--pm-orange-500); }
.pm-acc .pm-stat:hover { background: var(--pm-neutral-100); color: var(--pm-neutral-500); }
.pm-acc .pm-stat.is-dark:hover { background: var(--pm-navy-800); color: var(--pm-navy-100); }

.pm-acc__card { padding: 28px 32px; border-radius: var(--pm-radius-lg); background: var(--pm-neutral-0); box-shadow: inset 0 0 0 1px var(--pm-neutral-100); }
.pm-acc__card > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; }
.pm-acc .pm-acc__card h2 { margin: 0; color: var(--pm-navy-700); font: 600 22px/30px var(--pm-font-display), system-ui, sans-serif; }
.pm-acc .pm-acc__card > header a { color: var(--pm-orange-700); font: 600 13px/20px var(--pm-font-display), system-ui, sans-serif; text-decoration: none; }
.pm-acc__two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.pm-acc__empty { display: flex; flex-direction: column; align-items: flex-start; gap: 16px; padding: 8px 0; }
.pm-acc__empty p { margin: 0; color: var(--pm-neutral-500); font: 400 14px/22px var(--pm-font-body), system-ui, sans-serif; }
.pm-acc .pm-acc__btn, .pm-short .pm-acc__btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 24px; border: 0; border-radius: var(--pm-radius-pill);
	background: var(--pm-navy-700); color: var(--pm-neutral-0); font: 600 14px/20px var(--pm-font-display), system-ui, sans-serif; text-decoration: none; cursor: pointer;
	transition: transform 160ms cubic-bezier(0.23, 1, 0.32, 1), background-color 150ms ease;
}
.pm-acc .pm-acc__btn:hover, .pm-short .pm-acc__btn:hover { background: var(--pm-navy-800); color: var(--pm-neutral-0); }
.pm-acc .pm-acc__btn:active, .pm-short .pm-acc__btn:active { transform: scale(0.97); }
.pm-acc .pm-acc__btn--wide { width: 100%; margin-top: 20px; }

/* Visits. */
.pm-visits, .pm-enqs, .pm-minis, .pm-pdfs { margin: 0; padding: 0; list-style: none; }
.pm-visit { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto auto; align-items: center; gap: 20px; padding: 20px 0; border-top: 1px solid var(--pm-neutral-100); }
.pm-visit:first-child { padding-top: 0; border-top: 0; }
.pm-visit.is-cancelled { opacity: 0.55; }
.pm-visit__date { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 72px; border-radius: 14px; background: var(--pm-neutral-50); }
.pm-visit__date small { color: var(--pm-orange-700); font: 600 10px/14px var(--pm-font-display), system-ui, sans-serif; text-transform: uppercase; }
.pm-visit__date small:last-child { color: var(--pm-neutral-500); }
.pm-visit__date strong { color: var(--pm-navy-700); font: 600 22px/28px var(--pm-font-display), system-ui, sans-serif; }
.pm-visit__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pm-visit__text strong { color: var(--pm-neutral-900); font: 600 15px/22px var(--pm-font-display), system-ui, sans-serif; }
.pm-visit__text span { color: var(--pm-neutral-500); font: 400 12px/18px var(--pm-font-body), system-ui, sans-serif; }
.pm-pill { display: inline-flex; align-items: center; justify-content: center; height: 28px; padding: 0 14px; border-radius: var(--pm-radius-pill); background: var(--pm-neutral-50); color: var(--pm-neutral-900); font: 500 11px/16px var(--pm-font-display), system-ui, sans-serif; white-space: nowrap; }
.pm-pill.is-dark { background: var(--pm-navy-700); color: var(--pm-neutral-0); }
.pm-visit__actions { display: flex; align-items: center; gap: 20px; }
.pm-acc .pm-visit__link { color: var(--pm-orange-700); font: 600 13px/20px var(--pm-font-display), system-ui, sans-serif; text-decoration: none; }
.pm-acc .pm-visit__cancel, .pm-acc .pm-visit__cancel:hover, .pm-acc .pm-visit__cancel:focus { padding: 0; border: 0; background: none; color: var(--pm-neutral-700); font: 500 13px/20px var(--pm-font-display), system-ui, sans-serif; cursor: pointer; }
.pm-acc .pm-visit__cancel[data-armed] { color: var(--pm-error); }

/* Enquiries, mini project rows, brochures. */
.pm-enqs li { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; border-top: 1px solid var(--pm-neutral-100); }
.pm-enqs li:first-child { padding-top: 0; border-top: 0; }
.pm-enqs li > span:first-child { display: flex; flex-direction: column; min-width: 0; }
.pm-enqs strong { color: var(--pm-neutral-900); font: 600 14px/20px var(--pm-font-display), system-ui, sans-serif; }
.pm-enqs li > span:first-child span { color: var(--pm-neutral-500); font: 400 12px/18px var(--pm-font-body), system-ui, sans-serif; }
.pm-minis { display: flex; flex-direction: column; gap: 16px; }
.pm-acc .pm-mini a { display: flex; align-items: center; gap: 16px; color: inherit; text-decoration: none; }
.pm-mini img { flex: none; width: 96px; height: 64px; border-radius: 10px; object-fit: cover; }
.pm-mini strong { display: block; color: var(--pm-neutral-900); font: 600 15px/22px var(--pm-font-display), system-ui, sans-serif; }
.pm-mini span span { color: var(--pm-neutral-500); font: 400 12px/18px var(--pm-font-body), system-ui, sans-serif; }
.pm-mini em { font-style: normal; color: var(--pm-orange-700); font-weight: 600; }
.pm-pdfs { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; }
.pm-acc .pm-pdf { display: flex; align-items: center; gap: 12px; padding: 14px; border-radius: 14px; background: var(--pm-neutral-50); color: inherit; text-decoration: none; }
.pm-pdf__icon { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 8px; background: var(--pm-orange-500); color: var(--pm-neutral-0); font: 700 10px/1 var(--pm-font-display), system-ui, sans-serif; }
.pm-pdf strong { display: block; color: var(--pm-neutral-900); font: 600 13px/20px var(--pm-font-display), system-ui, sans-serif; }
.pm-pdf span span { color: var(--pm-neutral-500); font: 400 11px/16px var(--pm-font-body), system-ui, sans-serif; }

/* Profile form (reuses the dialog field styles). */
.pm-acc__profile .pm-f__box { height: 52px; }
.pm-acc__profile .pm-f input { flex: 1; min-width: 0; height: 100%; margin: 0; padding: 0; border: 0; background: none; box-shadow: none; outline: none; font: 500 15px/22px var(--pm-font-display), system-ui, sans-serif; }
.pm-acc__profile .pm-f input[readonly] { color: var(--pm-neutral-500); }
.pm-acc__profile .pm-acc__btn { margin-top: 24px; }
.pm-acc__saved { margin: 12px 0 0; color: var(--pm-success); font: 600 13px/20px var(--pm-font-display), system-ui, sans-serif; }

/* ---------- Shortlist page ---------- */
.pm-short__note { margin: 8px 0 0; color: var(--pm-neutral-700); font: 400 13px/20px var(--pm-font-body), system-ui, sans-serif; }
.pm-short__note a { color: var(--pm-orange-700); font-weight: 600; }
.pm-short__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; margin-top: 40px; }
.pm-short__aside { position: sticky; top: calc(var(--pm-header-h, 88px) + 24px); display: flex; flex-direction: column; gap: 16px; }
.pm-short__compare { padding: 28px; border-radius: var(--pm-radius-lg); background: var(--pm-navy-700); color: var(--pm-neutral-0); }
.pm-short__compare .pm-eyebrow { color: var(--pm-orange-400); }
.pm-short__count { margin: 0 0 16px; font: 600 22px/30px var(--pm-font-display), system-ui, sans-serif; }
.pm-short__compare ul { display: flex; flex-direction: column; gap: 8px; margin: 0 0 20px; padding: 0; list-style: none; font: 500 13px/20px var(--pm-font-display), system-ui, sans-serif; }
.pm-short .pm-acc__btn--light, .pm-short .pm-acc__btn--light:hover { width: 100%; background: var(--pm-neutral-0); color: var(--pm-navy-900); }
.pm-short .pm-acc__btn--light[aria-disabled] { opacity: 0.5; pointer-events: none; }
.pm-short__hint { margin: 16px 0 0; color: var(--pm-navy-100); font: 400 12px/18px var(--pm-font-body), system-ui, sans-serif; }
.pm-short__help { padding: 24px; border-radius: var(--pm-radius-lg); background: var(--pm-neutral-50); }
.pm-short .pm-short__help h2 { margin: 0 0 6px; color: var(--pm-navy-700); font: 600 18px/26px var(--pm-font-display), system-ui, sans-serif; }
.pm-short__help p { margin: 0 0 16px; color: var(--pm-neutral-500); font: 400 13px/20px var(--pm-font-body), system-ui, sans-serif; }
.pm-short .pm-acc__btn--outline, .pm-short .pm-acc__btn--outline:hover { width: 100%; background: none; box-shadow: inset 0 0 0 1.5px var(--pm-navy-700); color: var(--pm-navy-700); }
.pm-short__empty { align-items: center; margin-top: 40px; padding: 56px 24px; border-radius: var(--pm-radius-xl); background: var(--pm-neutral-50); text-align: center; }

/* ---------- Tablet / mobile ---------- */
@media (max-width: 1023px) {
	.pm-login { grid-template-columns: 1fr; gap: 24px; min-height: 0; }
	.pm-login__art { min-height: 240px; }
	.pm-login__points { display: none; }
	.pm-acc__layout { grid-template-columns: 1fr; }
	.pm-acc__side { position: static; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 16px; }
	.pm-acc__me { flex: 1; padding: 0; border: 0; }
	.pm-acc__me .pm-acc__avatar { display: none; }
	.pm-acc__nav { order: 3; flex-direction: row; flex-basis: 100%; overflow-x: auto; padding: 12px 0 0; border: 0; scrollbar-width: none; }
	.pm-acc .pm-acc__nav a { flex: none; height: 40px; }
	.pm-acc .pm-acc__out { padding: 0; }
	.pm-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pm-acc__two { grid-template-columns: 1fr; }
	.pm-short__layout { grid-template-columns: 1fr; }
	.pm-short__aside { position: static; }
}
@media (max-width: 767px) {
	.pm-login { padding: 8px 0; }
	.pm-login__art { min-height: 180px; border-radius: var(--pm-radius-lg); }
	.pm-login .pm-login__logo { top: 16px; left: 16px; }
	.pm-login__form { margin-top: 16px; }
	.pm-login .pm-login__title { font-size: 32px; line-height: 40px; }
	.pm-login .pm-otp input { width: calc((100% - 50px) / 6); height: 56px; }
	.pm-acc .pm-acc__title, .pm-short .pm-acc__title { font-size: 32px; line-height: 40px; }
	.pm-acc__layout, .pm-short__layout { margin-top: 24px; }
	.pm-acc__card { padding: 20px; }
	.pm-stats { gap: 10px; }
	.pm-acc .pm-stat { min-height: 96px; padding: 0 16px; }
	.pm-stat strong { font-size: 26px; line-height: 34px; }
	.pm-stat__icon { top: 12px; right: 12px; width: 36px; height: 36px; }
	.pm-visit { grid-template-columns: 56px minmax(0, 1fr); gap: 12px 16px; }
	.pm-visit .pm-pill { grid-column: 2; justify-self: start; }
	.pm-visit__actions { grid-column: 2; }
}
