.elementor-17205 .elementor-element.elementor-element-9d258e5{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-17205 .elementor-element.elementor-element-26ce1cc .elementor-wrapper{--video-aspect-ratio:1.77777;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );}@media(max-width:1024px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}@media(max-width:767px){.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-image .widget-image-caption{font-size:var( --e-global-typography-text-font-size );}}/* Start custom CSS for text-editor, class: .elementor-element-cdf18ca */.snippet-box {
    background: #f0f4ff;
    border-left: 5px solid #3a5bd4;
    padding: 18px 22px;
    border-radius: 4px;
    margin: 24px 0;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-cdd0aa4 */.myth-box {
    background: #fff8e1;
    border-left: 5px solid #f9a825;
    padding: 18px 22px;
    border-radius: 4px;
    margin: 28px 0;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-105e243 */#ppd-test {
    background: #ffffff;
    border: 2px solid #3a5bd4;
    border-radius: 12px;
    padding: 0;
    margin: 48px 0;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(58, 91, 212, 0.12);
}
#ppd-test .test-header {
    background: linear-gradient(135deg, #1a1a2e 0%, #3a5bd4 100%);
    color: #fff;
    padding: 32px 36px 28px;
}
#ppd-test .test-disclaimer {
    background: #fff8e1;
    border-bottom: 1px solid #ffe082;
    padding: 14px 36px;
    font-size: 0.88em;
    color: #7a6000;
}
#ppd-test .test-body {
    padding: 28px 36px 36px;
}
#test-results {
    display: none;
    padding: 36px;
}
.test-progress-wrap {
    margin-bottom: 28px;
}
.test-progress-label {
    display: flex;
    justify-content: space-between;
    font-size: 0.85em;
    color: #6670a0;
    margin-bottom: 6px;
}
.test-progress-bar {
    height: 8px;
    background: #e8eaf0;
    border-radius: 99px;
    overflow: hidden;
}
.test-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #3a5bd4, #5b8dee);
    border-radius: 99px;
    transition: width 0.4s ease;
    width: 0%;
}
.val-msg {
    color: #b00020;
    font-size: 0.88em;
    margin-top: 10px;
    display: none;
}
.test-nav {
    display: flex;
    gap: 14px;
    margin-top: 28px;
    flex-wrap: wrap;
}
.btn-back {
    background: transparent;
    color: #3a5bd4;
    border: 2px solid #3a5bd4;
    border-radius: 8px;
    padding: 12px 24px;
    font-size: 1em;
    cursor: pointer;
    transition: background 0.18s;
}
.btn-next {
    background: #3a5bd4;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 14px 32px;
    font-size: 1em;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.18s, transform 0.1s;
}
.q-block {
    margin-bottom: 32px;
    animation: fadeUp 0.3s ease both;
}
.test-section-label {
    display: inline-block;
    font-size: 0.78em;
    font-weight: bold;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #3a5bd4;
    background: #eef2ff;
    padding: 4px 12px;
    border-radius: 99px;
    margin-bottom: 18px;
}
.q-number {
    font-size: 0.82em;
    color: #9099c0;
    margin-bottom: 4px;
}
.q-text {
    font-size: 1.05em;
    font-weight: bold;
    color: #1a1a2e;
    margin-bottom: 14px;
    line-height: 1.45;
}
.q-options {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.q-option {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    border: 2px solid #e0e4f0;
    border-radius: 8px;
    cursor: pointer;
    transition: border-color 0.18s, background 0.18s;
    user-select: none;
}
.opt-dot {
    width: 20px;
    height: 20px;
    border: 2px solid #c0c8e8;
    border-radius: 50%;
    flex-shrink: 0;
    position: relative;
    transition: background 0.18s, border-color 0.18s;
}
.opt-label {
    font-size: 0.97em;
    color: #2a2a4a;
    line-height: 1.4;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-fc49c8e */.expert-box {
    background: #eef6f0;
    border-left: 5px solid #2e7d52;
    padding: 18px 24px;
    border-radius: 4px;
    margin: 32px 0;
}/* End custom CSS */
/* Start custom CSS for text-editor, class: .elementor-element-1e99cf9 */.cta-box {
    background: #1a1a2e;
    color: #fff;
    border-radius: 8px;
    padding: 36px 32px;
    margin: 48px 0;
    text-align: center;
}
.cta-btn {
    display: inline-block;
    background: #3a5bd4;
    color: #fff;
    text-decoration: none;
    padding: 16px 36px;
    border-radius: 6px;
    font-size: 1.1em;
    font-weight: bold;
    margin-top: 16px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-9d258e5 *//* ── SELF-ASSESSMENT TEST ── */
    #ppd-test {
      background: #ffffff;
      border: 2px solid #3a5bd4;
      border-radius: 12px;
      padding: 0;
      margin: 48px 0;
      overflow: hidden;
      box-shadow: 0 8px 32px rgba(58,91,212,0.12);
    }
    #ppd-test .test-header {
      background: linear-gradient(135deg, #1a1a2e 0%, #3a5bd4 100%);
      color: #fff;
      padding: 32px 36px 28px;
    }
    #ppd-test .test-header h2 {
      color: #fff;
      border: none;
      margin: 0 0 8px;
      font-size: 1.5em;
    }
    #ppd-test .test-header p {
      color: #c8d4f8;
      margin: 0;
      font-size: 0.95em;
    }
    #ppd-test .test-disclaimer {
      background: #fff8e1;
      border-bottom: 1px solid #ffe082;
      padding: 14px 36px;
      font-size: 0.88em;
      color: #7a6000;
    }
    #ppd-test .test-body {
      padding: 28px 36px 36px;
    }

    /* Progress bar */
    .test-progress-wrap {
      margin-bottom: 28px;
    }
    .test-progress-label {
      display: flex;
      justify-content: space-between;
      font-size: 0.85em;
      color: #6670a0;
      margin-bottom: 6px;
    }
    .test-progress-bar {
      height: 8px;
      background: #e8eaf0;
      border-radius: 99px;
      overflow: hidden;
    }
    .test-progress-fill {
      height: 100%;
      background: linear-gradient(90deg, #3a5bd4, #5b8dee);
      border-radius: 99px;
      transition: width 0.4s ease;
      width: 0%;
    }

    /* Section label */
    .test-section-label {
      display: inline-block;
      font-size: 0.78em;
      font-weight: bold;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      color: #3a5bd4;
      background: #eef2ff;
      padding: 4px 12px;
      border-radius: 99px;
      margin-bottom: 18px;
    }

    /* Question block */
    .q-block {
      margin-bottom: 32px;
      animation: fadeUp 0.3s ease both;
    }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(10px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .q-number {
      font-size: 0.82em;
      color: #9099c0;
      margin-bottom: 4px;
    }
    .q-text {
      font-size: 1.05em;
      font-weight: bold;
      color: #1a1a2e;
      margin-bottom: 14px;
      line-height: 1.45;
    }
    .q-text.critical {
      color: #b00020;
    }

    /* Radio options */
    .q-options {
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .q-option {
      display: flex;
      align-items: center;
      gap: 14px;
      padding: 12px 16px;
      border: 2px solid #e0e4f0;
      border-radius: 8px;
      cursor: pointer;
      transition: border-color 0.18s, background 0.18s;
      user-select: none;
    }
    .q-option:hover {
      border-color: #3a5bd4;
      background: #f5f7ff;
    }
    .q-option.selected {
      border-color: #3a5bd4;
      background: #eef2ff;
    }
    .q-option.selected .opt-dot {
      background: #3a5bd4;
      border-color: #3a5bd4;
    }
    .q-option.selected .opt-dot::after {
      opacity: 1;
    }
    .opt-dot {
      width: 20px;
      height: 20px;
      border: 2px solid #c0c8e8;
      border-radius: 50%;
      flex-shrink: 0;
      position: relative;
      transition: background 0.18s, border-color 0.18s;
    }
    .opt-dot::after {
      content: '';
      position: absolute;
      top: 3px; left: 3px;
      width: 10px; height: 10px;
      border-radius: 50%;
      background: #fff;
      opacity: 0;
      transition: opacity 0.18s;
    }
    .opt-label { font-size: 0.97em; color: #2a2a4a; line-height: 1.4; }

    /* Navigation */
    .test-nav {
      display: flex;
      gap: 14px;
      margin-top: 28px;
      flex-wrap: wrap;
    }
    .btn-next {
      background: #3a5bd4;
      color: #fff;
      border: none;
      border-radius: 8px;
      padding: 14px 32px;
      font-size: 1em;
      font-weight: bold;
      cursor: pointer;
      transition: background 0.18s, transform 0.1s;
    }
    .btn-next:hover { background: #2a4bc4; transform: translateY(-1px); }
    .btn-next:disabled { background: #b0b8d8; cursor: not-allowed; transform: none; }
    .btn-back {
      background: transparent;
      color: #3a5bd4;
      border: 2px solid #3a5bd4;
      border-radius: 8px;
      padding: 12px 24px;
      font-size: 1em;
      cursor: pointer;
      transition: background 0.18s;
    }
    .btn-back:hover { background: #f0f4ff; }

    /* Validation message */
    .val-msg {
      color: #b00020;
      font-size: 0.88em;
      margin-top: 10px;
      display: none;
    }
    .val-msg.show { display: block; }

    /* RESULTS */
    #test-results {
      display: none;
      padding: 36px;
    }
    .result-header {
      text-align: center;
      margin-bottom: 28px;
    }
    .result-score-ring {
      width: 120px;
      height: 120px;
      border-radius: 50%;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      margin: 0 auto 16px;
      font-size: 2.2em;
      font-weight: bold;
      color: #fff;
    }
    .result-score-ring .ring-label {
      font-size: 0.38em;
      font-weight: normal;
      opacity: 0.9;
      margin-top: 2px;
    }
    .result-title {
      font-size: 1.4em;
      font-weight: bold;
      margin-bottom: 6px;
    }
    .result-subtitle {
      color: #5a6080;
      font-size: 0.95em;
    }

    /* Score bands */
    .band-low    { background: linear-gradient(135deg, #2e7d52, #43a573); }
    .band-mild   { background: linear-gradient(135deg, #e07b00, #f5a623); }
    .band-mod    { background: linear-gradient(135deg, #c84b00, #e06030); }
    .band-severe { background: linear-gradient(135deg, #b00020, #d4203a); }

    .result-breakdown {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      margin: 24px 0;
    }
    @media (max-width: 560px) {
      .result-breakdown { grid-template-columns: 1fr; }
      #ppd-test .test-header, #ppd-test .test-body, #test-results { padding-left: 20px; padding-right: 20px; }
      #ppd-test .test-disclaimer { padding-left: 20px; padding-right: 20px; }
    }
    .breakdown-card {
      border: 1px solid #e0e4f0;
      border-radius: 8px;
      padding: 16px;
    }
    .breakdown-card .bc-label {
      font-size: 0.8em;
      color: #8090b0;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      margin-bottom: 6px;
    }
    .breakdown-card .bc-score {
      font-size: 1.5em;
      font-weight: bold;
      color: #1a1a2e;
    }
    .breakdown-card .bc-max {
      font-size: 0.8em;
      color: #9099c0;
    }
    .breakdown-card .bc-bar {
      height: 6px;
      background: #e8eaf0;
      border-radius: 99px;
      margin-top: 10px;
      overflow: hidden;
    }
    .breakdown-card .bc-fill {
      height: 100%;
      border-radius: 99px;
    }
    .fill-mood  { background: #3a5bd4; }
    .fill-sleep { background: #2e7d52; }
    .fill-anxiety { background: #e07b00; }
    .fill-apnea { background: #9b1d6a; }

    /* Sleep apnea flag */
    .apnea-flag {
      background: #fdf0f8;
      border: 2px solid #9b1d6a;
      border-radius: 8px;
      padding: 18px 22px;
      margin: 20px 0;
      font-size: 0.95em;
      color: #5a0a38;
    }
    .apnea-flag strong { display: block; margin-bottom: 6px; }
    .apnea-flag .apnea-risk-badge {
      display: inline-block;
      background: #9b1d6a;
      color: #fff;
      font-size: 0.8em;
      font-weight: bold;
      padding: 3px 12px;
      border-radius: 99px;
      margin-bottom: 10px;
      letter-spacing: 0.05em;
      text-transform: uppercase;
    }

    .result-what-it-means {
      background: #f8f9ff;
      border-radius: 8px;
      padding: 20px 24px;
      margin: 20px 0;
      font-size: 0.97em;
    }
    .result-what-it-means h3 {
      font-size: 1em;
      margin: 0 0 10px;
      color: #1a1a2e;
    }

    /* Critical flag */
    .critical-flag {
      background: #fff0f2;
      border: 2px solid #d4203a;
      border-radius: 8px;
      padding: 18px 22px;
      margin: 20px 0;
      font-size: 0.95em;
      color: #7a0018;
    }
    .critical-flag strong { display: block; margin-bottom: 6px; }

    /* Sleep flag */
    .sleep-flag {
      background: #e8f4f0;
      border: 2px solid #2e7d52;
      border-radius: 8px;
      padding: 18px 22px;
      margin: 20px 0;
      font-size: 0.95em;
      color: #1a4a30;
    }
    .sleep-flag strong { display: block; margin-bottom: 6px; }

    .result-cta {
      background: #1a1a2e;
      color: #fff;
      border-radius: 10px;
      padding: 28px 28px;
      margin-top: 28px;
      text-align: center;
    }
    .result-cta p { color: #c8d4f8; margin-bottom: 0; font-size: 0.95em; }
    .result-cta .cta-btn { margin-top: 14px; }
    .retake-btn {
      display: block;
      text-align: center;
      margin-top: 16px;
      font-size: 0.88em;
      color: #8090c0;
      cursor: pointer;
      text-decoration: underline;
    }
    .retake-btn:hover { color: #3a5bd4; }/* End custom CSS */