/**
 * Ecohomes Account Settings — Front-end Styles
 */

/* ── CSS custom properties ─────────────────────────────────────────────────── */
:root {
	--eh-primary:        #2e7d32;
	--eh-primary-light:  #e8f5e9;
	--eh-primary-dark:   #1b5e20;
	--eh-accent:         #f57f17;
	--eh-text:           #212121;
	--eh-text-muted:     #757575;
	--eh-border:         #e0e0e0;
	--eh-bg:             #f5f5f5;
	--eh-white:          #ffffff;
	--eh-success:        #388e3c;
	--eh-warning:        #f57f17;
	--eh-error:          #c62828;
	--eh-danger:         #e53935;
	--eh-radius:         8px;
	--eh-radius-sm:      4px;
	--eh-shadow:         0 1px 4px rgba(0,0,0,.07);
	--eh-shadow-hover:   0 4px 16px rgba(0,0,0,.12);
	--eh-transition:     .18s ease;
	--eh-toggle-w:       42px;
	--eh-toggle-h:       22px;
	--eh-toggle-thumb:   16px;
	--eh-sidebar-w:      284px;
}

/* ── Accessibility helper ───────────────────────────────────────────────────── */
.eh-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;
}

/* ── Wrapper ────────────────────────────────────────────────────────────────── */
.eh-account-settings {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--eh-text);
	max-width: 1100px;
}

/* ── Page header ─────────────────────────────────────────────────────────────── */
.eh-settings-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

.eh-page-title {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: var(--eh-text) !important;
	margin: 0 0 4px !important;
}

.eh-page-subtitle {
	font-size: .88rem;
	color: var(--eh-text-muted);
	margin: 0;
}

.eh-last-updated {
	font-size: .8rem;
	color: var(--eh-text-muted);
	white-space: nowrap;
	margin-top: 4px;
}

/* ── Tab navigation ─────────────────────────────────────────────────────────── */
.eh-tab-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	border-bottom: 2px solid var(--eh-border);
	margin-bottom: 20px;
}

.eh-tab-nav__item {
	display: inline-block;
	padding: 9px 18px;
	font-size: .875rem;
	font-weight: 600;
	color: var(--eh-text-muted);
	text-decoration: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
	transition: color var(--eh-transition), border-color var(--eh-transition);
	white-space: nowrap;
}

.eh-tab-nav__item:hover {
	color: var(--eh-primary);
	text-decoration: none;
}

.eh-tab-nav__item--active {
	color: var(--eh-primary);
	border-bottom-color: var(--eh-primary);
}

/* ── Tab panels ─────────────────────────────────────────────────────────────── */
.eh-tab-panel {
	display: none;
}

.eh-tab-panel--active {
	display: block;
}

/* ── Two-column layout (profil tab) ─────────────────────────────────────────── */
.eh-settings-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) var(--eh-sidebar-w);
	gap: 20px;
	align-items: start;
}

.eh-settings-main {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.eh-settings-sidebar {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

/* ── Form sections (cards) ──────────────────────────────────────────────────── */
.eh-form-section {
	background: var(--eh-white);
	border: 1px solid var(--eh-border);
	border-radius: var(--eh-radius);
	padding: 20px 22px;
	box-shadow: var(--eh-shadow);
}

/* ── Section titles ─────────────────────────────────────────────────────────── */
.eh-section-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: .95rem;
	font-weight: 700;
	color: var(--eh-text);
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--eh-border);
}

.eh-section-title--no-border {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.eh-section-title--inline {
	margin-bottom: 0;
	border-bottom: none;
	padding-bottom: 0;
}

.eh-section-title .dashicons {
	color: var(--eh-primary);
	font-size: 1.1rem;
	width: auto;
	height: auto;
}

/* ── Profile identity block ─────────────────────────────────────────────────── */
.eh-profile-identity {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid var(--eh-border);
}

.eh-profile-identity-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.eh-profile-identity-name {
	font-size: 1rem;
	font-weight: 700;
	color: var(--eh-text);
}

.eh-profile-identity-email {
	font-size: .82rem;
	color: var(--eh-text-muted);
}

/* ── Avatar ──────────────────────────────────────────────────────────────────── */
.eh-avatar-wrap {
	position: relative;
	width: 72px;
	height: 72px;
	flex-shrink: 0;
}

.eh-avatar {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--eh-primary-light);
	display: block;
}

