/*
 * KVR Core — front-end styles that supplement the theme.
 */

.kvr-image-invalid {
	outline: 3px solid #c9604a;
	outline-offset: -3px;
}

.kvr-remove-label {
	display: block;
	background: rgba(14, 36, 56, 0.75);
	color: #fff;
	font-size: 11px;
	padding: 3px 6px;
	cursor: pointer;
}

/* FAQ accordion */

.kvr-faq-item {
	background: var(--kvr-white, #fff);
	border-radius: 12px;
	box-shadow: 0 6px 18px rgba(22, 50, 74, 0.08);
	margin-bottom: 14px;
	overflow: hidden;
}

.kvr-faq-item summary {
	cursor: pointer;
	padding: 16px 22px;
	font-weight: 600;
	color: var(--kvr-navy, #16324a);
	list-style: none;
	position: relative;
	padding-right: 44px;
}

.kvr-faq-item summary::-webkit-details-marker {
	display: none;
}

.kvr-faq-item summary::after {
	content: '+';
	position: absolute;
	right: 18px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 22px;
	font-weight: 400;
	color: var(--kvr-coral, #e0785e);
}

.kvr-faq-item[open] summary::after {
	content: '\2013';
}

.kvr-faq-body {
	padding: 0 22px 18px;
	color: var(--kvr-muted, #7c8894);
}
.kvr-faq-body > :first-child { margin-top: 0; }
.kvr-faq-body > :last-child { margin-bottom: 0; }

.kvr-auth-card[id], #kvr-owner-listings, #kvr-owner-dashboard { scroll-margin-top: 120px; }

/* Claim surfaces reuse the directory's existing typography and form styling. */
.kvr-claim-card {
	margin-top: 24px;
	padding: 24px;
	border-radius: 14px;
	background: var(--kvr-white, #fff);
	box-shadow: 0 6px 18px rgba(22, 50, 74, 0.08);
}
.kvr-claim-card h2 { font-size: 22px; margin-top: 0; }
.kvr-claim-card p, .kvr-claim-help { font-size: 14px; color: var(--kvr-navy, #16324a); }
.kvr-claim-panel { margin-bottom: 28px; }
.kvr-claim-panel form + form { margin-top: 28px; }
.kvr-claim-panel .kvr-form-field { max-width: 520px; }
.kvr-claim-panel .kvr-btn, .kvr-claim-plan .kvr-btn { white-space: normal; min-height: 44px; }
.kvr-claim-panel input, .kvr-claim-panel button { box-sizing: border-box; max-width: 100%; }
.kvr-claim-panel, .kvr-claim-entry, .kvr-claim-card { min-width: 0; overflow-wrap: anywhere; }
.kvr-claim-entry { padding: 16px 0; border-bottom: 1px solid rgba(22, 50, 74, 0.12); }
.kvr-claim-plan { display: flex; flex-wrap: wrap; gap: 12px; }
.kvr-claim-dashboard { margin: 28px 0; }
