/**
 * Prometric CMA/FMAA Exam Style Theme for WatuPro
 * Based on official Prometric interface
 */

/* ========================================
   BASE STYLES
   ======================================== */

* {
    box-sizing: border-box;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #000000;
    margin: 0;
    padding: 0;
    background-color: #f0f0f0;
    scrollbar-width: thin;
    scrollbar-color: #8BC84A #fafafa;
}

/* Custom Scrollbar */
body::-webkit-scrollbar, ul.watupro-paginator::-webkit-scrollbar {
    width: 11px;
}

body::-webkit-scrollbar-track, ul.watupro-paginator::-webkit-scrollbar-track {
    background: #fafafa;
}

body::-webkit-scrollbar-thumb, ul.watupro-paginator::-webkit-scrollbar-thumb {
    background-color: #8BC84A;
    border-radius: 6px;
    border: 3px solid #fafafa;
}

@media print { body { display:none } }

.rewind-down, .rewind-up {
    display: none !important;
}

/* ========================================
   QUESTION CONTENT AREA
   ======================================== */

.question-content {
    background-color: #F5F7F8;
    padding: 15px 20px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #000;
}

/* ========================================
   SORTABLE & MATRIX
   ======================================== */

.watupro-sortable {
    margin: 0 auto;
}

.watupro-sortable li {
    list-style: none;
    background-color: #fff;
    border: 2px solid #8BC84A;
    border-radius: 3px;
    padding: 10px 15px;
    margin: 5px 0;
}

.watupro-nmatrix-selected {
    border-color: #8BC84A;
    border-radius: 4px;
    background-color: #F1D176;
}

.watupro-nmatrix-unselect {
    color: #8BC84A;
    font-size: 80%;
}

/* ========================================
   TEXT INPUTS
   ======================================== */

.watupro-user-feedback, 
.watupro-textarea-medium, 
.watupro-text, 
.watupro-gap {
    border: 2px solid #8BC84A !important;
    background-color: #fff !important;
    color: #000 !important;
    border-radius: 3px;
    padding: 10px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
}

/* ========================================
   BUTTONS - Prometric Green Style
   ======================================== */