.eh-avatar-overlay {
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: rgba(0,0,0,.5);
	color: #fff;
	border: none;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	font-size: .65rem;
	font-weight: 600;
	opacity: 0;
	transition: opacity var(--eh-transition);
	padding: 0;
}

.eh-avatar-wrap:hover .eh-avatar-overlay,
.eh-avatar-overlay:focus {
	opacity: 1;
}

.eh-avatar-overlay .dashicons {
	font-size: 1.1rem;
	width: auto;
	height: auto;
}

/* ── Inline-edit info rows ──────────────────────────────────────────────────── */
.eh-info-rows {
	display: flex;
	flex-direction: column;
}

.eh-info-row {
	padding: 13px 0;
	border-bottom: 1px solid #f0f0f0;
}

.eh-info-row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.eh-info-row:first-child {
	padding-top: 0;
}

.eh-info-row-label {
	display: block;
	font-size: .76rem;
	font-weight: 600;
	color: var(--eh-text-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
	margin-bottom: 5px;
}

.eh-info-display {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.eh-info-value {
	font-size: .9rem;
	color: var(--eh-text);
	font-weight: 500;
	flex: 1;
}

.eh-info-value--password {
	display: flex;
	align-items: center;
	gap: 8px;
}

.eh-password-dots {
	font-size: 1.2rem;
	letter-spacing: 2px;
	color: var(--eh-text-muted);
	line-height: 1;
}

.eh-password-eye {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--eh-text-muted);
	display: inline-flex;
	align-items: center;
}

.eh-password-eye:hover {
	color: var(--eh-primary);
}

.eh-password-eye .dashicons {
	font-size: 1rem;
	width: auto;
	height: auto;
}

.eh-info-empty {
	color: var(--eh-text-muted);
	font-style: italic;
	font-weight: 400;
	font-size: .85rem;
}

/* Edit button on info row */
.eh-info-edit-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 12px;
	border: 1px solid var(--eh-border);
	border-radius: var(--eh-radius-sm);
	background: var(--eh-white);
	color: var(--eh-text-muted);
	font-size: .8rem;
	font-weight: 600;
	cursor: pointer;
	white-space: nowrap;
	transition: border-color var(--eh-transition), color var(--eh-transition), background var(--eh-transition);
	flex-shrink: 0;
}

.eh-info-edit-btn:hover {
	border-color: var(--eh-primary);
	color: var(--eh-primary);
	background: var(--eh-primary-light);
}

.eh-info-edit-btn .dashicons {
	font-size: .9rem;
	width: auto;
	height: auto;
}

.eh-info-edit-btn--primary {
	border-color: var(--eh-primary);
	color: var(--eh-primary);
	background: var(--eh-primary-light);
}

.eh-info-edit-btn--primary:hover {
	background: var(--eh-primary);
	color: #fff;
}

