.contact-alert-wrap{margin-top:16px;}
.contact-section{margin:30px 0;}
.contact-section .contact-wrapper{background:#fff;border-radius:6px;box-shadow:0 2px 12px rgba(0,0,0,0.08);overflow:hidden;}
.contact-info-col{background:#27883f;padding:40px 30px;color:#fff;}
.contact-info-col h2{font-size:20px;font-weight:700;text-transform:uppercase;margin:0 0 8px;color:#fff;border-left:4px solid #4caf50;padding-left:12px;}
.contact-info-col .info-desc{font-size:13px;color:rgba(255,255,255,0.8);margin:0 0 30px;line-height:1.6;}
.contact-info-item{display:flex;align-items:flex-start;gap:14px;margin-bottom:22px;}
.contact-info-item .ci-icon{width:40px;height:40px;background:rgba(255,255,255,0.15);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:16px;}
.contact-info-item .ci-content strong{display:block;font-size:12px;text-transform:uppercase;color:rgba(255,255,255,0.6);letter-spacing:0.5px;margin-bottom:3px;}
.contact-info-item .ci-content span,.contact-info-item .ci-content a{font-size:14px;color:#fff;text-decoration:none;line-height:1.5;word-break:break-word;}
.contact-info-item .ci-content a:hover{color:#8bc34a;}
.contact-map{margin-top:24px;border-radius:6px;overflow:hidden;border:2px solid rgba(255,255,255,0.2);}
.contact-map iframe{width:100%;height:180px;border:none;display:block;}
.contact-form-col{padding:40px 35px;}
.contact-form-col h2{font-size:20px;font-weight:700;text-transform:uppercase;color:#27883f;border-left:4px solid #4caf50;padding-left:12px;margin:0 0 8px;}
.contact-form-col .form-desc{font-size:13px;color:#777;margin:0 0 28px;line-height:1.6;}
.contact-form .form-group{margin-bottom:16px;}
.contact-form .form-group label{display:block;font-size:13px;font-weight:600;color:#333;margin-bottom:6px;}
.contact-form .form-group label .req{color:#e53935;}
.contact-form .form-control{border:1px solid #ddd;border-radius:4px;padding:10px 14px;font-size:14px;color:#333;width:100%;box-sizing:border-box;transition:border-color 0.2s,box-shadow 0.2s;background:#fafafa;}
.contact-form .form-control:focus{border-color:#4caf50;box-shadow:0 0 0 3px rgba(76,175,80,0.12);outline:none;background:#fff;}
.contact-form textarea.form-control{resize:vertical;min-height:120px;}
.contact-form .btn-submit{background:#27883f;color:#fff;border:none;padding:12px 36px;font-size:15px;font-weight:600;border-radius:4px;cursor:pointer;transition:background 0.2s,transform 0.1s;letter-spacing:0.3px;width:100%;}
.contact-form .btn-submit:hover{background:#27802d;transform:translateY(-1px);}
.contact-form .btn-submit i{margin-left:8px;}
.contact-form .row-2col{display:flex;gap:16px;}
.contact-form .row-2col .form-group{flex:1;}
@media (max-width: 767px){
  .contact-info-col{padding:30px 20px;}
  .contact-form-col{padding:30px 20px;}
  .contact-form .row-2col{flex-direction:column;gap:0;}
  .contact-map iframe{height:140px;}
}
.contact-form .btn-submit:disabled,.contact-form .btn-submit.is-loading{background-color:#a5d6a7 !important;cursor:not-allowed !important;opacity:0.8;}
.contact-form .btn-submit.is-loading,.contact-form .btn-submit.is-success-state{pointer-events:none !important;opacity:0.8 !important;}
.contact-form .loading-icon{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,0.3);border-radius:50%;border-top-color:#fff;animation:spinIcon 0.8s linear infinite;margin-left:8px;vertical-align:middle;}
@keyframes spinIcon{to { transform: rotate(360deg); }}
.contact-form .success-icon{display:inline-block;width:16px;height:16px;background-color:#fff;color:#27883f;border-radius:50%;text-align:center;line-height:16px;font-size:11px;font-weight:bold;margin-left:8px;vertical-align:middle;animation:popIconChecked 0.3s ease-out forwards;}
@keyframes popIconChecked{0% { transform: scale(0); }80% { transform: scale(1.2); }100% { transform: scale(1); }}
.contact-form .contact-success-msg{margin-top:15px;padding:12px;background-color:#e8f5e9;color:#2e7d32;border-radius:4px;border-left:4px solid #4caf50;font-size:14px;line-height:1.5;font-weight:500;opacity:0;transform:translateY(10px);transition:opacity 0.4s ease, transform 0.4s ease;display:none;}
.contact-form .contact-success-msg.contact-show-msg{display:block;opacity:1;transform:translateY(0);}
