/**
 * TUE QSM Theme Enhancements v2.30.0
 * Minimal-invasive design modernization for all 8 built-in QSM themes.
 *
 * Rules:
 *   ✓ Only visual polish (border-radius, shadow, transition, focus)
 *   ✓ Same or higher specificity than originals
 *   ✓ Matches !important where originals use it
 *   ✗ Never touches layout (width, height, display, position, margin, float)
 *   ✗ Never changes theme colors or brand identity
 *   ✗ Never overrides functional JS-dependent classes
 */


/* ═══════════════════════════════════════════════════════════
   SHARED FOUNDATION — applies to ALL QSM quiz containers
   ═══════════════════════════════════════════════════════════ */

/* System font stack fallback (only if theme doesn't set one) */
.qmn_quiz_container.qsm-quiz-container {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* Smooth transitions for interactive elements across all themes */
.qmn_quiz_container .qmn_btn,
.qmn_quiz_container input[type="submit"],
.qmn_quiz_container .btn-reload-quiz,
.qmn_quiz_container input[name="qsm_retake_button"] {
    transition: opacity .2s ease, transform .15s ease, box-shadow .2s ease, background-color .2s ease !important;
}

/* Universal active state — subtle press feedback */
.qmn_quiz_container .qmn_btn:active,
.qmn_quiz_container input[type="submit"]:active,
.qmn_quiz_container .btn-reload-quiz:active {
    transform: scale(0.97);
}

/* Accessibility — visible focus ring (all themes) */
.qmn_quiz_container .qmn_btn:focus-visible,
.qmn_quiz_container input:focus-visible,
.qmn_quiz_container textarea:focus-visible,
.qmn_quiz_container select:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

/* Smoother answer option interactions */
.qmn_quiz_container .qsm-input-label {
    transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

/* Image smoothing */
.qmn_quiz_container img {
    image-rendering: auto;
}


/* ═══════════════════════════════════════════════════════════
   BREEZE
   Original: border-radius 5px, shadow 0 0 5px rgb(0 0 0/20%)
   Enhancement: softer radius, layered shadow, button polish
   ═══════════════════════════════════════════════════════════ */

.quiz_theme_qsm-theme-breeze.qsm-quiz-container {
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,.04), 0 6px 16px rgba(0,0,0,.06);
}

.quiz_theme_qsm-theme-breeze.qsm-quiz-container img {
    border-radius: 8px;
}

.quiz_theme_qsm-theme-breeze.qmn_quiz_container .qmn_btn,
.quiz_theme_qsm-theme-breeze.qmn_quiz_container .qsm-save-quiz,
.quiz_theme_qsm-theme-breeze.qmn_quiz_container .qsm-resume-quiz,
.quiz_theme_qsm-theme-breeze .qmn_results_page .btn-reload-quiz,
.quiz_theme_qsm-theme-breeze .qmn_results_page input[name="qsm_retake_button"] {
    border-radius: 10px !important;
    letter-spacing: .01em;
}

.quiz_theme_qsm-theme-breeze.qmn_quiz_container .qmn_btn:hover,
.quiz_theme_qsm-theme-breeze .qmn_results_page .btn-reload-quiz:hover {
    box-shadow: 0 2px 8px rgba(70,154,205,.3);
}

/* Answer options — softer hover */
.quiz_theme_qsm-theme-breeze .qmn_radio_answers .qsm-input-label:hover,
.quiz_theme_qsm-theme-breeze .qmn_mc_answer_wrap .qsm-input-label:hover {
    border-radius: 8px;
}

/* Inputs & textareas */
.quiz_theme_qsm-theme-breeze textarea,
.quiz_theme_qsm-theme-breeze .qsm_contact_div input[type="text"],
.quiz_theme_qsm-theme-breeze .qsm_contact_div input[type="email"],
.quiz_theme_qsm-theme-breeze .qsm_contact_div input[type="tel"] {
    border-radius: 8px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

/* Progress bar */
.quiz_theme_qsm-theme-breeze .qsm-progress-bar {
    border-radius: 99px;
    overflow: hidden;
}


/* ═══════════════════════════════════════════════════════════
   FORTUNE
   Original: border-radius 50px (pills), minimal shadow
   Enhancement: keep pill shape, add depth, smoother hover
   ═══════════════════════════════════════════════════════════ */

.qsm-quiz-container.quiz_theme_qsm-theme-fortune {
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(32,68,60,.04), 0 8px 24px rgba(32,68,60,.06);
}

.qmn_quiz_container.quiz_theme_qsm-theme-fortune .qmn_pagination .qmn_btn,
.qmn_quiz_container.quiz_theme_qsm-theme-fortune .btn-secondary,
.qmn_quiz_container.quiz_theme_qsm-theme-fortune input[type="submit"],
.qmn_quiz_container.quiz_theme_qsm-theme-fortune .btn {
    border-radius: 50px;
    letter-spacing: .01em;
}

/* Better hover than just opacity */
.qmn_quiz_container.quiz_theme_qsm-theme-fortune .qmn_btn:hover,
.qmn_quiz_container.quiz_theme_qsm-theme-fortune .btn:hover {
    opacity: 1;
    filter: brightness(1.08);
    box-shadow: 0 2px 10px rgba(235,87,87,.25);
}

/* Inputs */
.qmn_quiz_container.quiz_theme_qsm-theme-fortune textarea,
.qmn_quiz_container.quiz_theme_qsm-theme-fortune input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
    border-radius: 10px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.qmn_quiz_container.quiz_theme_qsm-theme-fortune textarea:focus,
.qmn_quiz_container.quiz_theme_qsm-theme-fortune input:focus:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
    box-shadow: 0 0 0 3px rgba(235,87,87,.1);
}

/* Answer option cards */
.quiz_theme_qsm-theme-fortune .qsm-question-wrapper .qmn_radio_answers .qsm-input-label:hover {
    border-radius: 10px;
}


/* ═══════════════════════════════════════════════════════════
   FRAGRANCE
   Original: border-radius 0px, shadow 0 0 5px rgb(0 0 0/20%)
   Enhancement: subtle radius, modern shadow, keep bold identity
   ═══════════════════════════════════════════════════════════ */

.quiz_theme_qsm-theme-fragrance.qsm-quiz-container {
    border-radius: 10px;
    box-shadow: 0 1px 3px rgba(0,0,0,.04), 0 6px 16px rgba(0,0,0,.06);
}

.quiz_theme_qsm-theme-fragrance.qsm-quiz-container img {
    border-radius: 8px;
}

/* Buttons — add radius to the flat originals */
.quiz_theme_qsm-theme-fragrance.qmn_quiz_container .qmn_pagination .qmn_btn,
.quiz_theme_qsm-theme-fragrance .qmn_results_page form input[name="qsm_retake_button"],
.quiz_theme_qsm-theme-fragrance .qmn_results_page #download_pdf_results_ajax {
    border-radius: 10px !important;
}