/* Inline edit mode */
.eh-info-edit {
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.eh-info-edit[hidden] {
	display: none;
}

.eh-info-edit input[type="text"],
.eh-info-edit input[type="email"],
.eh-info-edit input[type="tel"],
.eh-info-edit input[type="password"] {
	width: 100%;
	padding: 9px 11px;
	border: 1px solid var(--eh-border);
	border-radius: var(--eh-radius-sm);
	font-size: .88rem;
	color: var(--eh-text);
	background: var(--eh-white);
	box-sizing: border-box;
	transition: border-color var(--eh-transition), box-shadow var(--eh-transition);
}

.eh-info-edit input:focus {
	outline: none;
	border-color: var(--eh-primary);
	box-shadow: 0 0 0 3px rgba(46,125,50,.12);
}

.eh-info-edit--two-col {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.eh-info-edit--password {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.eh-inline-edit-actions {
	display: flex;
	gap: 8px;
	align-items: center;
}

.eh-inline-edit-actions--span {
	grid-column: 1 / -1;
}

.eh-btn-inline-save {
	font-size: .82rem !important;
	padding: 5px 14px !important;
}

/* ── 2FA section ─────────────────────────────────────────────────────────────── */
.eh-2fa-section {
	padding-bottom: 18px;
}

.eh-2fa-header-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
}

.eh-2fa-body-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.eh-2fa-body-left {
	flex: 1;
}

.eh-2fa-desc {
	font-size: .88rem;
	color: var(--eh-text-muted);
	margin: 0 0 10px;
}

.eh-btn-2fa-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--eh-primary);
	font-size: .86rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color var(--eh-transition);
}

.eh-btn-2fa-link:hover {
	color: var(--eh-primary-dark);
}

.eh-btn-2fa-link--active {
	color: var(--eh-danger);
}

.eh-btn-2fa-link .dashicons {
	font-size: .9rem;
	width: auto;
	height: auto;
}

/* 2FA phone illustration */
.eh-2fa-illustration {
	flex-shrink: 0;
}

.eh-2fa-phone {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	border: 2px solid var(--eh-primary-light);
	border-radius: 10px;
	background: var(--eh-primary-light);
	position: relative;
	flex-direction: column;
	gap: 4px;
}

.eh-2fa-phone .dashicons {
	font-size: 1.6rem;
	width: auto;
	height: auto;
	color: var(--eh-primary);
}

.eh-qr-mini {
	display: grid;
	grid-template-columns: repeat(3, 6px);
	grid-template-rows: repeat(3, 6px);
	gap: 1px;
}

.eh-qr-dot {
	width: 6px;
	height: 6px;
	border-radius: 1px;
}

.eh-qr-dot.on  { background: var(--eh-primary); }
.eh-qr-dot.off { background: var(--eh-primary-light); }

/* Existing 2FA row (Keamanan tab) */
.eh-2fa-row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}

.eh-2fa-info {
	flex: 1;
}

.eh-2fa-info p {
	margin: 0 0 8px;
	font-size: .9rem;
}

.eh-2fa-controls {
	flex-shrink: 0;
}

.eh-2fa-qr-section {
	padding: 14px;
	background: var(--eh-bg);
	border: 1px dashed var(--eh-border);
	border-radius: var(--eh-radius-sm);
	margin-top: 14px;
}

.eh-2fa-instructions {
	margin: 0 0 10px;
	font-size: .88rem;
	color: var(--eh-text-muted);
}

.eh-2fa-qr-placeholder {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 110px;
	height: 110px;
	border: 2px dashed var(--eh-border);
	border-radius: var(--eh-radius-sm);
	gap: 6px;
	margin-bottom: 10px;
	color: var(--eh-text-muted);
	font-size: .78rem;
	text-align: center;
	padding: 8px;
}

.eh-2fa-qr-placeholder .dashicons {
	font-size: 1.8rem;
	width: auto;
	height: auto;
}

/* ── Activity table ──────────────────────────────────────────────────────────── */
.eh-section-header-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 14px;
}

.eh-section-header-row .eh-section-title {
	margin: 0;
	border: none;
	padding: 0;
	flex: 1;
}

.eh-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.eh-activity-table {
	width: 100%;
	font-size: .82rem;
	border-collapse: collapse;
	min-width: 560px;
}

