/* Contact and inquiry usability, shared by desktop and mobile. */
.contact-link { color: inherit; overflow-wrap: anywhere; }
.contact-link:hover, .contact-link:focus { color: #0876ce; text-decoration: underline; }
.contact-section { padding-top: 48px; padding-bottom: 48px; }
.contact-eyebrow { color: #056ede; font-weight: 700; letter-spacing: .12em; margin-bottom: 12px; }
.contact-section h1 { font-size: clamp(25px, 3vw, 40px); line-height: 1.25; margin: 0 0 30px; color: #233044; }
.contact-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.contact-card { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px 18px; min-height: 210px; border: 1px solid #e0e7ef; border-radius: 12px; background: #fff; box-shadow: 0 4px 18px rgba(25, 48, 77, .07); text-align: center; color: #233044; overflow-wrap: anywhere; }
.contact-card .fa { color: #056ede; font-size: 32px; margin-bottom: 16px; }
.contact-card h2 { margin: 0 0 12px; font-size: 18px; font-weight: 700; }
.contact-card p { margin: 0; line-height: 1.6; }
.contact-card span { display: block; margin-top: 16px; color: #056ede; font-weight: 600; }
a.contact-card:hover { border-color: #056ede; text-decoration: none; }
a.contact-card:focus-visible, .social-item:focus-visible { outline: 3px solid #056ede; outline-offset: 4px; }
.inquiry-form { padding: 28px; margin: 24px 0; background: #fff; color: #233044; border: 1px solid #e0e7ef; border-radius: 12px; box-sizing: border-box; clear: both; }
.inquiry-note { font-size: 14px; line-height: 1.6; margin: 0 0 20px; color: #536276; }
.inquiry-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.inquiry-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; margin: 0; font-size: 14px; font-weight: 600; line-height: 1.5; color: #233044; }
.inquiry-wide { grid-column: 1 / -1; }
.inquiry-field input, .inquiry-field textarea { width: 100%; min-width: 0; min-height: 46px; box-sizing: border-box; padding: 11px 12px; border: 1px solid #bac7d5; border-radius: 6px; background: #fff; color: #1c293b; font: 400 16px/1.5 Arial, sans-serif; }
.inquiry-field textarea { resize: vertical; min-height: 130px; }
.inquiry-field input:focus, .inquiry-field textarea:focus { outline: 2px solid #056ede; outline-offset: 1px; }
.inquiry-field input::placeholder, .inquiry-field textarea::placeholder { color: #687789; opacity: 1; }
.inquiry-verification { display: flex; align-items: flex-end; gap: 14px; margin-top: 18px; flex-wrap: wrap; }
.inquiry-verification .inquiry-field { max-width: 180px; }
.inquiry-code-refresh { height: 46px; border: 1px solid #bac7d5; border-radius: 6px; padding: 2px; background: #fff; cursor: pointer; }
.inquiry-code-refresh img { max-width: 100%; height: 40px; }
.inquiry-submit { width: 100%; min-height: 48px; margin-top: 22px; padding: 12px 20px; border: 0; border-radius: 6px; background: #056ede; color: #fff; font-size: 16px; font-weight: 600; cursor: pointer; }
.inquiry-submit:hover, .inquiry-submit:focus-visible { background: #0457ae; }
.ly_fr_con { padding: 0; background: transparent; }
.ly_fr_con .inquiry-form { margin: 0; }
.social-float-sidebar .social-item { min-width: 48px; min-height: 48px; }
.footer-main .contact-link { display: inline-block; padding: 4px 0; }
@media (max-width: 991px) { [data-aos] { transform: none !important; opacity: 1 !important; } .contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
  .prodetailtxt2 h3:after { display: none; }
  .prodetailtxt2 h3 { display: block; overflow-wrap: anywhere; }
  .titleee b { display: block; font-size: 20px; line-height: 1.4; overflow-wrap: anywhere; }
  .contact-section { padding-top: 30px; padding-bottom: 30px; }
  .contact-section h1 { margin-bottom: 24px; }
  .contact-grid { grid-template-columns: 1fr; gap: 14px; }
  .contact-card { min-height: 0; padding: 24px 18px; }
  .inquiry-form { padding: 20px 16px; width: 100%; }
  .inquiry-grid { grid-template-columns: 1fr; gap: 16px; }
  .inquiry-verification { gap: 10px; }
  .inquiry-verification .inquiry-field { flex: 1; max-width: none; }
  .inquiry-code-refresh { flex: 0 0 116px; }
  .social-float-sidebar { top: auto !important; bottom: 94px; right: 12px; transform: none !important; }
  .footer-main .contact-link { padding: 8px 0; }
}
