.soulseo-diagnostic {
	--soulseo-ink: #18352d;
	--soulseo-accent: #2a6ccd;
	--soulseo-sand: #e1ecf9;
	--soulseo-line: #d9d0c1;
	--soulseo-success: #237b55;
	--soulseo-danger: #b6402a;
	background: var(--soulseo-sand);
	border: 1px solid var(--soulseo-line);
	border-radius: 8px;
	color: var(--soulseo-ink);
	font-family: Georgia, 'Times New Roman', serif;
	margin: 2rem auto;
	max-width: 100vw;
	padding: clamp(1.5rem, 4vw, 3.5rem);
}

.soulseo-diagnostic *{
	font-family: "Poppins", Arial, sans-serif;
}

.soulseo-diagnostic__intro { max-width: 80vw; }
.soulseo-diagnostic__eyebrow { color: var(--soulseo-accent); font-family: sans-serif; font-size: .75rem; font-weight: 700; letter-spacing: .12em; margin: 0 0 .5rem; text-transform: uppercase; }
.soulseo-diagnostic h2 { font-size: clamp(2rem, 4vw, 3.25rem); font-weight: 400; letter-spacing: 0; line-height: 1; margin: 0; }
.soulseo-diagnostic__intro > p:last-child { font-family: sans-serif; line-height: 1.55; }
.soulseo-diagnostic__form { margin-top: 2rem; }
.soulseo-diagnostic__form label { display: block; font-family: sans-serif; font-size: .875rem; font-weight: 700; margin-bottom: .5rem; }
.soulseo-diagnostic__input-group { display: flex; gap: .75rem; }
.soulseo-diagnostic input { background: #fffdf9; border: 1px solid var(--soulseo-ink); border-radius: 4px; color: var(--soulseo-ink); flex: 1; font: 1rem sans-serif; min-width: 0; padding: .85rem 1rem; }
.soulseo-diagnostic button { background: var(--soulseo-accent); border: 1px solid var(--soulseo-accent); border-radius: 4px; color: #fff; cursor: pointer; font: 700 .95rem sans-serif; padding: .85rem 1.25rem; }
.soulseo-diagnostic button:hover, .soulseo-diagnostic button:focus-visible { background: rgb(10, 88, 202); border-color: rgb(10, 88, 202); }
.soulseo-diagnostic button:disabled { cursor: wait; opacity: .7; }
.soulseo-diagnostic__message { color: var(--soulseo-danger); font: .875rem sans-serif; margin: .75rem 0 0; }
.soulseo-diagnostic__results { border-top: 1px solid var(--soulseo-line); display: grid; gap: 2rem; grid-template-columns: minmax(140px, .4fr) 1fr; margin-top: 2.5rem; padding-top: 2rem; }
.soulseo-score { align-items: center; background: var(--soulseo-ink); border-radius: 50%; color: #fff; display: flex; flex-direction: column; height: 150px; justify-content: center; width: 150px; }
.soulseo-score__value { font: 3.25rem Georgia, serif; line-height: 1; }
.soulseo-score__label { font: .7rem sans-serif; letter-spacing: .08em; margin-top: .4rem; text-transform: uppercase; }
.soulseo-report__url { color: #68756e; font: .875rem sans-serif; margin: 0; overflow-wrap: anywhere; }
.soulseo-metrics { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1.25rem 0; }
.soulseo-metrics div { border-left: 2px solid var(--soulseo-accent); padding-left: .75rem; }
.soulseo-metrics dt { color: #58645e; font: .7rem sans-serif; letter-spacing: .06em; text-transform: uppercase; }
.soulseo-metrics dd { font: 1.4rem Georgia, serif; margin: .2rem 0 0; }
.soulseo-report h3 { font-size: 1.5rem; font-weight: 400; margin: .5rem 0 1rem; }
.soulseo-report--guest { align-self: center; }
.soulseo-quote-trigger { margin-top: .5rem; }
.soulseo-guest-issues, .soulseo-quote-issues { font: .9rem/1.45 sans-serif; margin: 0 0 1.25rem; padding-left: 1.2rem; }
.soulseo-guest-issues li, .soulseo-quote-issues li { margin-bottom: .35rem; }
.soulseo-checks { list-style: none; margin: 0; padding: 0; }
.soulseo-check { border-top: 1px solid var(--soulseo-line); display: grid; gap: 1rem; grid-template-columns: 110px 1fr; padding: .85rem 0; }
.soulseo-check__category { font: 700 .7rem sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.soulseo-check--pass .soulseo-check__category { color: var(--soulseo-success); }
.soulseo-check--fail .soulseo-check__category { color: var(--soulseo-danger); }
.soulseo-check strong { font: 700 .95rem sans-serif; }
.soulseo-check p { color: #58645e; font: .85rem/1.45 sans-serif; margin: .2rem 0 0; }
.soulseo-modal { inset: 0; position: fixed; z-index: 99999; }
.soulseo-modal__backdrop { background: rgb(24 53 45 / 70%); inset: 0; position: absolute; }
.soulseo-modal__content { background: #fffdf9; border-radius: 8px; box-sizing: border-box; color: var(--soulseo-ink); left: 50%; max-height: calc(100vh - 2rem); max-width: 620px; overflow-y: auto; padding: 2rem; position: absolute; top: 50%; transform: translate(-50%, -50%); width: calc(100% - 2rem); }
.soulseo-modal__content h3 { font-size: 1.75rem; font-weight: 400; margin: 0 0 1.5rem; }
.soulseo-quote-diagnostic { background: var(--soulseo-sand); border-left: 3px solid var(--soulseo-accent); margin: 0 0 1.5rem; padding: .85rem 1rem; }
.soulseo-quote-diagnostic p { font: .9rem sans-serif; margin: 0 0 .65rem; }
.soulseo-quote-diagnostic .soulseo-quote-issues { margin-bottom: 0; }
.soulseo-modal__close { background: transparent; border: 0; color: var(--soulseo-ink); font: 2rem/1 sans-serif; padding: .25rem; position: absolute; right: 1rem; top: 1rem; }
.soulseo-field { margin-bottom: 1rem; }
.soulseo-field > label { display: block; font: 700 .85rem sans-serif; margin-bottom: .4rem; }
.soulseo-field input, .soulseo-field select, .soulseo-field textarea { background: #fff; border: 1px solid var(--soulseo-line); border-radius: 4px; box-sizing: border-box; color: var(--soulseo-ink); font: 1rem sans-serif; padding: .7rem; width: 100%; }
/* .soulseo-country-code { display: ; } */
.soulseo-field textarea { resize: vertical; }
.soulseo-radios { display: flex; gap: 1rem; }
.soulseo-radios label { font: .95rem sans-serif; }
.soulseo-radios input { margin-right: .35rem; width: auto; }
.soulseo-phone { display: grid; gap: .5rem; grid-template-columns: minmax(130px, .45fr)  1fr; }
.soulseo-quote-message { color: var(--soulseo-danger); font: .875rem sans-serif; margin: .75rem 0; }
.soulseo-quote-message--success { color: var(--soulseo-success); }
.soulseo-quote-success { font: 1rem/1.5 sans-serif; text-align: center; }
.soulseo-quote-success p { margin: 0 0 1.5rem; }

@media (max-width: 600px) {
	.soulseo-diagnostic__input-group, .soulseo-diagnostic__results { display: block; }
	.soulseo-diagnostic button { margin-top: .75rem; width: 100%; }
	.soulseo-score { margin-bottom: 1.5rem; }
	.soulseo-metrics { grid-template-columns: 1fr; }
	.soulseo-check { grid-template-columns: 1fr; gap: .35rem; }
	.soulseo-phone { grid-template-columns: 1fr; }
}