.quiz_theme_qsm-theme-fragrance.qmn_quiz_container .qmn_btn:hover {
    box-shadow: 0 2px 8px rgba(134,112,199,.25);
}

/* Inputs */
.quiz_theme_qsm-theme-fragrance textarea,
.quiz_theme_qsm-theme-fragrance .qsm_contact_div input[type="text"],
.quiz_theme_qsm-theme-fragrance .qsm_contact_div input[type="email"] {
    border-radius: 8px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

/* Progress */
.quiz_theme_qsm-theme-fragrance .qsm-progress-bar {
    border-radius: 99px;
    overflow: hidden;
}


/* ═══════════════════════════════════════════════════════════
   IVORY
   Original: border-radius 5px, no shadow
   Enhancement: warmer radius, soft shadow, polished buttons
   ═══════════════════════════════════════════════════════════ */

.quiz_theme_qsm-theme-ivory.qsm-quiz-container {
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,.03), 0 4px 14px rgba(0,0,0,.05);
}

.quiz_theme_qsm-theme-ivory.qmn_quiz_container .qmn_btn,
.quiz_theme_qsm-theme-ivory .qmn_results_page .btn-reload-quiz {
    border-radius: 10px !important;
    letter-spacing: .01em;
}

.quiz_theme_qsm-theme-ivory.qmn_quiz_container .qmn_btn:hover,
.quiz_theme_qsm-theme-ivory .qmn_results_page .btn-reload-quiz:hover {
    box-shadow: 0 2px 10px rgba(29,194,217,.25);
}

/* Inputs */
.quiz_theme_qsm-theme-ivory textarea,
.quiz_theme_qsm-theme-ivory .qsm_contact_div input[type="text"],
.quiz_theme_qsm-theme-ivory .qsm_contact_div input[type="email"],
.quiz_theme_qsm-theme-ivory .qsm_contact_div input[type="tel"] {
    border-radius: 8px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.quiz_theme_qsm-theme-ivory textarea:focus,
.quiz_theme_qsm-theme-ivory input:focus:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
    box-shadow: 0 0 0 3px rgba(29,194,217,.1);
}

