/* ================================================================
   Contact Us Page  — ct-
   ================================================================ */

.ct-section { padding: 64px 0 80px; background: #fff; }

/* ── Form card ──────────────────────────────────────────────── */
.ct-form-card {
    background: #fff;
    border: 1px solid var(--hv2-border);
    border-radius: 16px;
    padding: 40px;
}
@media (max-width: 576px) { .ct-form-card { padding: 24px; } }

.ct-form-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--hv2-dark);
    margin-bottom: 6px;
}
.ct-form-sub {
    font-size: 14px;
    color: var(--hv2-muted);
    margin-bottom: 28px;
    line-height: 1.55;
}

/* ── Info column ────────────────────────────────────────────── */
.ct-info-col {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-top: 8px;
}

.ct-info-block {
    padding: 24px 0;
    border-bottom: 1px solid var(--hv2-border);
}
.ct-info-block:first-child { padding-top: 0; }
.ct-info-block:last-child  { border-bottom: none; }

.ct-info-item { display: flex; align-items: flex-start; gap: 14px; }
.ct-info-item + .ct-info-item { margin-top: 20px; }

.ct-info-icon {
    width: 42px;
    height: 42px;
    border-radius: 10px;
    background: var(--hv2-cream);
    border: 1px solid #e8ddd0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--hv2-primary);
    font-size: 16px;
    flex-shrink: 0;
}
.ct-info-body { display: flex; flex-direction: column; gap: 2px; }
.ct-info-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    color: var(--hv2-muted);
}
.ct-info-value {
    font-size: 14px;
    color: var(--hv2-dark);
    line-height: 1.55;
}
.ct-info-value a {
    color: var(--hv2-dark);
    text-decoration: none;
    transition: color .15s;
}
.ct-info-value a:hover { color: var(--hv2-primary); }

/* ── Social row ─────────────────────────────────────────────── */
.ct-social {
    display: flex;
    gap: 10px;
    margin-top: 4px;
}
.ct-social-link {
    width: 40px;
    height: 40px;
    border-radius: 10px;
    background: var(--hv2-cream);
    border: 1px solid #e8ddd0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--hv2-dark);
    font-size: 15px;
    text-decoration: none;
    transition: background .15s, color .15s, border-color .15s;
}
.ct-social-link:hover {
    background: var(--hv2-primary);
    border-color: var(--hv2-primary);
    color: #fff;
}

/* ── Form input overrides — match the quote form (hm-quote__form) ── */
.ct-form-card .hv2-form-label {
    color: var(--hv2-dark);
    text-transform: none;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: .3px;
    margin-bottom: 6px;
}
.ct-form-card .hv2-form-label span { color: var(--hv2-primary); }
.ct-form-card .hv2-form-input,
.ct-form-card .hv2-form-textarea,
.ct-form-card textarea.hv2-form-input {
    background: #f8f9fa;
    border: 1.5px solid var(--hv2-border);
    color: var(--hv2-dark);
}
.ct-form-card .hv2-form-input::placeholder,
.ct-form-card .hv2-form-textarea::placeholder,
.ct-form-card textarea.hv2-form-input::placeholder {
    color: #9ca3af;
}
.ct-form-card .hv2-form-input:hover,
.ct-form-card .hv2-form-textarea:hover,
.ct-form-card textarea.hv2-form-input:hover {
    background-color: #f0f1f3;
    border-color: #c5cad2;
}
.ct-form-card .hv2-form-input:focus,
.ct-form-card .hv2-form-textarea:focus,
.ct-form-card textarea.hv2-form-input:focus {
    background: #fff;
    border-color: var(--hv2-primary);
}

/* ── Trust strip ────────────────────────────────────────────── */
.ct-trust {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid var(--hv2-border);
}
.ct-trust-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12px;
    color: var(--hv2-muted);
}
.ct-trust-item i { color: var(--hv2-primary); font-size: 13px; }
