/**
 * Customer Portal presentation in NoviDeck Free.
 * Elementor controls can override these neutral defaults.
 */
.nd-portal {
	--nd-widget-surface: var(--e-global-color-secondary, #ffffff);
	--nd-widget-heading: var(--e-global-color-primary, #101828);
	--nd-widget-text: #475467;
	--nd-widget-border: #dbe3ef;
	--nd-widget-spacing: 12px;
	display: grid;
	gap: calc(var(--nd-widget-spacing) * 0.7);
	justify-items: start;
	padding: calc(var(--nd-widget-spacing) * 1.8);
	background: var(--nd-widget-surface);
	border: 1px solid var(--nd-widget-border);
	border-radius: 12px;
	color: var(--nd-widget-text);
	box-sizing: border-box;
}

.nd-portal--center {
	justify-items: center;
	text-align: center;
}

.nd-portal__title {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--nd-widget-heading);
}

.nd-portal__description {
	margin: 0;
	max-width: 60ch;
	font-size: 0.95rem;
	line-height: 1.6;
	color: var(--nd-widget-text);
}

.nd-portal__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: var(--nd-widget-spacing) calc(var(--nd-widget-spacing) * 1.6);
	border-radius: 8px;
	background: var(--e-global-color-primary, #2563eb);
	color: #ffffff;
	font-weight: 600;
	text-decoration: none;
}

.nd-portal__button:hover,
.nd-portal__button:focus-visible {
	background: var(--e-global-color-primary, #1d4ed8);
	color: #ffffff;
	text-decoration: none;
}

.nd-portal__link {
	color: inherit;
	text-decoration: underline;
}

.nd-portal__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.2em;
	height: 1.2em;
}

.nd-portal__icon svg {
	width: 100%;
	height: 100%;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.nd-widget-notice {
	margin: 0;
	padding: 14px 16px;
	border: 1px dashed #dbe3ef;
	border-radius: 10px;
	color: #475467;
	font-size: 0.9rem;
	background: #ffffff;
}
