.sirvi-contact { color: var(--ink, #151515); }
.sirvi-contact .sirvi-contact-heading { text-align: center; margin-bottom: 40px; }
.sirvi-contact h1 { font-size: clamp(30px, 4vw, 48px); margin: 12px 0; }
.sirvi-contact h2 { font-size: 26px; margin-bottom: 20px; }
.sirvi-contact h3 { font-size: 18px; margin-bottom: 10px; }
.sirvi-contact .sirvi-contact-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); gap: 32px; align-items: start; }
.sirvi-contact .sirvi-contact-info, .sirvi-contact .sirvi-contact-card { min-width: 0; padding: 32px; border: 1px solid #d6dfd4; border-radius: 16px; background: #fff; overflow-wrap: anywhere; }
.sirvi-contact .sirvi-contact-info { background: #f1f5ee; padding: 36px; }
.sirvi-contact .sirvi-contact-info > h2 { margin: 0 0 28px; line-height: 1.3; }
.sirvi-contact .sirvi-contact-detail { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 16px; margin: 0; padding: 24px 0; border-top: 1px solid #dce5d7; }
.sirvi-contact .sirvi-contact-detail:last-child { padding-bottom: 0; }
.sirvi-contact .sirvi-contact-detail h3 { margin: 0 0 8px; font-size: 15px; font-weight: 600; line-height: 1.4; color: var(--green-deep, #006028); }
.sirvi-contact .sirvi-contact-detail p, .sirvi-contact .sirvi-contact-detail address { margin: 0; font-size: 15px; line-height: 1.75; color: #424a42; }
.sirvi-contact .sirvi-contact-icon { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; background: #fff; border: 1px solid #dce5d7; border-radius: 12px; color: var(--green-deep, #006028); }
.sirvi-contact .sirvi-contact-icon svg { width: 21px; height: 21px; }
.sirvi-contact address { font-style: normal; }
.sirvi-contact .sirvi-contact-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin: 24px 0; align-items: start; }
.sirvi-contact .sirvi-contact-wide { grid-column: 1 / -1; }
.sirvi-contact .sirvi-contact-field { min-width: 0; }
.sirvi-contact label, .sirvi-contact legend { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; }
.sirvi-contact input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"]), .sirvi-contact select, .sirvi-contact textarea { width: 100%; min-width: 0; padding: 12px 14px; border: 1px solid #d6dfd4; border-radius: 8px; background: #fff; color: inherit; font: inherit; }
.sirvi-contact textarea { resize: vertical; min-height: 130px; }
.sirvi-contact fieldset { border: 0; min-width: 0; padding: 0; }
.sirvi-contact .sirvi-contact-choice { display: flex; align-items: center; gap: 10px; font-weight: 400; }
.sirvi-contact input[type="radio"], .sirvi-contact input[type="checkbox"] { accent-color: #006028; }
.sirvi-contact .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; }
.sirvi-contact [hidden] { display: none !important; }
.sirvi-contact :focus-visible { outline: 2px solid #006028; outline-offset: 3px; }
.sirvi-contact .sirvi-contact-error { display: block; color: #a22323; margin-top: 6px; font-size: 13px; min-height: 16px; line-height: 1.3; }
.sirvi-contact .sirvi-contact-status { padding: 14px; margin-bottom: 16px; border-radius: 8px; background: #eef4eb; }
.sirvi-contact [aria-invalid="true"] { border-color: #a22323 !important; }
.sirvi-contact button:disabled { opacity: .6; cursor: wait; }
@media (max-width: 900px) { .sirvi-contact .sirvi-contact-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; } }
@media (max-width: 575px) {
  .sirvi-contact .sirvi-contact-info, .sirvi-contact .sirvi-contact-card { padding: 20px; }
  .sirvi-contact .sirvi-contact-fields { grid-template-columns: minmax(0, 1fr); gap: 16px; }
  .sirvi-contact .btn { width: 100%; }
  .sirvi-contact h2 { font-size: 23px; }
  .sirvi-contact .sirvi-contact-info > h2 { margin-bottom: 20px; }
  .sirvi-contact .sirvi-contact-detail { gap: 12px; padding-top: 20px; padding-bottom: 20px; }
  .sirvi-contact .sirvi-contact-detail:last-child { padding-bottom: 0; }
}
