/* Scoped to service contact forms; sales/calculator controls keep their styles. */
.kb-service-contact,
.kb-service-entry { min-width: 0; scroll-margin-top: 100px; }
.kb-service-contact.kb-guided-service { padding: 0; margin: 24px 0; }
.kb-service-contact.kb-service-device-form { padding: 20px 0; }
.kb-service-contact .kb-service-request-card { padding: 22px; }
.kb-service-contact .kb-guided-service__head { padding: 22px; }
.kb-service-contact .kb-service-request-head h2,
.kb-service-contact .kb-guided-service__head h2 { margin: 0 0 10px; font-size: clamp(21px, 3vw, 26px); line-height: 1.3; }
.kb-service-contact .kb-service-request-head > p,
.kb-service-contact .kb-guided-service__head > p { margin: 0 0 10px; line-height: 1.55; }
.kb-service-contact .kb-service-contact__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.kb-service-contact__actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 14px; border: 1px solid #596574; border-radius: 6px; background: #fff; color: #26384b; font-size: 14px; font-weight: 650; line-height: 1.35; text-align: center; text-decoration: none; }
.kb-service-contact__actions a.kb-service-contact__whatsapp { background: #166534; color: #fff; border-color: #166534; }
.kb-service-contact__details { margin-top: 18px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; scroll-margin-top: 100px; }
.kb-guided-service .kb-service-contact__details { margin: 18px 22px 22px; }
.kb-service-contact__details > summary { padding: 14px 16px; color: #172b43; background: #f5f7fa; font-weight: 650; line-height: 1.5; cursor: pointer; border-radius: 8px; }
.kb-service-contact__details[open] > summary { border-bottom: 1px solid #cbd5e1; border-radius: 8px 8px 0 0; }
.kb-service-contact .kb-service-contact__details .kb-guided-service__form,
.kb-service-contact .kb-service-contact__details .kb-service-request-grid { margin: 0; padding: 18px; }
.kb-service-contact .kb-service-request-privacy { margin: 14px 0 0; font-size: 13px; line-height: 1.55; }
.kb-service-contact :is(summary, a):focus-visible,
.kb-service-entry a:focus-visible { outline: 3px solid #2563eb; outline-offset: 3px; }
.kb-service-contact button:disabled { opacity: .6; cursor: not-allowed; }
.kb-service-entry { margin: 24px 0 0; }
.kb-service-entry h2 { margin: 0 0 12px; font-size: 22px; line-height: 1.35; }
.kb-service-entry ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.kb-service-entry li { min-width: 0; }
.kb-service-entry a { display: flex; flex-direction: column; gap: 4px; height: 100%; min-height: 48px; padding: 14px; border: 1px solid #cbd5e1; border-radius: 8px; background: #f8fafc; color: #172b43; text-decoration: none; overflow-wrap: anywhere; }
.kb-service-entry a:hover { border-color: #3b647b; background: #edf5fa; }
.kb-service-entry span { color: #475569; font-size: 13px; line-height: 1.45; }
@media (max-width: 600px) {
    .kb-service-contact.kb-guided-service { margin: 16px 0; }
    .kb-service-contact .kb-service-request-card,
    .kb-service-contact .kb-guided-service__head { padding: 18px; }
    .kb-guided-service .kb-service-contact__details { margin: 14px 18px 18px; }
    .kb-service-contact__details > summary { padding: 13px; font-size: 15px; }
    .kb-service-contact .kb-service-contact__details .kb-guided-service__form,
    .kb-service-contact .kb-service-contact__details .kb-service-request-grid { padding: 14px; }
    .kb-service-contact__actions a { flex: 1 1 128px; padding: 10px; }
    .kb-service-entry { margin-top: 16px; }
    .kb-service-entry ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .kb-service-entry a { padding: 12px; font-size: 14px; }
}
