/* Shared security and service enquiry panel. */
.service-contact { color: #3d3e40; font-size: 1rem; line-height: 1.5; text-align: left; }
.service-contact p { line-height: 1.75; }
.service-enquiry-modal { font-size: 1rem; line-height: 1.5; text-align: left; }
/* The floating chat tab otherwise sits above the form on narrow screens. */
body:has(.service-enquiry-modal.show) #min-widget { display: none; }
.service-enquiry-modal .modal-content,
.service-enquiry-modal .modal-header,
.service-enquiry-modal .modal-footer,
.service-enquiry-modal .form-control,
.service-enquiry-modal .btn { border-radius: 0; }
.service-contact { margin: 2.5rem 0; scroll-margin-top: 130px; background: #f2f6fa; border: 1px solid #d6e0eb; }
.service-contact-header { position: relative; overflow: hidden; background: #4b78a7; color: #fff; padding: 2rem; }
.service-contact-header::after { content: ""; position: absolute; top: -60px; right: -20px; width: 180px; height: 300px; border-left: 24px solid rgba(255,255,255,.06); border-right: 48px solid rgba(255,255,255,.06); transform: skewX(-25deg); pointer-events: none; }
.service-contact-header h2 { position: relative; z-index: 1; font-size: clamp(2rem, 3vw, 2.75rem); line-height: 1.15; margin: 0 0 .75rem; }
.service-contact-header p { position: relative; z-index: 1; margin: 0; max-width: 680px; font-size: 1.05rem; }
.service-contact-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; padding: 1.5rem; }
.service-contact-option { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: .65rem; padding: 1.5rem 1.1rem; border: 1px solid #d6e0eb; border-bottom: 3px solid #7c9dbf; border-radius: 0; background: #fff; color: #294565; text-align: left; text-decoration: none; font: inherit; transition: background-color .18s ease, border-color .18s ease, color .18s ease; }
.service-contact-icon { display: block; width: 34px; height: 34px; flex-shrink: 0; margin-bottom: .5rem; }
.service-whatsapp-icon { color: #666; font-size: 34px; line-height: 1; }
.service-contact-option:hover .service-whatsapp-icon { color: inherit; }
.service-contact-option strong { font-size: 1.2rem; }
.service-contact-option span { font-size: .85rem; overflow-wrap: anywhere; }
.service-contact-option:not(:disabled):hover { background: #365d85; border-color: #365d85; color: #fff; }
.service-contact-option:focus-visible { outline: 2px solid #294565; outline-offset: 3px; }
.service-contact-option:disabled { border-color: #d6d9dd; color: #666; background: #f7f8fa; }
@media (max-width: 575.98px) {
    .service-contact-header { padding: 1.5rem; }
    .service-contact-options { padding: 1rem; gap: .75rem; }
    .service-contact-option { padding: 1.25rem .75rem; }
}
.service-enquiry-modal { --bs-modal-border-radius: 0; --bs-modal-inner-border-radius: 0; }
.service-enquiry-modal .modal-header { background: #3d3e40; color: white; }
.service-enquiry-modal .btn-close { filter: invert(1); }
.service-enquiry-modal .btn-rr-b:hover,
.service-enquiry-modal .btn-rr-b:focus-visible { background: #365d85; color: white; filter: none; }
.service-enquiry-modal .form-control { font-size: 16px; }
@media (max-width: 991.98px) {
    .service-contact-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .service-enquiry-modal .modal-body { padding: 1.25rem; }
}
.service-captcha-panel { display: flex; justify-content: flex-start; width: 100%; }
@media (max-width: 360px) {
    .service-enquiry-modal .modal-body { padding-left: 6px; padding-right: 6px; }
}
