/* Sternhaus Empfehlungsprogramm – nutzt die Farben des Themes (theme.json) */
.she-card {
	background: var(--wp--preset--color--base, #fff);
	border: 1px solid var(--wp--preset--color--accent-5, #e4ded2);
	border-radius: 14px;
	padding: clamp(1.25rem, 3vw, 2rem);
	margin-block: 1.5rem;
	box-shadow: 0 10px 30px -18px rgba(20, 53, 61, .35);
}
.she-card h2 { margin-top: 0; font-size: var(--wp--preset--font-size--large, 1.5rem); }

.she-form { display: grid; gap: 1rem; }
.she-form label { display: grid; gap: .35rem; font-weight: 600; font-size: .95rem; }
.she-form small { font-weight: 400; color: var(--wp--preset--color--accent-4, #5b6670); }
.she-form input[type=text], .she-form input[type=email], .she-form input[type=tel],
.she-form input[type=password], .she-form select, .she-form textarea,
.she-login input[type=text], .she-login input[type=password] {
	width: 100%;
	box-sizing: border-box;
	font: inherit;
	font-weight: 400;
	padding: .75rem .9rem;
	border: 1px solid var(--wp--preset--color--accent-5, #d5cfc2);
	border-radius: 8px;
	background: #fff;
	color: var(--wp--preset--color--contrast, #1f2933);
}
.she-form input:focus, .she-form select:focus, .she-form textarea:focus, .she-login input:focus {
	outline: 2px solid var(--wp--preset--color--accent-1, #1f4e5a);
	outline-offset: 1px;
	border-color: transparent;
}
.she-row { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
.she-check { grid-template-columns: auto 1fr !important; align-items: start; font-weight: 400 !important; }
.she-check input { margin-top: .3rem; width: 1.1rem; height: 1.1rem; }
.she-code-input { text-transform: uppercase; letter-spacing: .08em; }
.she-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }

.she-btn, .she-login .button-primary {
	display: inline-block;
	cursor: pointer;
	border: 0;
	border-radius: 999px;
	padding: .8rem 1.6rem;
	font: inherit;
	font-weight: 600;
	text-decoration: none;
	background: var(--wp--preset--color--accent-1, #1f4e5a);
	color: #fff;
	transition: background .15s ease;
}
.she-btn:hover, .she-btn:focus, .she-login .button-primary:hover { background: var(--wp--preset--color--accent-6, #14353d); color: #fff; }
.she-btn--ghost { background: transparent; color: var(--wp--preset--color--accent-1, #1f4e5a); box-shadow: inset 0 0 0 2px currentColor; }
.she-btn--ghost:hover { background: var(--wp--preset--color--accent-3, #f1ece2); color: var(--wp--preset--color--accent-6, #14353d); }
.she-form .she-btn { justify-self: start; }

.she-notice { padding: .9rem 1.1rem; border-radius: 8px; margin-bottom: 1.25rem; }
.she-notice--ok { background: #e7f3ec; color: #1d5b38; border-left: 4px solid #2f8a57; }
.she-notice--error { background: #fbeaea; color: #8a1f1f; border-left: 4px solid #c0392b; }
.she-ref-hint { background: var(--wp--preset--color--accent-3, #f1ece2); padding: .8rem 1rem; border-radius: 8px; }
.she-small { font-size: .875rem; color: var(--wp--preset--color--accent-4, #5b6670); }

.she-login form p { margin: 0 0 1rem; }
.she-login label { display: block; font-weight: 600; margin-bottom: .35rem; }

.she-greeting { font-size: var(--wp--preset--font-size--large, 1.4rem); }
.she-copy { display: flex; gap: .5rem; flex-wrap: wrap; }
.she-copy input { flex: 1 1 260px; font: inherit; padding: .75rem .9rem; border: 1px solid var(--wp--preset--color--accent-5, #d5cfc2); border-radius: 8px; background: var(--wp--preset--color--accent-3, #f1ece2); }
.she-code { font-family: var(--wp--preset--font-family--fira-code, monospace); letter-spacing: .1em; font-size: 1.15em; color: var(--wp--preset--color--accent-1, #1f4e5a); }
.she-share { display: flex; gap: .6rem; flex-wrap: wrap; margin-block: 1rem; }

.she-stats { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-block: 1.5rem; }
.she-stat { background: var(--wp--preset--color--accent-6, #14353d); color: #fff; border-radius: 14px; padding: 1.1rem 1.2rem; display: grid; gap: .25rem; }
.she-stat__num { font-size: 1.75rem; font-weight: 700; color: var(--wp--preset--color--accent-2, #c9a24b); }
.she-stat__label { font-size: .85rem; opacity: .85; }

.she-table { width: 100%; border-collapse: collapse; }
.she-table th, .she-table td { text-align: left; padding: .7rem .5rem; border-bottom: 1px solid var(--wp--preset--color--accent-5, #e4ded2); }
.she-status { display: inline-block; padding: .2rem .65rem; border-radius: 999px; font-size: .85rem; background: var(--wp--preset--color--accent-3, #f1ece2); }
.she-status--vertrag, .she-status--bonus_frei { background: #fff3d6; color: #7a5500; }
.she-status--bonus_bezahlt { background: #e7f3ec; color: #1d5b38; }
.she-status--kein_abschluss { opacity: .65; }

/* Einwilligungs-Hinweis für Besucher über einen Empfehlungslink */
.she-consent {
	position: fixed; z-index: 9999; left: 1rem; right: 1rem; bottom: 1rem;
	max-width: 560px; margin-inline: auto;
	background: #fff; color: var(--wp--preset--color--contrast, #1f2933);
	border: 1px solid var(--wp--preset--color--accent-5, #e4ded2); border-top: 4px solid var(--wp--preset--color--accent-2, #c9a24b);
	border-radius: 14px; padding: 1.1rem 1.3rem; box-shadow: 0 18px 50px -12px rgba(20, 53, 61, .45);
	font-size: .92rem; line-height: 1.5;
}
.she-consent[hidden] { display: none; }
.she-consent p { margin: 0 0 .7rem; }
.she-consent__title { font-size: 1.05rem; }
.she-consent__buttons { display: flex; gap: .6rem; flex-wrap: wrap; }
.she-consent__buttons .she-btn { flex: 1 1 140px; text-align: center; }

.she-btn[hidden] { display: none; }