/* Answer options */
.quiz_theme_qsm-theme-ivory .qmn_radio_answers .qsm-input-label:hover,
.quiz_theme_qsm-theme-ivory .qmn_mc_answer_wrap .qsm-input-label:hover {
    border-radius: 8px;
}

/* Progress */
.quiz_theme_qsm-theme-ivory .qsm-progress-bar {
    border-radius: 99px;
    overflow: hidden;
}


/* ═══════════════════════════════════════════════════════════
   PIXEL
   Original: border-radius 0/5px, shadow 0 4px 20px 5px rgba(0,0,0,.13)
   Enhancement: modern radius, refined shadow, smoother hover
   ═══════════════════════════════════════════════════════════ */

body .qsm-quiz-container.quiz_theme_qsm-theme-pixel {
    border-radius: 12px;
    box-shadow: 0 1px 4px rgba(0,0,0,.04), 0 6px 20px rgba(0,0,0,.08);
}

.qmn_quiz_container.quiz_theme_qsm-theme-pixel .qmn_btn,
.qmn_quiz_container.quiz_theme_qsm-theme-pixel input[type="submit"],
.qmn_quiz_container.quiz_theme_qsm-theme-pixel .btn-secondary,
.qmn_quiz_container.quiz_theme_qsm-theme-pixel .btn {
    border-radius: 10px;
}

/* Better hover than just opacity */
.qmn_quiz_container.quiz_theme_qsm-theme-pixel .qmn_btn:hover,
.qmn_quiz_container.quiz_theme_qsm-theme-pixel .btn:hover {
    opacity: 1;
    filter: brightness(1.08);
    box-shadow: 0 2px 10px rgba(51,191,90,.25);
}

/* Inputs */
.qmn_quiz_container.quiz_theme_qsm-theme-pixel textarea,
.qmn_quiz_container.quiz_theme_qsm-theme-pixel input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
    border-radius: 8px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.qmn_quiz_container.quiz_theme_qsm-theme-pixel textarea:focus,
.qmn_quiz_container.quiz_theme_qsm-theme-pixel input:focus:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
    box-shadow: 0 0 0 3px rgba(51,191,90,.1);
}

/* Answer option cards */
.quiz_theme_qsm-theme-pixel .qsm-question-wrapper .qmn_radio_answers .qsm-input-label:hover {
    border-radius: 8px;
}


/* ═══════════════════════════════════════════════════════════
   POOL
   Original: border-radius 15px, shadow 0 30px 60px rgb(0 76 208/20%)
   Enhancement: slight radius bump, refined shadow, button polish
   ═══════════════════════════════════════════════════════════ */

.quiz_theme_qsm-theme-pool.qsm-quiz-container {
    border-radius: 16px;
    box-shadow: 0 2px 6px rgba(0,76,208,.06), 0 16px 40px rgba(0,76,208,.12);
}

.quiz_theme_qsm-theme-pool.qsm-quiz-container img {
    border-radius: 8px;
}

/* Buttons — keep pool's unique style, add polish */
.quiz_theme_qsm-theme-pool.qmn_quiz_container .qmn_btn:hover {
    box-shadow: 0 2px 10px rgba(27,200,241,.25);
}

/* Inputs */
.quiz_theme_qsm-theme-pool textarea,
.quiz_theme_qsm-theme-pool .qsm_contact_div input[type="text"],
.quiz_theme_qsm-theme-pool .qsm_contact_div input[type="email"],
.quiz_theme_qsm-theme-pool .qsm_contact_div input[type="tel"] {
    border-radius: 8px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.quiz_theme_qsm-theme-pool textarea:focus,
.quiz_theme_qsm-theme-pool input:focus:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
    box-shadow: 0 0 0 3px rgba(27,200,241,.1);
}

/* Answer options */
.quiz_theme_qsm-theme-pool .qmn_radio_answers .qsm-input-label:hover,
.quiz_theme_qsm-theme-pool .qmn_mc_answer_wrap .qsm-input-label:hover {
    border-radius: 8px;
}

/* Progress */
.quiz_theme_qsm-theme-pool .qsm-progress-bar {
    border-radius: 99px;
    overflow: hidden;
}


/* ═══════════════════════════════════════════════════════════
   SAPIENCE
   Original: border-radius 0px (buttons), no shadow
   Enhancement: add radius + depth, keep purple identity
   ═══════════════════════════════════════════════════════════ */

.qsm-quiz-container.quiz_theme_qsm-theme-sapience {
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(33,20,53,.04), 0 6px 18px rgba(33,20,53,.06);
}

