/* ============================================================
   Cards – globale wiederverwendbare Kartenmodule
   ============================================================ */

/* ---- Feature Card (Icon + Text + CTA, z. B. Leistungs-Unterseiten) ---- */
.nickel-feature-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 32px 28px;
	background: var(--color-surface-muted);
}

.nickel-feature-card__icon,
.nickel-feature-card .et_pb_image {
	margin: 0 0 20px !important;
}

.nickel-feature-card__icon img,
.nickel-feature-card .et_pb_image img {
	width: 36px;
	height: 36px;
	object-fit: contain;
	display: block;
}

.nickel-feature-card__title h3,
.nickel-feature-card__title .et_pb_module_header {
	margin: 0 0 12px;
	font-family: var(--font-body);
	font-size: var(--font-size-md) !important;
	font-weight: 700;
	color: var(--color-text);
}

.nickel-feature-card__text p {
	margin: 0 0 18px;
	font-size: var(--font-size-sm);
	line-height: var(--line-height-body);
	color: var(--color-text-soft);
}

.nickel-feature-card .et_pb_button_module_wrapper {
	margin-top: auto;
}

/* ---- Service Card (Bild + Tag + Features) ---- */
.nickel-service-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
	border: none;
	background: transparent;
}

.nickel-service-card .et_pb_image,
.nickel-service-card .et_pb_image img {
	width: 100%;
	margin: 0 0 20px !important;
}

.nickel-service-card .et_pb_image img {
	height: 280px;
	object-fit: cover;
	display: block;
}

.nickel-service-card__tag {
	display: inline-block;
	margin-bottom: 12px;
	padding: 6px 12px;
	border: 1px solid var(--color-primary);
	background: #fff;
	font-size: var(--font-size-xs);
	font-weight: 700;
	letter-spacing: var(--letter-spacing-ui);
	text-transform: uppercase;
	color: var(--color-primary);
}

.nickel-service-card__title h3,
.nickel-service-card__title .et_pb_module_header {
	margin: 0 0 12px;
	font-family: var(--font-heading);
	font-size: var(--font-size-xl) !important;
	font-weight: 400;
	line-height: var(--line-height-heading);
}

.nickel-service-card__text p {
	margin: 0 0 16px;
	font-size: var(--font-size-base);
	line-height: var(--line-height-body);
	color: var(--color-text-soft);
}

.nickel-service-card__features {
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

.nickel-service-card__features li {
	position: relative;
	padding-left: 22px;
	margin-bottom: 8px;
	font-size: var(--font-size-sm);
	color: var(--color-text-soft);
}

.nickel-service-card__features li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 7px;
	width: 10px;
	height: 10px;
	background: var(--color-primary);
	border-radius: 50%;
	opacity: 0.85;
}

.nickel-service-card__link,
.nickel-text-link {
	font-size: var(--font-size-xs);
	font-weight: 700;
	letter-spacing: var(--letter-spacing-ui);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--color-text);
}

.nickel-service-card__link:hover,
.nickel-text-link:hover {
	color: var(--color-primary);
}

/* ---- Action Card (Kontakt-Schnellaktionen) ---- */
.nickel-action-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 28px 26px;
	background: var(--color-surface-muted);
}

.nickel-action-card--accent {
	background: var(--color-primary);
	color: #fff;
}

.nickel-action-card__icon,
.nickel-action-card .et_pb_image {
	margin: 0 0 18px !important;
}

.nickel-action-card__icon img,
.nickel-action-card .et_pb_image img {
	width: 28px;
	height: 28px;
	object-fit: contain;
	display: block;
}

.nickel-action-card--accent .nickel-action-card__icon img,
.nickel-action-card--accent .et_pb_image img {
	filter: brightness(0) invert(1);
}

.nickel-action-card__title h3,
.nickel-action-card__title .et_pb_module_header {
	margin: 0 0 12px;
	font-family: var(--font-body);
	font-size: var(--font-size-md) !important;
	font-weight: 700;
	color: var(--color-text);
}

