.keycave-registration-container { 
			box-sizing: border-box; 
			font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
		}
		.keycave-registration-container * { box-sizing: border-box; }
		.keycave-registration-container .container {
			max-width: 800px;
			margin: 0 auto;
			background: linear-gradient(145deg, #ffffff 0%, #f8fafc 100%);
			border-radius: 24px;
			box-shadow: 0 20px 60px rgba(0,0,0,0.08), 0 0 0 1px rgba(0,0,0,0.04);
			overflow: hidden;
			backdrop-filter: blur(10px);
		}
		@media (max-width: 768px) {
			.keycave-registration-container .container {
				border-radius: 16px;
				margin: 0 16px;
			}
		}
		.keycave-registration-container .header {
			background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #f093fb 100%);
			color: white;
			padding: 36px 24px;
			text-align: center;
			position: relative;
			overflow: hidden;
		}
		@media (min-width: 768px) {
			.keycave-registration-container .header {
				padding: 48px 40px;
			}
		}
		.keycave-registration-container .header::before {
			content: "";
			position: absolute;
			top: 0;
			left: 0;
			right: 0;
			bottom: 0;
			background: radial-gradient(circle at 30% 50%, rgba(255,255,255,0.2) 0%, transparent 50%);
			pointer-events: none;
		}
		.keycave-registration-container .header h1 {
			font-size: 28px;
			margin-bottom: 12px;
			font-weight: 800;
			letter-spacing: -0.02em;
			position: relative;
			z-index: 1;
			text-shadow: 0 2px 10px rgba(0,0,0,0.1);
		}
		@media (min-width: 768px) {
			.keycave-registration-container .header h1 {
				font-size: 36px;
			}
		}
		.keycave-registration-container .header p {
			font-size: 15px;
			opacity: 0.95;
			font-weight: 400;
			position: relative;
			z-index: 1;
		}
		@media (min-width: 768px) {
			.keycave-registration-container .header p {
				font-size: 16px;
			}
		}
		.keycave-registration-container .form-wrapper {
			padding: 32px 24px;
			display: flex;
			flex-direction: column;
			gap: 24px;
		}
		@media (min-width: 768px) {
			.keycave-registration-container .form-wrapper {
				padding: 40px;
			}
		}
		.keycave-registration-container .form-section {
			background: rgba(255, 255, 255, 0.6);
			backdrop-filter: blur(10px);
			border-radius: 20px;
			padding: 24px;
			border: 1px solid rgba(255, 255, 255, 0.3);
			box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
			transition: transform 0.2s, box-shadow 0.2s;
		}
		.keycave-registration-container .form-section:hover {
			transform: translateY(-2px);
			box-shadow: 0 6px 30px rgba(0, 0, 0, 0.08);
		}
		@media (min-width: 768px) {
			.keycave-registration-container .form-section {
				padding: 32px;
			}
		}
		.keycave-registration-container .form-group {
			margin-bottom: 20px;
		}
		.keycave-registration-container .form-group:last-child {
			margin-bottom: 0;
		}
		.keycave-registration-container label {
			display: block;
			margin-bottom: 8px;
			font-weight: 600;
			font-size: 14px;
			color: #334155;
			letter-spacing: -0.01em;
		}
		.keycave-registration-container input[type="text"],
		.keycave-registration-container input[type="email"],
		.keycave-registration-container input[type="password"],
		.keycave-registration-container input[type="date"],
		.keycave-registration-container textarea,
		.keycave-registration-container select {
			width: 100%;
			padding: 14px 18px;
			border: 2px solid rgba(226, 232, 240, 0.8);
			border-radius: 12px;
			font-size: 15px;
			background: rgba(255, 255, 255, 0.8);
			backdrop-filter: blur(10px);
			color: #1e293b;
			transition: all 0.2s;
			box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.02);
		}
		.keycave-registration-container input:focus,
		.keycave-registration-container textarea:focus,
		.keycave-registration-container select:focus {
			outline: none;
			border-color: #2563eb;
			background: rgba(255, 255, 255, 0.95);
			box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1), inset 0 2px 4px rgba(0, 0, 0, 0.02);
		}
		.keycave-registration-container input:hover,
		.keycave-registration-container textarea:hover,
		.keycave-registration-container select:hover {
			border-color: #cbd5e1;
			background: rgba(255, 255, 255, 0.9);
		}
		.keycave-registration-container .pin-input-wrapper {
			position: relative;
		}
		.keycave-registration-container .pin-eye {
			position: absolute;
			right: 12px;
			top: 50%;
			transform: translateY(-50%);
			background: rgba(255, 255, 255, 0.9);
			border: none;
			width: 36px;
			height: 36px;
			border-radius: 8px;
			cursor: pointer;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #64748b;
			transition: all 0.2s;
			backdrop-filter: blur(10px);
		}
		.keycave-registration-container .pin-eye:hover {
			background: rgba(37, 99, 235, 0.1);
			color: #2563eb;
			transform: translateY(-50%) scale(1.1);
		}
		.keycave-registration-container .pin-eye:active {
			transform: translateY(-50%) scale(0.95);
		}
		.keycave-registration-container .pin-strength-meter {
			margin-top: 8px;
			height: 6px;
			background: #e2e8f0;
			border-radius: 3px;
			overflow: hidden;
		}
		.keycave-registration-container .pin-strength-fill {
			height: 100%;
			width: 0%;
			transition: width 0.3s, background-color 0.3s;
			border-radius: 3px;
		}
		.keycave-registration-container .pin-strength-text {
			margin-top: 6px;
			font-size: 12px;
			font-weight: 600;
			color: #64748b;
		}
		.keycave-registration-container .keycave-pin-password-info {
			margin-bottom: 12px;
		}
		.keycave-registration-container .keycave-credentials-hint {
			font-size: 13px;
			color: #475569;
			line-height: 1.5;
			margin: 0;
			padding: 12px 14px;
			background: rgba(37, 99, 235, 0.06);
			border: 1px solid rgba(37, 99, 235, 0.2);
			border-radius: 10px;
		}
		.keycave-registration-container .field-hint {
			display: block;
			font-size: 12px;
			color: #64748b;
			margin-top: 2px;
			margin-bottom: 6px;
		}
		.keycave-registration-container .password-web-wrapper {
			display: flex;
			flex-wrap: wrap;
			gap: 10px;
			align-items: center;
		}
		.keycave-registration-container .password-web-inner {
			position: relative;
			flex: 1 1 200px;
			min-width: 0;
		}
		.keycave-registration-container .password-web-inner input {
			width: 100%;
		}
		.keycave-registration-container .pw-eye {
			position: absolute;
			right: 12px;
			top: 50%;
			transform: translateY(-50%);
			background: rgba(255, 255, 255, 0.9);
			border: none;
			width: 36px;
			height: 36px;
			border-radius: 8px;
			cursor: pointer;
			display: flex;
			align-items: center;
			justify-content: center;
			color: #64748b;
			transition: all 0.2s;
		}
		.keycave-registration-container .pw-eye:hover {
			background: rgba(37, 99, 235, 0.1);
			color: #2563eb;
		}
		.keycave-registration-container .btn-generate-pw {
			flex-shrink: 0;
			padding: 10px 16px;
			font-size: 13px;
			font-weight: 600;
			color: #2563eb;
			background: rgba(37, 99, 235, 0.1);
			border: 1px solid rgba(37, 99, 235, 0.3);
			border-radius: 10px;
			cursor: pointer;
			transition: all 0.2s;
		}
		.keycave-registration-container .btn-generate-pw:hover {
			background: rgba(37, 99, 235, 0.15);
			border-color: #2563eb;
		}
		.keycave-registration-container .pin-password-match-err {
			margin-top: 8px;
			padding: 8px 12px;
			font-size: 13px;
			color: #b91c1c;
			background: rgba(220, 38, 38, 0.08);
			border: 1px solid rgba(220, 38, 38, 0.25);
			border-radius: 8px;
		}
		.keycave-registration-container .checkbox-group {
			display: flex;
			align-items: flex-start;
			gap: 12px;
			margin-bottom: 20px;
		}
		.keycave-registration-container .checkbox-group input[type="checkbox"] {
			width: 22px;
			height: 22px;
			margin: 0;
			cursor: pointer;
			accent-color: #2563eb;
			flex-shrink: 0;
			margin-top: 2px;
		}
		.keycave-registration-container .checkbox-group input[type="checkbox"]:hover {
			transform: scale(1.1);
		}
		.keycave-registration-container .checkbox-group label {
			margin: 0;
			font-weight: 500;
			font-size: 14px;
			line-height: 1.5;
			cursor: pointer;
		}
		.keycave-registration-container .btn-submit {
			width: 100%;
			padding: 16px 24px;
			background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
			color: white;
			border: none;
			border-radius: 12px;
			font-size: 16px;
			font-weight: 700;
			cursor: pointer;
			transition: all 0.3s;
			box-shadow: 0 4px 15px rgba(102, 126, 234, 0.4);
			position: relative;
			overflow: hidden;
		}
		.keycave-registration-container .btn-submit::before {
			content: "";
			position: absolute;
			top: 0;
			left: -100%;
			width: 100%;
			height: 100%;
			background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
			transition: left 0.5s;
		}
		.keycave-registration-container .btn-submit:hover::before {
			left: 100%;
		}
		.keycave-registration-container .btn-submit:hover {
			transform: translateY(-2px);
			box-shadow: 0 6px 25px rgba(102, 126, 234, 0.5);
		}
		.keycave-registration-container .btn-submit:active {
			transform: translateY(0);
		}
		.keycave-registration-container .btn-submit.loading {
			opacity: 0.8;
			cursor: wait;
		}
		.keycave-registration-container .feedback {
			padding: 12px 16px;
			border-radius: 10px;
			margin-bottom: 20px;
			font-size: 14px;
			font-weight: 600;
			display: none;
			animation: slideIn 0.3s ease-out;
		}
		@keyframes slideIn {
			from {
				opacity: 0;
				transform: translateY(-10px);
			}
			to {
				opacity: 1;
				transform: translateY(0);
			}
		}
		.keycave-registration-container .feedback.success {
			background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
			color: #166534;
			border: 1px solid #86efac;
			display: block;
		}
		.keycave-registration-container .feedback.error {
			background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
			color: #991b1b;
			border: 1px solid #fca5a5;
			display: block;
		}
		.keycave-registration-container .plz-ort-group {
			display: grid;
			grid-template-columns: 1fr 2fr;
			gap: 16px;
		}
		@media (max-width: 640px) {
			.keycave-registration-container .plz-ort-group {
				grid-template-columns: 1fr;
			}
		}
		.keycave-registration-container #kc-price-embed {
			margin-bottom: 32px;
		}

/* Page chrome: hide right nav so the card can sit centered */
body.itemid-160 .container-sidebar-right { display: none !important; }
body.itemid-160.has-sidebar-right .site-grid > .container-component {
  grid-column: 1 / -1;
  max-width: 920px;
  width: 100%;
  margin-inline: auto;
}
body.itemid-160 .mod-breadcrumbs__wrapper { margin-bottom: 8px; }
body.itemid-160 .com-content-article item-page,
body.itemid-160 .com-content-article { background: transparent; box-shadow: none; }
