/* ── Font ── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');
.zifo-progress-badge {position: fixed;top: 24px;right: 60px;background-color: #ffffff!important;color: #0e1b4d;padding: 10px 20px;border-radius: 50px;font-size: 18px;line-height: 22px;font-weight: 700;font-family: "TT Common Bold", Sans-serif;box-shadow: 0 4px 6px rgba(0,0,0,0.07), 0 1px 3px rgba(0,0,0,0.06);z-index: 9999;border: 1px solid #e5e7eb;transition: background 0.4s ease;white-space: nowrap;}
.zifo-scroll-prompt {position: fixed;bottom: 30px;left: 50%;transform: translateX(-50%);background: #0e1b4d;color:#FFFFFF;padding: 10px 24px;border-radius: 30px;font-size: 16px;line-height: 20px;font-weight: 600;font-family: 'TT Common DemiBold', sans-serif;box-shadow: 0 4px 12px rgba(14,27,77,0.2);z-index: 998;pointer-events: none;display: flex;align-items: center;gap: 8px;transition: opacity 0.3s ease, transform 0.3s ease;animation: zifoBounce 2s infinite;}
.zifo-scroll-prompt.hidden {opacity: 0;transform: translateX(-50%) translateY(20px);}
@keyframes zifoBounce {
    0%,20%,50%,80%,100% { transform: translateX(-50%) translateY(0); }
    40%  { transform: translateX(-50%) translateY(-10px); }
    60%  { transform: translateX(-50%) translateY(-5px); }
}
.zifo-survey-wrap {max-width: 820px;margin: -48px auto 64px;padding: 0 24px;position: relative;z-index: 10;font-family: 'TT Commons', sans-serif;}
.zifo-card {background: #fff;border-radius: 12px;box-shadow: 0 4px 6px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.05);padding: 40px;margin-bottom: 32px;}
.zifo-section-label {color:#6764AB;font-size: 18px;line-height: 22px;font-weight: 700;font-family: "TT Common Bold", Sans-serif;text-transform: uppercase;letter-spacing: 0.88px;border-bottom: 2px solid #e5e7eb;padding-bottom: 8px;margin-bottom: 24px;}
.zifo-q-number {display: block;font-size: 12px;line-height: 16px;font-weight: 700;font-family: "TT Common Bold", Sans-serif;color: #6b7280;text-transform: uppercase;letter-spacing: 0.88px;margin-bottom: 6px;}
.zifo-q-text {font-size: 22px;font-weight: 600;font-family: 'TT Common DemiBold', sans-serif!important;color: #0e1b4d;margin-bottom: 24px;line-height: 26px;}
.zifo-helper {display: block;font-size: 14px;font-family: 'TT Commons', sans-serif;color:#6764AB;font-weight: 600;margin-top: -16px;margin-bottom: 19px;}
.zifo-options-grid {display: grid;grid-template-columns: 1fr;gap: 12px;margin-bottom: 8px;}
.zifo-option input[type="radio"],
.zifo-option input[type="checkbox"] { display: none; }
.zifo-option label {display: flex;align-items: center;padding: 16px 19px;background: #fff;border: 2px solid #e5e7eb;border-radius: 8px;cursor: pointer;transition: all 0.2s ease;font-weight: 500;font-size: 18px;font-family: 'TT Common Regular', sans-serif;color: #1f2937;line-height: 22px;}
.zifo-option label:hover {border-color:#79ba44;background-color: #f0fdf4;}
.zifo-option input:checked + label {border-color: #79ba44;background-color: #f0fdf4;color: #79ba44;box-shadow: 0 0 0 3px rgba(0,166,81,0.2);}
.zifo-option input:checked + label::before {content: "✓";margin-right: 10px;font-weight: bold;color: #79ba44;flex-shrink: 0;}
.zifo-textarea {width: 100%;padding: 16px;border: 1px solid #e5e7eb;border-radius: 8px;margin-top: 19px;font-family: "TT Common Medium", Sans-serif !important;font-weight: 500;font-size: 16px;line-height: 20px;resize: vertical;min-height: 100px;background: #f9fafb;transition: border-color 0.2s;box-sizing: border-box;}
.zifo-textarea:focus {outline: none;border-color: #0e1b4d;background: #fff;}
.zifo-error {display: none;color: #dc2626;font-size: 14px;font-weight: 600;font-family: 'TT Commons', sans-serif;margin-top: 12px;padding: 8px 12px;background: #fef2f2;border-radius: 6px;border-left: 3px solid #dc2626;}
.zifo-submit-wrap {text-align: center;margin-top: 32px;}
.zifo-submit-btn,
.zifo-survey-wrap button.zifo-submit-btn,
#zifoSurveyForm button.zifo-submit-btn {background-color: #0e1b4d;color: #ffffff !important;padding: 16px 48px !important;font-size: 18px !important;line-height: 22px;font-weight: 600 !important;font-family: 'TT Common DemiBold', sans-serif !important;border: none !important;border-radius: 50px !important;cursor: pointer !important;transition: all 0.3s ease !important;box-shadow: 0 4px 14px 0 rgba(14, 27, 77, 0.39);outline: none !important;text-decoration: none !important;display: inline-block !important;}
.zifo-submit-btn:hover,
.zifo-survey-wrap button.zifo-submit-btn:hover {background-color:#79ba44!important;color: #ffffff !important;transform: translateY(-2px) !important;box-shadow: 0 6px 20px 0 rgba(0, 166, 81, 0.39) !important;}
.zifo-submit-btn:disabled,
.zifo-survey-wrap button.zifo-submit-btn:disabled {background-color: #c5cad8 !important;color: #fff !important;cursor: not-allowed !important;box-shadow: none !important;transform: none !important;pointer-events: none !important;}
.zifo-success-msg {margin-top: 24px;padding: 19px 32px;background: #f0fdf4;border: 2px solid #79ba44;border-radius: 12px;color: #79ba44;font-weight: 600;font-size: 16px;font-family: 'TT Commons', sans-serif;}
.zifo-thankyou {max-width: 760px;margin: 0px auto 64px;background: #fff;border-radius: 12px;padding: 60px 40px;text-align: center;box-shadow: 0 4px 24px rgba(0,0,0,0.08);}
.zifo-thankyou-icon {font-size: 64px;margin-bottom: 24px;animation: zifo-pop 0.5s ease-out;}
.zifo-thankyou h3 {font-family: 'TT Common DemiBold', sans-serif!important;font-size: 26px;color: #0e1b4d;line-height: 30px;margin: 0 0 12px 0;}
.zifo-thankyou p {font-family: 'TT Common Regular', sans-serif;font-size: 17px;color: #6b7280;margin: 0;}
@keyframes zifo-pop {
    0%   { transform: scale(0); opacity: 0; }
    70%  { transform: scale(1.2); }
    100% { transform: scale(1); opacity: 1; }
}
@media screen and (max-width:1024px){
   .zifo-progress-badge {right: 38px;}
}
@media screen and (max-width:767px){
    .zifo-survey-wrap{padding: 0 0px;margin: -48px auto 30px;}
    .zifo-card{padding: 20px;}
    .zifo-scroll-prompt{padding: 10px 18px;}
    .zifo-q-text {font-size: 18px;line-height: 22px;}
    .zifo-option label{padding: 10px 10px;}
    .zifo-progress-badge {background-color: #ffffff !important;font-size: 16px;line-height: 20px;}
}