.eh-activity-table th {
	text-align: left;
	font-weight: 700;
	padding: 9px 10px;
	background: var(--eh-bg);
	border-bottom: 2px solid var(--eh-border);
	white-space: nowrap;
	color: var(--eh-text-muted);
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.eh-activity-table td {
	padding: 10px;
	border-bottom: 1px solid #f0f0f0;
	vertical-align: middle;
}

.eh-activity-table tbody tr:last-child td {
	border-bottom: none;
}

.eh-activity-table tbody tr:hover td {
	background: #fafafa;
}

.eh-act-device {
	display: flex !important;
	align-items: center;
	gap: 8px;
}

.eh-act-device-icon {
	font-size: 1.2rem !important;
	width: auto !important;
	height: auto !important;
	color: var(--eh-text-muted);
	flex-shrink: 0;
}

.eh-act-device-info {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.eh-act-device-info strong {
	font-weight: 600;
	font-size: .82rem;
	color: var(--eh-text);
}

.eh-act-device-info small {
	font-size: .74rem;
	color: var(--eh-text-muted);
}

.eh-act-ip code {
	font-size: .78rem;
	background: #f5f5f5;
	padding: 2px 5px;
	border-radius: 3px;
}

.eh-act-date {
	white-space: nowrap;
	font-size: .78rem;
	color: var(--eh-text-muted);
}

.eh-act-status .eh-badge {
	font-size: .72rem;
}

.eh-act-hapus {
	text-align: right;
}

.eh-btn-hapus-sesi {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--eh-danger);
	font-size: .78rem;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	white-space: nowrap;
}

.eh-btn-hapus-sesi:hover {
	color: var(--eh-error);
}

.eh-ua-cell {
	color: var(--eh-text-muted);
	font-size: .78rem;
	max-width: 220px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.eh-action-label {
	display: inline-block;
	background: var(--eh-primary-light);
	color: var(--eh-primary-dark);
	padding: 2px 7px;
	border-radius: 20px;
	font-size: .74rem;
	font-weight: 600;
}

.eh-empty-state {
	text-align: center;
	color: var(--eh-text-muted);
	padding: 20px 0;
	font-size: .88rem;
}

/* ── Sidebar cards ───────────────────────────────────────────────────────────── */
.eh-side-card {
	background: var(--eh-white);
	border: 1px solid var(--eh-border);
	border-radius: var(--eh-radius);
	padding: 16px 18px;
	box-shadow: var(--eh-shadow);
}

.eh-side-title {
	display: flex;
	align-items: center;
	gap: 7px;
	font-size: .88rem;
	font-weight: 700;
	color: var(--eh-text);
	margin: 0 0 12px;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--eh-border);
}

.eh-side-title .dashicons {
	color: var(--eh-primary);
	font-size: 1rem;
	width: auto;
	height: auto;
}

.eh-side-hint {
	font-size: .79rem;
	color: var(--eh-text-muted);
	margin: -6px 0 10px;
}

/* ── Sidebar toggle rows ─────────────────────────────────────────────────────── */
.eh-side-toggles {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.eh-side-toggle-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 9px 0;
	border-bottom: 1px solid #f0f0f0;
	gap: 8px;
}

.eh-side-toggle-row:last-child {
	border-bottom: none;
	padding-bottom: 0;
}

.eh-side-toggle-row:first-child {
	padding-top: 0;
}

.eh-side-toggle-label {
	font-size: .84rem;
	color: var(--eh-text);
	display: flex;
	align-items: center;
	gap: 5px;
	flex: 1;
}

/* ── Sidebar Language & Locale ───────────────────────────────────────────────── */
.eh-side-lang-rows {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.eh-side-lang-row {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.eh-side-lang-label {
	font-size: .78rem;
	font-weight: 600;
	color: var(--eh-text-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
}

.eh-side-select,
.eh-side-input {
	width: 100%;
	padding: 7px 10px;
	border: 1px solid var(--eh-border);
	border-radius: var(--eh-radius-sm);
	font-size: .84rem;
	color: var(--eh-text);
	background: var(--eh-white);
	box-sizing: border-box;
	transition: border-color var(--eh-transition);
}

.eh-side-select:focus,
.eh-side-input:focus {
	outline: none;
	border-color: var(--eh-primary);
	box-shadow: 0 0 0 2px rgba(46,125,50,.1);
}

/* ── Help card ───────────────────────────────────────────────────────────────── */
.eh-side-card--help {
	background: linear-gradient(135deg, var(--eh-primary) 0%, var(--eh-primary-dark) 100%);
	border-color: var(--eh-primary-dark);
	color: #fff;
}

.eh-help-icon {
	display: block;
	font-size: 1.6rem !important;
	width: auto !important;
	height: auto !important;
	margin-bottom: 6px;
	opacity: .9;
}

.eh-side-help-title {
	font-size: .88rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 6px;
}

.eh-side-help-desc {
	font-size: .79rem;
	color: rgba(255,255,255,.8);
	margin: 0 0 12px;
	line-height: 1.5;
}

.eh-help-konsul-btn {
	display: block !important;
	text-align: center;
	background: rgba(255,255,255,.15) !important;
	border-color: rgba(255,255,255,.4) !important;
	color: #fff !important;
	font-size: .84rem !important;
	padding: 8px 16px !important;
	border-radius: var(--eh-radius-sm) !important;
	font-weight: 600 !important;
	transition: background var(--eh-transition) !important;
}

.eh-help-konsul-btn:hover {
	background: rgba(255,255,255,.25) !important;
	color: #fff !important;
	text-decoration: none !important;
}

/* ── Toggle switch ───────────────────────────────────────────────────────────── */
.eh-toggle-switch {
	position: relative;
	display: inline-flex;
	align-items: center;
	cursor: pointer;
	width: var(--eh-toggle-w);
	height: var(--eh-toggle-h);
	flex-shrink: 0;
}

.eh-toggle-switch input[type="checkbox"] {
	opacity: 0;
	width: 0;
	height: 0;
	position: absolute;
}

.eh-toggle-slider {
	position: absolute;
	inset: 0;
	background: var(--eh-border);
	border-radius: var(--eh-toggle-h);
	transition: background var(--eh-transition);
}

.eh-toggle-slider::before {
	content: '';
	position: absolute;
	width: var(--eh-toggle-thumb);
	height: var(--eh-toggle-thumb);
	left: 3px;
	top: 50%;
	transform: translateY(-50%);
	background: var(--eh-white);
	border-radius: 50%;
	transition: left var(--eh-transition);
	box-shadow: 0 1px 3px rgba(0,0,0,.25);
}

.eh-toggle-switch input:checked + .eh-toggle-slider {
	background: var(--eh-primary);
}

.eh-toggle-switch input:checked + .eh-toggle-slider::before {
	left: calc(var(--eh-toggle-w) - var(--eh-toggle-thumb) - 3px);
}

.eh-toggle-switch input:focus + .eh-toggle-slider {
	box-shadow: 0 0 0 3px rgba(46,125,50,.2);
}

/* ── Badges ──────────────────────────────────────────────────────────────────── */
.eh-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 9px;
	border-radius: 20px;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	white-space: nowrap;
}

.eh-badge--active {
	background: #e8f5e9;
	color: var(--eh-primary-dark);
}

.eh-badge--inactive {
	background: #eeeeee;
	color: var(--eh-text-muted);
}

/* ── Notification table (Notifikasi tab) ─────────────────────────────────────── */
.eh-notif-table {
	border: 1px solid var(--eh-border);
	border-radius: var(--eh-radius-sm);
	overflow: hidden;
}

.eh-notif-row {
	display: grid;
	grid-template-columns: 1fr 80px 80px;
	align-items: center;
	padding: 13px 16px;
	border-bottom: 1px solid var(--eh-border);
	gap: 12px;
}

.eh-notif-row:last-child {
	border-bottom: none;
}

.eh-notif-row--header {
	background: var(--eh-bg);
	font-size: .76rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--eh-text-muted);
	padding: 9px 16px;
}

.eh-notif-col--label {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: .88rem;
}

.eh-notif-col--channel {
	display: flex;
	justify-content: center;
}

.eh-notif-na {
	color: var(--eh-border);
	font-size: 1rem;
}

/* ── Form fields (generic — Integrasi / other tabs) ─────────────────────────── */
.eh-form-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 16px;
}

.eh-field--full {
	grid-column: 1 / -1;
}

.eh-field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.eh-field label {
	font-size: .86rem;
	font-weight: 600;
	color: var(--eh-text);
	display: flex;
	align-items: center;
	gap: 4px;
}

.eh-field input[type="text"],
.eh-field input[type="email"],
.eh-field input[type="tel"],
.eh-field input[type="url"],
.eh-field input[type="password"],
.eh-field textarea,
.eh-field select {
	width: 100%;
	padding: 9px 11px;
	border: 1px solid var(--eh-border);
	border-radius: var(--eh-radius-sm);
	font-size: .88rem;
	color: var(--eh-text);
	background: var(--eh-white);
	transition: border-color var(--eh-transition), box-shadow var(--eh-transition);
	box-sizing: border-box;
}

.eh-field input:focus,
.eh-field textarea:focus,
.eh-field select:focus {
	outline: none;
	border-color: var(--eh-primary);
	box-shadow: 0 0 0 3px rgba(46,125,50,.12);
}

.eh-field-hint {
	margin: 0 0 12px;
	font-size: .8rem;
	color: var(--eh-text-muted);
}

.eh-field--inline {
	flex-direction: row;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}

.eh-field--inline label {
	white-space: nowrap;
	margin: 0;
}

.eh-mono {
	font-family: monospace;
	letter-spacing: .04em;
}

/* ── Social icon ─────────────────────────────────────────────────────────────── */
.eh-social-icon {
	font-size: 1.1rem;
	line-height: 1;
}

/* ── Buttons ─────────────────────────────────────────────────────────────────── */
.eh-save-btn {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	padding: 9px 22px !important;
	font-size: .9rem !important;
	background-color: var(--eh-primary) !important;
	border-color: var(--eh-primary-dark) !important;
}

.eh-save-btn:hover {
	background-color: var(--eh-primary-dark) !important;
}

.eh-btn--danger {
	color: var(--eh-danger) !important;
	border-color: var(--eh-danger) !important;
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
}

.eh-btn--danger:hover {
	background: var(--eh-danger) !important;
	color: #fff !important;
}

.eh-btn--enable {
	background-color: var(--eh-primary) !important;
	border-color: var(--eh-primary-dark) !important;
	color: #fff !important;
}

.eh-btn--disable {
	color: var(--eh-text-muted) !important;
}

/* ── Form footer ─────────────────────────────────────────────────────────────── */
.eh-form-footer {
	display: flex;
	gap: 12px;
	padding-top: 18px;
	border-top: 1px solid var(--eh-border);
	margin-top: 0;
	flex-wrap: wrap;
}

/* ── Notices ─────────────────────────────────────────────────────────────────── */
.eh-account-settings .woocommerce-message,
.eh-account-settings .woocommerce-error {
	margin-bottom: 16px;
}

/* ── Responsive ──────────────────────────────────────────────────────────────── */
@media ( max-width: 900px ) {
	.eh-settings-layout {
		grid-template-columns: 1fr;
	}
	.eh-settings-sidebar {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 14px;
	}
	.eh-side-card--help {
		grid-column: 1 / -1;
	}
}

@media ( max-width: 600px ) {
	.eh-tab-nav {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.eh-tab-nav__item {
		padding: 8px 12px;
		font-size: .82rem;
	}
	.eh-form-grid {
		grid-template-columns: 1fr;
	}
	.eh-field--full {
		grid-column: 1;
	}
	.eh-settings-sidebar {
		grid-template-columns: 1fr;
	}
	.eh-info-edit--two-col {
		grid-template-columns: 1fr;
	}
	.eh-notif-row {
		grid-template-columns: 1fr 60px 60px;
		padding: 10px 12px;
	}
	.eh-settings-header {
		flex-direction: column;
		gap: 4px;
	}
}

@media ( max-width: 480px ) {
	.eh-section-header-row {
		flex-direction: column;
		align-items: flex-start;
	}
}
