.cv-location-suggestion {
    color: var(--cv-text);
}

.cv-location-suggestion *,
.cv-location-suggestion *::before,
.cv-location-suggestion *::after { box-sizing: border-box; }

.cv-location-suggestion__form,
.cv-location-suggestion__success,
.cv-location-suggestion__login {
    background: var(--cv-card);
    border: 1px solid rgb(15 90 102 / 7%);
    border-radius: 22px;
    box-shadow: 0 18px 48px rgb(15 90 102 / 11%);
    margin: 0;
}

.cv-location-suggestion__form,
.cv-location-suggestion__success,
.cv-location-suggestion__login { padding: clamp(1.25rem, 3vw, 2rem); }
.cv-location-suggestion__grid { display: grid; gap: 1.1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cv-location-suggestion__field { min-width: 0; }
.cv-location-suggestion__field--wide { grid-column: 1 / -1; }
.cv-location-suggestion__field label { color: var(--cv-text); display: block; font-size: .95rem; font-weight: 650; margin-bottom: .4rem; }
.cv-location-suggestion__textarea { height: auto; min-height: 8rem; resize: vertical; }
.cv-location-suggestion__help,
.cv-location-suggestion__required { color: color-mix(in srgb, var(--cv-text) 72%, transparent); font-size: .86rem; line-height: 1.45; margin: .4rem 0 0; }
.cv-location-suggestion__field-error { color: var(--cv-status-rejected-text); font-size: .88rem; font-weight: 650; margin: .4rem 0 0; }
.cv-location-suggestion__error-summary,
.cv-location-suggestion__duplicates {
    background: var(--cv-status-pending-bg);
    border: 1px solid var(--cv-status-pending-border);
    border-radius: 12px;
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
}
.cv-location-suggestion__error-summary { background: var(--cv-status-rejected-bg); border-color: var(--cv-status-rejected-border); }
.cv-location-suggestion__error-summary h2,
.cv-location-suggestion__duplicates h2,
.cv-location-suggestion__success h2,
.cv-location-suggestion__login h2 { color: var(--cv-primary); font-size: 1.25rem; margin: 0 0 .55rem; }
.cv-location-suggestion__error-summary ul,
.cv-location-suggestion__duplicates ul { margin-bottom: 0; }
.cv-location-suggestion__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.cv-location-suggestion__button {
    align-items: center;
    background: var(--cv-primary);
    border: 1px solid var(--cv-primary);
    border-radius: 10px;
    color: #fff;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 650;
    justify-content: center;
    min-height: 44px;
    padding: .5rem .9rem;
    text-decoration: none;
}
.cv-location-suggestion__button:hover { background: var(--cv-primary-hover); border-color: var(--cv-primary-hover); color: #fff; }
.cv-location-suggestion__button:focus-visible { box-shadow: 0 0 0 3px rgb(200 110 58 / 22%); outline: 2px solid var(--cv-primary); outline-offset: 2px; }
.cv-location-suggestion__button--secondary { background: var(--cv-card); border-color: var(--cv-border); color: var(--cv-primary); }
.cv-location-suggestion__button--secondary:hover { background: var(--cv-bg); border-color: var(--cv-primary); color: var(--cv-primary); }

@media (max-width: 640px) {
    .cv-location-suggestion__grid { grid-template-columns: 1fr; }
    .cv-location-suggestion__field--wide { grid-column: auto; }
    .cv-location-suggestion__button { width: 100%; }
}
.cv-location-suggestion__terms {
    margin-top: var(--cv-space-4, 1rem);
}

.cv-location-suggestion__terms label {
    align-items: flex-start;
    display: flex;
    gap: .65rem;
}

.cv-location-suggestion__terms input {
    flex: 0 0 auto;
    margin-top: .2rem;
}