.watupro_buttons input[type=button],
.watupro_buttons input[type=submit],
.watupro-exam-description button,
.watupro-start-quiz,
input[type=\"button\"],
input[type=\"submit\"],
button {
    display: inline-block;
    margin-bottom: 0;
    text-align: center;
    vertical-align: middle;
    border-radius: 4px;
    cursor: pointer;
    color: #ffffff !important;
    font-weight: bold;
    font-family: Arial, Helvetica, sans-serif;
    background-color: #8BC84A !important;
    border: none !important;
    line-height: 20px;
    font-size: 14px !important;
    padding: 10px 20px !important;
    transition: background-color 0.2s ease;
}

.watupro_buttons input[type=button]:hover,
.watupro_buttons input[type=submit]:hover,
.watupro-exam-description button:hover,
.watupro-start-quiz:hover,
input[type=\"button\"]:hover,
input[type=\"submit\"]:hover,
button:hover {
    background-color: #7AB83D !important;
    color: #fff !important;
}

.watupro-start-quiz {
    padding: 12px 30px !important;
    font-size: 16px !important;
}

/* ========================================
   ANSWER CHOICES - Prometric Style
   Hide radio/checkbox, show as boxes
   ======================================== */

.watupro-question-choice input[type=radio],
.watupro-question-choice input[type=checkbox] {
    display: none !important;
}

.watupro-question-choice input[type=radio] + label,
.watupro-question-choice input[type=checkbox] + label {
    margin: 0 0 8px 0;
    padding: 12px 18px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #333;
    vertical-align: middle;
    cursor: pointer;
    border: 2px solid #8BC84A;
    border-radius: 4px;
    background-color: #fff;
    display: block;
    transition: background-color 0.15s ease;
}

.watupro-question-choice input[type=radio] + label:hover,
.watupro-question-choice input[type=checkbox] + label:hover {
    background-color: #f5fff0;
}

/* SELECTED ANSWER - Orange/Golden like Prometric */
.watupro-question-choice input[type=radio]:checked + label,
.watupro-question-choice input[type=checkbox]:checked + label {
    background-color: #F1D176 !important;
    color: #000 !important;
    border: 2px solid #8BC84A !important;
}

.watupro-question-choice.watupro-ansnum input[type=radio] + label,
.watupro-question-choice.watupro-ansnum input[type=checkbox] + label {
    max-width: calc(100% - 2.5em);
    width: calc(100% - 3em);
}

/* Answer Letter (A, B, C, D) */
.watupro-question-choice.watupro-ansnum i {
    width: 2em;
    vertical-align: top;
    padding-top: 12px;
    font-style: normal;
    font-weight: 600;
    font-size: 16px;
    color: #333;
}

.watupro_buttons tr {
    border-bottom: none;
}

/* ========================================
   MULTI-COLUMN LAYOUTS
   ======================================== */

.watupro-2-columns > *, li.watupro-2-columns > *,
.watupro-3-columns > *, li.watupro-3-columns > *,
.watupro-4-columns > *, li.watupro-4-columns > * {
    display: inline-block;
}

.watupro-2-columns label,
.watupro-3-columns label,
.watupro-4-columns label {
    width: auto;
}

.watupro-ansnum.watupro-2-columns,
.watupro-ansnum.watupro-3-columns,
.watupro-ansnum.watupro-4-columns {
    padding-left: 0.5em;
    padding-right: 0;
}

.watupro-ansnum.watupro-2-columns:first-of-type,
.watupro-ansnum.watupro-3-columns:first-of-type,
.watupro-ansnum.watupro-4-columns:first-of-type,
.watupro-ansnum.watupro-2-columns:nth-of-type(2n+1),
.watupro-ansnum.watupro-3-columns:nth-of-type(3n+1),
.watupro-ansnum.watupro-4-columns:nth-of-type(4n+1) {
    padding-left: 0;
}

/* ========================================
   PROGRESS BAR
   ======================================== */

.watupro-progress-container {
    position: fixed;
    right: 180px;
    top: 15px;
    width: 100px;
    z-index: 9999999;
    max-height: 18px;
    border-radius: 9px;
    background-color: #fff;
    border: 1px solid #ccc;
}

.watupro-progress-bar {
    border-radius: 9px;
    background-color: #8BC84A;
    height: 18px;
    overflow: hidden;
    min-width: 10px !important;
}

.watupro-progress-percent {
    color: #666;
    font-size: 12px;
    font-weight: normal;
    position: absolute;
    right: -75px;
    top: -1px;
    line-height: 18px;
    background: transparent;
    border: none;
}

/* ========================================
   LEFT PAGINATOR - Prometric Vertical Style
   ======================================== */

ul.watupro-paginator {
    justify-content: center;
    margin: 0 auto;
    list-style: none;
    padding: 0;
}

ul.watupro-category-paginator {
    justify-content: center;
}

/* Question Number Buttons - Base */
ul.watupro-paginator li {
    flex-grow: 0;
    color: #ffffff;
    background-color: #4D4C4D;
    height: 32px;
    border-radius: 3px;
    padding: 0;
    width: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    font-weight: 600;
    font-family: Arial, Helvetica, sans-serif;
    clip-path: none;
    margin: 3px auto;
    cursor: pointer;
    transition: all 0.15s ease;
}

ul.watupro-paginator li a {
    color: #fff;
    text-decoration: none;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Unanswered - Dark Gray */
ul.watupro-paginator li.unanswered {
    background-color: #4D4C4D;
    color: #ffffff;
}

/* Answered - Dark Gray (same, but could add checkmark) */
ul.watupro-paginator li.answered {
    background-color: #4D4C4D;
    color: #ffffff;
    position: relative;
}

/* ACTIVE/CURRENT Question - Arrow pointer */
ul.watupro-paginator li.active {
    border: none !important;
    background: #8BC84A !important;
    color: #fff !important;
    position: relative;
    border-radius: 3px 0 0 3px;
    outline: none !important;
    width: 55px;
    clip-path: polygon(0% 0%, 75% 0%, 100% 50%, 75% 100%, 0% 100%);
    padding-right: 10px;
}

ul.watupro-paginator li.active a {
    color: #fff;
}

/* Marked/Flagged */
ul.watupro-paginator li.marked {
    border: none !important;
    background-color: #4D4C4D !important;
    background-image: url(\"data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 512 512\'%3E%3Cpath fill=\'white\' d=\'M349.565 98.783C295.978 98.783 251.721 64 184.348 64c-24.955 0-47.309 4.384-68.045 12.013a55.947 55.947 0 0 0 3.586-23.562C118.117 24.015 94.806 1.206 66.338.048 34.345-1.254 8 24.296 8 56c0 19.026 9.497 35.825 24 45.945V488c0 13.255 10.745 24 24 24h16c13.255 0 24-10.745 24-24v-94.4c28.311-12.064 63.582-22.122 114.435-22.122 53.588 0 97.844 34.783 165.217 34.783 48.169 0 86.667-16.294 122.505-40.858C506.84 359.452 512 349.571 512 339.045v-243.1c0-23.393-24.269-38.87-45.485-29.016-34.338 15.948-76.454 31.854-116.95 31.854z\'%3E%3C/path%3E%3C/svg%3E\");
    background-position: calc(100% - 5px) center;
    background-repeat: no-repeat;
    background-size: 10px;
}

ul.watupro-paginator li.active.marked {
    background-color: #8BC84A !important;
}

ul.watupro-category-paginator li.active {
    transform: scaleY(1.1) scaleX(1.02) translateY(-1px);
}

.watupro-auto-hide-handler li, 
.watupro-auto-hide-handler-hide li {
    font-size: 11px;
    line-height: 1;
}

.watupro-auto-hide-handler li a, 
.watupro-auto-hide-handler-hide li a {
    color: #fff;
}

/* ========================================
   BOTTOM TOOLBAR
   ======================================== */

.watupro_buttons {
    background-color: #4D4C4D;
    padding: 10px 20px;
    border-top: none !important;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    z-index: 99999;
}

.watupro_buttons input[type=\"button\"],
.watupro_buttons input[type=\"submit\"] {
    font-size: 14px !important;
    padding: 10px 25px !important;
    height: auto;
}

.watupro_buttons.flex {
    justify-content: flex-end;
}

/* ========================================
   TIMER HEADER
   ======================================== */

div#timerDiv {
    background-color: #E8E8E8;
    padding: 12px 20px;
    color: #000;
    width: 100%;
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    border-bottom: none;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
}

/* ========================================
   PAGINATOR WRAPPER
   ======================================== */

.watupro-paginator-wrap {
    position: fixed;
    left: 0;
    top: 60px;
    width: 65px;
    height: calc(100% - 120px);
    padding: 10px 5px;
    background-color: transparent;
}

.watupro-paginator-vertical ul.watupro-paginator,
ul.watupro-paginator {
    overflow-y: auto;
    overflow-x: hidden;
    height: 100%;
    flex-flow: column nowrap;
    justify-content: flex-start;
    scrollbar-color: #8BC84A #fafafa;
    scrollbar-width: thin;
    gap: 5px;
}

ul.watupro-question-paginator {
    overflow-x: hidden;
    background-color: transparent;
}

ul.watupro-question-paginator li {
    width: 45px !important;
    height: 32px;
    font-size: 13px;
}

/* ========================================
   QUIZ AREA
   ======================================== */

.quiz-area {
    margin-top: 70px;
    margin-left: 75px;
    margin-right: 20px;
    margin-bottom: 65px;
    padding: 20px;
    background-color: #fff;
}

/* ========================================
   CALCULATOR BUTTON (if needed)
   ======================================== */

.calculator-btn,
.watupro-calculator {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background-color: transparent;
    border: none;
    padding: 5px 10px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #000;
    cursor: pointer;
    margin: 10px 0;
}

.calculator-btn::before,
.watupro-calculator::before {
    content: \"\";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-image: url(\"data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 24 24\' fill=\'%238BC84A\'%3E%3Crect x=\'2\' y=\'2\' width=\'5\' height=\'5\' rx=\'0.5\'/%3E%3Crect x=\'9\' y=\'2\' width=\'5\' height=\'5\' rx=\'0.5\'/%3E%3Crect x=\'16\' y=\'2\' width=\'5\' height=\'5\' rx=\'0.5\'/%3E%3Crect x=\'2\' y=\'9\' width=\'5\' height=\'5\' rx=\'0.5\'/%3E%3Crect x=\'9\' y=\'9\' width=\'5\' height=\'5\' rx=\'0.5\'/%3E%3Crect x=\'16\' y=\'9\' width=\'5\' height=\'5\' rx=\'0.5\'/%3E%3Crect x=\'2\' y=\'16\' width=\'5\' height=\'5\' rx=\'0.5\'/%3E%3Crect x=\'9\' y=\'16\' width=\'5\' height=\'5\' rx=\'0.5\'/%3E%3Crect x=\'16\' y=\'16\' width=\'5\' height=\'5\' rx=\'0.5\'/%3E%3C/svg%3E\");
    background-size: contain;
    background-repeat: no-repeat;
}

/* ========================================
   RESPONSIVE
   ======================================== */

@media only screen and (max-width: 1024px) {
    .quiz-area {
        margin-top: 65px;
        margin-left: 70px;
    }
    
    .watupro-paginator-wrap {
        width: 60px;
    }
    
    ul.watupro-paginator li {
        width: 42px;
        height: 30px;
        font-size: 12px;
    }
    
    ul.watupro-paginator li.active {
        width: 52px;
    }
}

@media only screen and (max-width: 768px) {
    .quiz-area {
        margin-top: 60px;
        margin-left: 55px;
        padding: 15px;
    }
    
    .watupro-paginator-wrap {
        width: 50px;
        height: calc(100% - 115px);
    }
    
    ul.watupro-paginator li {
        width: 38px;
        height: 28px;
        font-size: 11px;
    }
    
    ul.watupro-paginator li.active {
        width: 48px;
    }
    
    .watupro_buttons {
        padding: 8px 15px;
        height: 45px;
    }
    
    .watupro_buttons input[type=\"button\"],
    .watupro_buttons input[type=\"submit\"] {
        padding: 8px 18px !important;
        font-size: 13px !important;
    }
    
    .watupro-question-choice input[type=radio] + label,
    .watupro-question-choice input[type=checkbox] + label {
        padding: 10px 15px;
        font-size: 14px;
    }
}

@media only screen and (max-width: 480px) {
    .quiz-area {
        margin-left: 45px;
        margin-top: 55px;
        padding: 10px;
    }
    
    .watupro-paginator-wrap {
        width: 40px;
    }
    
    ul.watupro-paginator li {
        width: 32px;
        height: 26px;
        font-size: 10px;
    }
    
    ul.watupro-paginator li.active {
        width: 42px;
    }
}

/* ========================================
   RTL SUPPORT (Arabic)
   ======================================== */

html[dir=\"rtl\"] .quiz-area,
body.rtl .quiz-area {
    margin-left: 20px;
    margin-right: 75px;
}

html[dir=\"rtl\"] .watupro-paginator-wrap,
body.rtl .watupro-paginator-wrap {
    left: auto;
    right: 0;
}

html[dir=\"rtl\"] ul.watupro-paginator li.active,
body.rtl ul.watupro-paginator li.active {
    clip-path: polygon(25% 0%, 100% 0%, 100% 100%, 25% 100%, 0% 50%);
    border-radius: 0 3px 3px 0;
    padding-left: 10px;
    padding-right: 0;
}