/* Buttons — from 0px to modern rounded */
.qmn_quiz_container.quiz_theme_qsm-theme-sapience .qmn_btn,
.qmn_quiz_container.quiz_theme_qsm-theme-sapience .btn-secondary,
.qmn_quiz_container.quiz_theme_qsm-theme-sapience input[type="submit"],
.qmn_quiz_container.quiz_theme_qsm-theme-sapience .btn {
    border-radius: 10px;
}

.qmn_quiz_container.quiz_theme_qsm-theme-sapience .qmn_btn:hover,
.qmn_quiz_container.quiz_theme_qsm-theme-sapience .btn:hover {
    box-shadow: 0 2px 10px rgba(129,69,234,.25);
    filter: brightness(1.05);
}

/* Inputs */
.qmn_quiz_container.quiz_theme_qsm-theme-sapience textarea,
.qmn_quiz_container.quiz_theme_qsm-theme-sapience input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
    border-radius: 8px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.quiz_theme_qsm-theme-sapience textarea:focus,
.quiz_theme_qsm-theme-sapience input:focus:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
    box-shadow: 0 0 0 3px rgba(129,69,234,.1);
}

/* Answer option cards */
.quiz_theme_qsm-theme-sapience .qsm-question-wrapper .qmn_radio_answers .qsm-input-label:hover {
    border-radius: 8px;
}

/* Progress */
.quiz_theme_qsm-theme-sapience .qsm-progress-bar {
    border-radius: 99px;
    overflow: hidden;
}


/* ═══════════════════════════════════════════════════════════
   SIGMA
   Original: border-radius 5px, no shadow
   Enhancement: modern radius, soft shadow, refined hover
   ═══════════════════════════════════════════════════════════ */

.qsm-quiz-container.quiz_theme_qsm-theme-sigma {
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(67,66,116,.04), 0 6px 18px rgba(67,66,116,.06);
}

.qmn_quiz_container.quiz_theme_qsm-theme-sigma .qmn_btn,
.qmn_quiz_container.quiz_theme_qsm-theme-sigma input[type="submit"],
.qmn_quiz_container.quiz_theme_qsm-theme-sigma .btn-secondary,
.qmn_quiz_container.quiz_theme_qsm-theme-sigma .btn {
    border-radius: 10px;
}

/* Better hover than just opacity */
.qmn_quiz_container.quiz_theme_qsm-theme-sigma .qmn_btn:hover,
.qmn_quiz_container.quiz_theme_qsm-theme-sigma .btn:hover {
    opacity: 1;
    filter: brightness(1.08);
    box-shadow: 0 2px 10px rgba(244,45,140,.25);
}

/* Inputs */
.qmn_quiz_container.quiz_theme_qsm-theme-sigma textarea,
.qmn_quiz_container.quiz_theme_qsm-theme-sigma input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
    border-radius: 8px;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.qmn_quiz_container.quiz_theme_qsm-theme-sigma textarea:focus,
.qmn_quiz_container.quiz_theme_qsm-theme-sigma input:focus:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]) {
    box-shadow: 0 0 0 3px rgba(244,45,140,.1);
}

/* Answer option cards */
.quiz_theme_qsm-theme-sigma .qsm-question-wrapper .qmn_radio_answers .qsm-input-label:hover {
    border-radius: 8px;
}


/* ═══════════════════════════════════════════════════════════
   RESPONSIVE REFINEMENTS — all themes
   ═══════════════════════════════════════════════════════════ */

@media screen and (max-width: 768px) {
    /* Slightly less border-radius on mobile for space efficiency */
    .quiz_theme_qsm-theme-breeze.qsm-quiz-container,
    .qsm-quiz-container.quiz_theme_qsm-theme-fortune,
    .quiz_theme_qsm-theme-fragrance.qsm-quiz-container,
    .quiz_theme_qsm-theme-ivory.qsm-quiz-container,
    body .qsm-quiz-container.quiz_theme_qsm-theme-pixel,
    .quiz_theme_qsm-theme-pool.qsm-quiz-container,
    .qsm-quiz-container.quiz_theme_qsm-theme-sapience,
    .qsm-quiz-container.quiz_theme_qsm-theme-sigma {
        border-radius: 10px;
    }

    /* Ensure buttons stay tappable */
    .qmn_quiz_container .qmn_btn,
    .qmn_quiz_container input[type="submit"] {
        min-height: 44px;
    }
}


/* ═══════════════════════════════════════════════════════════
   PRINT — clean output for all themes
   ═══════════════════════════════════════════════════════════ */

@media print {
    .qmn_quiz_container.qsm-quiz-container {
        box-shadow: none !important;
        border-radius: 0 !important;
    }
}
