/* Scoped to #ap-assessment-root */
#ap-assessment-root { font-family: Arial, Helvetica, sans-serif; max-width:720px; margin:0 auto; padding:18px; border:1px solid #eee; background:#fff; }

.ap-field input{ width:100%; padding:10px; margin:6px 0; border:1px solid #ddd; border-radius:4px; }

.ap-progress { margin-bottom:12px; }

.ap-progress-bar { width:100%; background:#f2f2f2; height:8px; border-radius:4px; overflow:hidden; }

.ap-progress-fill { height:100%; background:linear-gradient(90deg,#4fb3ff,#8fd4ff); width:0%; transition:width .35s ease; }



.ap-question { padding:10px 0; }

.ap-question p{ font-size:16px; margin:0 0 8px 0; }

.ap-ratings { display:flex; gap:12px; align-items:center; margin-bottom:12px; }

.ap-rating-btn {
    padding:8px 12px;   /* 🔹 Reduced size */
    border:1px solid #7ec9ff;
    background:#dff6ff;
    color:#000;
    border-radius:6px;
    cursor:pointer;
    font-weight:600;
    min-width:40px;     /* 🔹 Slightly smaller */
    text-align:center;
    transition: all 0.3s ease;
    font-size:13px;     /* 🔹 Reduced font size */
}

.ap-rating-btn:hover {
    background:#b3e5ff;
    border-color: #4fb3ff;
}

.ap-rating-btn.selected{
    background-color: #4fb3ff;
    color: #fff;
    border-color: #0077cc;
    box-shadow:0 0 0 3px rgba(127,188,255,0.3);
    transform: scale(1.05);
}



.ap-controls { display:flex; gap:8px; margin-top:12px; }



/* --- UNIFIED BUTTON STYLES --- */
/* Global button styles */
.ap-controls .button,
#ap_begin,
.ap-yes,
.ap-no,
.ap-cat-back,
.ap-cat-next,
.ap-submit,
.button {
    padding:10px 16px;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
    display: inline-block;
    border: none;
    font-size: 14px;
}

/* Primary button style (now applied to ALL buttons) */
.button-primary,
#ap_begin,
.ap-yes,
.ap-no,
.ap-cat-back,
.ap-cat-next,
.ap-cat-submit,
.ap-submit,
.button {
    background: linear-gradient(135deg, #4fb3ff, #0077cc);
    color: #fff !important; /* Added !important to ensure text is white */
    border: 1px solid #0077cc;
}

.button-primary:hover,
#ap_begin:hover,
.ap-yes:hover,
.ap-no:hover,
.ap-cat-back:hover,
.ap-cat-next:hover,
.ap-cat-submit:hover,
.ap-submit:hover,
.button:hover {
    background: linear-gradient(135deg, #0077cc, #005fa3);
    box-shadow: 0 4px 12px rgba(79, 179, 255, 0.3);
    transform: translateY(-1px);
}

/* Removed the conflicting secondary button styles */


/* Disabled state */
.ap-controls .button:disabled,
.button:disabled {
    background: #f0f0f0;
    color: #999;
    cursor: not-allowed;
    border-color: #ddd;
    transform: none;
    box-shadow: none;
}



.ap-result {
    padding:12px;
    border-top:1px solid #eee;
    margin-top:12px;
    text-align: center;
    background: #f8fff8;
    border-radius: 8px;
}



/* Styles for category primary prompt */
.ap-primary {
    padding:20px;
    background:linear-gradient(135deg, #f7fbff, #e8f4ff);
    border-radius:12px;
    margin-bottom:16px;
    border:1px solid #b3e5ff;
    box-shadow: 0 2px 8px rgba(79, 179, 255, 0.1);
}
.ap-primary h3 {
    color: #0077cc;
    margin-bottom: 12px;
}

.ap-primary .ap-yn { margin-top:16px; }

.ap-yn .button { margin-right:12px; }



.ap-cat-questions {
    padding:20px;
    background:#fff;
    border:1px solid #e8f4ff;
    border-radius:12px;
    margin-bottom:16px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.ap-cat-questions h3 {
    color: #0077cc;
    margin-bottom: 16px;
    border-bottom: 2px solid #4fb3ff;
    padding-bottom: 8px;
}

.ap-sub h4 {
    color: #495057;
    margin: 20px 0 12px 0;
    font-size: 16px;
}



/* Score highlighting */
.score-highlight {
    font-weight: bold;
    color: #0077cc;
    background: linear-gradient(135deg, #e8f4ff, #f0f8ff);
    padding: 2px 6px;
    border-radius: 4px;
    border: 1px solid #b3e5ff;
}


/* --------------------------------------------- */
/* 1. Fix Report Score Alignment */
.report-category-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start; /* allows text to wrap properly */
    gap: 15px; /* space between title and score */
    border-bottom: 2px solid #4fb3ff; /* move border here */
    padding-bottom: 8px; /* ensures border stays below wrapped text */
}

.report-category-header h3,
.report-category-header .score {
    margin: 0;
    flex-shrink: 0;
}


/* 2. Increase Subcategory Question Font Size */
.ap-question-text {
    font-size: 18px; /* larger font */
    line-height: 1.5; /* better readability */
}