.nickel-action-card--accent .nickel-action-card__title h3,
.nickel-action-card--accent .nickel-action-card__title .et_pb_module_header {
	color: #fff;
}

.nickel-action-card__text p {
	margin: 0 0 20px;
	font-size: var(--font-size-sm);
	line-height: var(--line-height-body);
	color: var(--color-text-soft);
}

.nickel-action-card--accent .nickel-action-card__text p,
.nickel-action-card--accent .kontakt-hours,
.nickel-action-card--accent .kontakt-hours td {
	color: rgba(255, 255, 255, 0.92);
}

.nickel-action-card--accent .kontakt-hours td:last-child {
	color: #fff;
	font-weight: 700;
}

.nickel-action-link {
	margin-top: auto;
	font-family: var(--font-body);
	font-size: var(--font-size-xs);
	font-weight: 700;
	letter-spacing: var(--letter-spacing-ui);
	text-transform: uppercase;
	text-decoration: none;
	color: var(--color-primary);
}

.nickel-action-link:hover {
	color: var(--color-primary-dark);
}

/* ---- Value Card (Unternehmen) ---- */
.nickel-value-card {
	height: 100%;
	padding: 28px 24px;
	border: 1px solid var(--color-border);
	border-top: 2px solid var(--color-primary);
	background: var(--color-surface);
}

.nickel-value-card h3,
.nickel-value-card__title {
	margin: 0 0 12px;
	font-family: var(--font-heading);
	font-size: var(--font-size-lg) !important;
	font-weight: 400;
}

.nickel-value-card p,
.nickel-value-card__text {
	margin: 0;
	font-size: var(--font-size-sm);
	line-height: var(--line-height-body);
	color: var(--color-text-soft);
}

/* ---- Referenz Card ---- */
.nickel-ref-card {
	height: 100%;
	padding: 28px 24px;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
	text-align: left;
}

.nickel-ref-card__category {
	display: inline-block;
	margin-bottom: 14px;
	padding: 3px 9px;
	background: var(--color-primary);
	color: #fff;
	font-size: var(--font-size-xs);
	font-weight: 700;
	letter-spacing: var(--letter-spacing-ui);
	text-transform: uppercase;
}

.nickel-ref-card h3,
.nickel-ref-card__title {
	margin: 0 0 10px;
	font-family: var(--font-heading);
	font-size: var(--font-size-lg) !important;
	font-weight: 400;
}

.nickel-ref-card p,
.nickel-ref-card__text {
	margin: 0;
	font-size: var(--font-size-sm);
	line-height: 1.65;
	color: var(--color-text-soft);
}

/* ---- Side Card (Kontakt-Sidebar) ---- */
.nickel-side-card {
	padding: 22px 20px;
	margin-bottom: 16px;
	border: 1px solid var(--color-border);
	background: var(--color-surface);
}

.nickel-side-card__kicker {
	display: block;
	margin-bottom: 10px;
	font-size: var(--font-size-xs);
	font-weight: 700;
	letter-spacing: var(--letter-spacing-ui);
	text-transform: uppercase;
	color: var(--color-primary);
}

.nickel-side-card p {
	margin: 0 0 14px;
	font-size: var(--font-size-sm);
	line-height: 1.65;
	color: var(--color-text-soft);
}

.nickel-side-card a {
	font-size: var(--font-size-sm);
	font-weight: 700;
	color: var(--color-text);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---- Stat Block ---- */
.nickel-stat {
	text-align: center;
}

.nickel-stat--left {
	text-align: left;
}

.nickel-stat__value {
	display: block;
	font-family: var(--font-heading);
	font-size: var(--font-size-3xl);
	font-weight: 400;
	color: var(--color-primary);
	line-height: 1;
}

.nickel-stat__label {
	display: block;
	margin-top: 6px;
	font-size: var(--font-size-xs);
	font-weight: 700;
	letter-spacing: var(--letter-spacing-ui);
	text-transform: uppercase;
	color: var(--color-text-soft);
}
