/**
 * Treatment plan result page v2 (ra-treatment-plan)
 * Scope: .ra-treatment-plan[data-result-style="v2"] or legacy unscoped .ra-treatment-plan
 * Pair with shopify/quiz_api_result.blade.php when admin "Result page style" = v2.
 *
 * v3 (Figma 25062026): use result-v3-25062026.css instead — node 331-2664 / 332-2726.
 */

 .ra-treatment-plan *,
 .ra-treatment-plan *::before,
 .ra-treatment-plan *::after {
   box-sizing: border-box;
 }
 
 .ra-treatment-plan.quiz-results-page {
   background: transparent;
 }
 
 .ra-treatment-plan {
   --ra-tp-blue: #001cd4;
   --ra-tp-green: #2d6a4f;
   --ra-tp-green-bg: #d8f3dc;
   --ra-tp-green-dot: #52b788;
   --ra-tp-warn: #b85c00;
   --ra-tp-text: #1a1a1a;
   --ra-tp-muted: #888;
   --ra-tp-border: #ece9e3;
   --ra-tp-surface: #f5f3ef;
   --ra-tp-page-bg: #e0ddd6;
   --sp-1: 0.25rem;
   font-family: "Instrument Sans", system-ui, sans-serif;
   margin: 0;
   background: var(--ra-tp-page-bg);
   padding: 2rem 1rem 3rem;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 0;
 }
 
 .ra-treatment-plan__header-slot:empty {
   display: none;
 }
 
 .ra-treatment-plan__header-slot:not(:empty) {
   width: 100%;
   max-width: 1020px;
   margin-bottom: 1.25rem;
 }
 
 .ra-tp-page {
   width: 100%;
   max-width: 1020px;
   background: var(--ra-tp-surface);
   border-radius: 12px;
   padding: 0.9rem 1.25rem 1rem;
   box-shadow: 0 6px 30px rgba(0, 0, 0, 0.2);
 }
 
 @media (min-width: 768px) {
   .ra-tp-page {
     padding: 0.9rem 2rem 1rem;
   }
 }
 
 .ra-tp-hero {
   text-align: center;
   margin-bottom: 0.7rem;
 }
 
 .ra-tp-badge {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   font-size: clamp(10px, 1.1vw, 12px);
   font-weight: 600;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: var(--ra-tp-green);
   background: var(--ra-tp-green-bg);
   padding: 4px 12px;
   border-radius: 999px;
   margin-bottom: 0.5rem;
 }
 
 .ra-tp-badge__dot {
   width: 6px;
   height: 6px;
   background: var(--ra-tp-green-dot);
   border-radius: 50%;
 }
 
 .ra-tp-title {
   font-size: clamp(1.1rem, 2.4vw, 1.75rem);
   font-weight: 600;
   color: var(--ra-tp-text);
   margin: 0 0 0.25rem;
   line-height: 1.2;
 }
 
 .ra-tp-subtitle {
   font-size: clamp(11px, 1.2vw, 14px);
   color: var(--ra-tp-muted);
   margin: 0 0 0.75rem;
 }
 
 .ra-tp-lead {
   font-size: clamp(12px, 1.2vw, 15px);
   color: var(--ra-tp-muted);
   margin: 0 auto 0.75rem;
   text-align: center;
   max-width: 42rem;
   line-height: 1.5;
 }
 
 .ra-tp-empty {
   padding: 1rem 0;
 }
 
 .ra-tp-card__variants .box-option {
   margin-bottom: 0.5rem;
 }
 
 .ra-tp-trust {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: clamp(8px, 2vw, 14px);
 }
 
 .ra-tp-trust__item {
   font-size: clamp(10px, 1vw, 13px);
   color: #999;
   display: inline-flex;
   align-items: center;
   gap: 6px;
 }
 
 .ra-tp-trust__check {
   width: 18px;
   height: 18px;
   border-radius: 50%;
   background: var(--ra-tp-green-bg);
   display: inline-flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
 }
 
 .ra-tp-products {
   display: grid;
   grid-template-columns: 1fr;
   gap: 12px;
   margin-bottom: 0.7rem;
   align-items: stretch;
 }
 
 .ra-tp-products > .ra-tp-card {
   height: 100%;
   min-height: 0;
 }
 
 @media (min-width: 900px) {
   .ra-tp-products {
     gap: 20px;
   }
 
   /* Matches quiz result `no_of_column` (1–3) from admin */
   .ra-tp-products[data-cols="1"] {
     grid-template-columns: repeat(1, 1fr);
   }
 
   .ra-tp-products[data-cols="2"] {
     grid-template-columns: repeat(2, 1fr);
   }
 
   .ra-tp-products[data-cols="3"],
   .ra-tp-products:not([data-cols]) {
     grid-template-columns: repeat(3, 1fr);
   }
 }
 
 .ra-tp-card {
   background: #fff;
   border-radius: 9px;
   overflow: hidden;
   border: 1px solid var(--ra-tp-border);
   display: flex;
   flex-direction: column;
 }
 
 .ra-tp-card--featured {
   border-color: var(--ra-tp-blue);
   border-width: 2px;
 }
 
 .ra-tp-card__ribbon {
   min-height: 0;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: clamp(9px, 1vw, 12px);
   font-weight: 700;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   background: #eef;
   color: var(--ra-tp-blue);
   padding: 6px 8px;
 }
 
 @media (max-width: 767px) {
   .ra-tp-card--featured .ra-tp-card__ribbon:not(.ra-tp-card__ribbon--blank),
   .ra-tp-card.is-featured .ra-tp-card__ribbon:not(.ra-tp-card__ribbon--blank) {
     background: var(--ra-tp-blue);
     color: #fff;
     padding: 10px 8px;
   }
 }
 
 /* Invisible spacer so non-featured cards align with "Most chosen" ribbon height */
 .ra-tp-card__ribbon--blank {
   visibility: hidden;
   min-height: 28px;
   padding: 6px 8px;
   background: transparent;
   color: transparent;
   user-select: none;
 }
 
 .ra-tp-card__figure {
   flex-shrink: 0;
   min-height: 200px;
   background: #fff;
   display: flex;
   align-items: center;
   justify-content: center;
   border-bottom: 1px solid #f0ede8;
 }
 
 .ra-tp-card__figure img {
   max-width: 100%;
   max-height: 200px;
   width: auto;
   height: auto;
   object-fit: contain;
 }
 
 @media (min-width: 768px) {
   .ra-tp-card__figure {
     min-height: 260px;
     max-height: 260px;
   }
 
   .ra-tp-card__figure img {
     max-height: 240px;
   }
 
   /* Same vertical start for brand + title under images across columns */
   .ra-tp-card__main {
     min-height: 4.75rem;
     padding: 10px 15px;
   }
 }
 
 /* Quiz embed.js: subscription block + price stack inside treatment cards */
 .ra-tp-card .sealsubs-container {
   margin-bottom: 0.75rem;
 }
 
 .ra-tp-sealsubs .subscription-wrapper {
   margin-bottom: 8px;
 }
 
 /* Matches mobile mock: small caps label above subscribe / one-time */
 .ra-tp-purchase-type-heading {
   font-size: 10px;
   font-weight: 600;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   color: #bbb;
   margin: 0 0 8px;
   line-height: 1.3;
 }
 
 .ra-tp-card .quiz-card-actions {
   margin-top: auto;
 }
 
 .ra-tp-trust-strip {
   text-align: center;
   margin-top: 0.5rem;
   margin-bottom: 1rem;
   padding: 0 0.25rem;
   font-size: clamp(11px, 1vw, 13px);
   color: #666;
 }
 
 .ra-tp-card__img-placeholder {
   width: min(126px, 40vw);
   height: min(126px, 40vw);
   border-radius: 8px;
   background: #f0ede8;
   display: flex;
   align-items: center;
   justify-content: center;
   font-size: 11px;
   color: #bbb;
   text-align: center;
   line-height: 1.3;
 }
 
 .ra-tp-card__body {
   padding: 0.55rem 0.65rem 0.65rem;
   flex: 1;
   display: flex;
   flex-direction: column;
   gap: 0;
 }
 
 .ra-tp-card__mfr {
   font-size: clamp(9px, 1vw, 11px);
   font-weight: 600;
   letter-spacing: 0.1em;
   text-transform: uppercase;
   color: #ccc;
   margin-bottom: 2px;
 }
 
 .ra-tp-card__name {
   font-size: clamp(1rem, 2vw, 1.15rem);
   font-weight: 600;
   color: var(--ra-tp-text);
   margin-bottom: 6px;
 }
 
 .ra-tp-card__strength-row {
   display: flex;
   flex-direction: row;
   align-items: center;
   gap: 10px;
   margin-bottom: 10px;
   flex-wrap: nowrap;
 }
 
 .ra-tp-card__strength-label {
   font-size: clamp(10px, 1vw, 12px);
   font-weight: 600;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #bbb;
   flex-shrink: 0;
   white-space: nowrap;
 }
 
 .ra-tp-card__strength-row .ra-tp-card__select-wrap {
   position: relative;
   flex: 1;
   min-width: 0;
   max-width: 100%;
   overflow: hidden;
   border-radius: 12px;
 }
 
 .ra-tp-card__select-wrap {
   position: relative;
 }
 
 .ra-tp-card__select {
   display: block;
   width: 100%;
   max-width: 100%;
   box-sizing: border-box;
   font-size: 15px;
   font-family: inherit;
   border-radius: 999px;
   padding: 10px 36px 10px 14px;
   min-height: 44px;
   border: 2px solid var(--ra-tp-blue);
   background: #f0f3ff;
   color: var(--ra-tp-blue);
   appearance: none;
   -webkit-appearance: none;
   font-weight: 600;
   cursor: pointer;
   line-height: 1.35;
   box-shadow: 0 0 0 1px rgba(0, 28, 212, 0.06);
 }
 
 /* Strength row: label + full-width control so the custom chevron stays inside the bordered box */
 .ra-tp-card__strength-row .ra-tp-card__select {
   border-radius: 12px;
 }
 
 .ra-tp-card__select-chevron {
   position: absolute;
   right: 12px;
   top: 50%;
   transform: translateY(-50%);
   pointer-events: none;
   z-index: 1;
 }
 
 .ra-tp-card__price-row {
   display: flex;
   align-items: center;
   gap: 8px;
   margin-bottom: 2px;
 }
 
 .ra-tp-card__price {
   font-size: clamp(1.25rem, 3vw, 1.75rem);
   font-weight: 600;
   color: var(--ra-tp-text);
   line-height: 1;
 }
 
 .ra-tp-card__price sup {
   font-size: 0.55em;
   vertical-align: super;
 }
 
 .ra-tp-card__save {
   font-size: clamp(10px, 1vw, 12px);
   font-weight: 600;
   padding: 3px 8px;
   background: #e8f0fe;
   color: var(--ra-tp-blue);
   border-radius: 999px;
 }
 
 .ra-tp-card__was {
   font-size: clamp(10px, 1vw, 12px);
   color: #ccc;
   text-decoration: line-through;
   margin-bottom: 8px;
 }
 
 .ra-tp-card__purchase {
   display: flex;
   flex-direction: column;
   gap: 6px;
   margin-bottom: 8px;
 }
 
 .ra-tp-card__option {
   display: flex;
   align-items: center;
   gap: 8px;
   padding: 8px 10px;
   border: 1px solid #e5e2dc;
   border-radius: 8px;
   background: #fff;
 }
 
 .ra-tp-card__option--selected {
   border-color: var(--ra-tp-blue);
   background: #f0f3ff;
 }
 
 .ra-tp-card__radio {
   width: 16px;
   height: 16px;
   border-radius: 50%;
   border: 1px solid #ddd;
   flex-shrink: 0;
   display: flex;
   align-items: center;
   justify-content: center;
 }
 
 .ra-tp-card__option--selected .ra-tp-card__radio {
   border-color: var(--ra-tp-blue);
   background: var(--ra-tp-blue);
 }
 
 .ra-tp-card__radio-dot {
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background: #fff;
 }
 
 .ra-tp-card__option-title {
   font-size: clamp(11px, 1.1vw, 13px);
   font-weight: 600;
   color: var(--ra-tp-text);
 }
 
 .ra-tp-card__option--selected .ra-tp-card__option-title {
   color: var(--ra-tp-blue);
 }
 
 .ra-tp-card__option-sub {
   font-size: clamp(10px, 1vw, 12px);
   color: #aaa;
 }
 
 .ra-tp-card__option-badge {
   margin-left: auto;
   font-size: clamp(10px, 1vw, 12px);
   font-weight: 600;
   padding: 2px 6px;
   background: #e8f0fe;
   color: var(--ra-tp-blue);
   border-radius: 999px;
 }
 
 .ra-tp-card__shipping {
   display: flex;
   align-items: center;
   gap: 6px;
   font-size: clamp(11px, 1vw, 13px);
   color: var(--ra-tp-warn);
   font-weight: 500;
   margin-bottom: 8px;
 }
 
 .ra-tp-card__reassure {
   display: flex;
   flex-wrap: wrap;
   gap: 10px;
   align-items: center;
   padding-top: 10px;
   border-top: 1px solid #f0ede8;
   margin-bottom: 10px;
 }
 
 .ra-tp-card__reassure-item {
   font-size: clamp(10px, 1vw, 12px);
   color: #666;
   display: inline-flex;
   align-items: center;
   gap: 6px;
   font-weight: 500;
 }
 
 .ra-tp-card__spacer {
   flex: 1;
   min-height: 4px;
 }
 
 .ra-tp-card__cart-row {
   display: flex;
   align-items: center;
   gap: 8px;
   flex-wrap: wrap;
 }
 
 .ra-tp-card__qty {
   display: flex;
   align-items: center;
   border: 1px solid #e5e2dc;
   border-radius: 6px;
   overflow: hidden;
   flex-shrink: 0;
 }
 
 .ra-tp-card__qty-btn {
   width: 36px;
   min-height: 40px;
   background: #fff;
   border: none;
   font-size: 1.1rem;
   color: #555;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
 }
 
 .ra-tp-card__qty-val {
   min-width: 36px;
   text-align: center;
   font-size: 14px;
   font-weight: 600;
   color: var(--ra-tp-text);
   border-left: 1px solid #e5e2dc;
   border-right: 1px solid #e5e2dc;
   min-height: 40px;
   display: flex;
   align-items: center;
   justify-content: center;
 }
 
 .ra-tp-card__cta {
   flex: 1;
   min-width: 0;
   min-height: 44px;
   appearance: none;
   -webkit-appearance: none;
   font-family: inherit;
   background: var(--ra-tp-blue);
   color: #fff;
   border: none;
   border-radius: 999px;
   font-size: clamp(12px, 1.2vw, 14px);
   font-weight: 600;
   line-height: 1.25;
   display: flex;
   align-items: center;
   justify-content: center;
   cursor: pointer;
   text-decoration: none;
   padding: 0 18px;
   white-space: nowrap;
   transition:
     transform 0.22s cubic-bezier(0.34, 1.56, 0.64, 1),
     box-shadow 0.28s ease,
     filter 0.2s ease;
 }
 
 .ra-tp-card__cta:hover {
   transform: translateY(-2px);
   box-shadow: 0 10px 24px rgba(0, 28, 212, 0.33);
   filter: brightness(1.06);
 }
 
 .ra-tp-card__cta:active {
   transform: translateY(0);
   box-shadow: 0 4px 14px rgba(0, 28, 212, 0.22);
   filter: brightness(0.98);
   transition-duration: 0.1s;
 }
 
 @media (max-width: 420px) {
   .ra-tp-card .product-form .ra-tp-card__cta {
     white-space: normal;
     text-align: center;
     line-height: 1.2;
     padding: 10px 12px;
     font-size: 12px;
   }
 }
 
 .ra-tp-card__footnote {
   text-align: center;
   font-size: clamp(10px, 1vw, 12px);
   color: #bbb;
   margin-top: 6px;
 }
 
 .ra-tp-footer {
   background: #fff;
   border-radius: 8px;
   padding: 0.65rem 1rem;
   display: flex;
   flex-direction: column;
   align-items: stretch;
   gap: 1rem;
 }
 
 @media (min-width: 768px) {
   .ra-tp-footer {
     flex-direction: row;
     align-items: center;
     justify-content: space-between;
   }
 }
 
 .ra-tp-footer__stats {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   align-items: center;
   justify-content: center;
 }
 
 @media (min-width: 768px) {
   .ra-tp-footer__stats {
     justify-content: flex-start;
   }
 }
 
 .ra-tp-footer__stat {
   text-align: center;
 }
 
 .ra-tp-footer__stat-num {
   font-size: clamp(14px, 1.5vw, 18px);
   font-weight: 600;
   color: var(--ra-tp-text);
 }
 
 .ra-tp-footer__stat-label {
   font-size: clamp(10px, 1vw, 12px);
   color: #aaa;
 }
 
 .ra-tp-footer__divider {
   width: 1px;
   height: 28px;
   background: var(--ra-tp-border);
   display: none;
 }
 
 @media (min-width: 480px) {
   .ra-tp-footer__divider {
     display: block;
   }
 }
 
 .ra-tp-footer__dhl {
   display: flex;
   align-items: center;
   gap: 8px;
   justify-content: center;
 }
 
 .ra-tp-footer__dhl-pill {
   display: inline-flex;
   align-items: center;
   padding: 3px 8px;
   background: #ffcc00;
   border-radius: 4px;
   font-size: 11px;
   font-weight: 800;
   color: #d40511;
   letter-spacing: 0.02em;
   flex-shrink: 0;
 }
 
 .ra-tp-footer__dhl-text {
   font-size: clamp(10px, 1vw, 12px);
   color: #555;
   font-weight: 500;
 }
 
 .ra-tp-footer__trustpilot {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 6px;
 }
 
 @media (min-width: 768px) {
   .ra-tp-footer__trustpilot {
     align-items: flex-end;
   }
 
   .ra-tp-footer__dhl {
     padding-left: 15px;
   }
 }
 
 .ra-tp-footer__tp-row {
   display: flex;
   align-items: center;
   gap: 8px;
   flex-wrap: wrap;
   justify-content: center;
 }
 
 .ra-tp-footer__tp-name {
   font-size: 12px;
   font-weight: 500;
   color: var(--ra-tp-text);
 }
 
 .ra-tp-footer__tp-stars {
   display: flex;
   gap: 2px;
 }
 
 .ra-tp-footer__tp-star {
   width: 18px;
   height: 18px;
   background: #00b67a;
   border-radius: 2px;
   display: flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
 }
 
 .ra-tp-footer__tp-star--half {
   background: linear-gradient(90deg, #00b67a 60%, #ddd 60%);
 }
 
 .ra-tp-footer__tp-score {
   font-size: 14px;
   font-weight: 600;
   color: var(--ra-tp-text);
 }
 
 .ra-tp-footer__tp-sub {
   font-size: 12px;
   color: #666;
   font-weight: 500;
   text-align: center;
   margin-block: var(--sp-1);
 }
 
 @media (min-width: 768px) {
   .ra-tp-footer__tp-sub {
     text-align: right;
   }
 }
 
 /* ------------------------------------------------------------------
    Quiz result cards (shopify/quiz_api_result + embed.js)
    ------------------------------------------------------------------ */
 
 /* Product hero: mobile = two columns (image + variants | copy + price); desktop = stacked via grid + display:contents */
 .ra-tp-card__summary {
   border-bottom: 1px solid #f0ede8;
 }
 
 .ra-tp-card__summary-price {
   display: flex;
   flex-direction: column;
   gap: 4px;
   min-width: 0;
 }
 
 .ra-tp-card__summary-price .ra-tp-card__shipping {
   margin: 4px 0 0;
 }
 
 @media (max-width: 767px) {
   .ra-tp-card__summary {
     display: grid;
     grid-template-columns: minmax(96px, 40%) minmax(0, 1fr);
     column-gap: 12px;
     padding: 12px 12px 10px;
     align-items: stretch;
   }
 
   .ra-tp-card__summary-media {
     display: flex;
     flex-direction: column;
     gap: 10px;
     padding-right: 12px;
     border-right: 1px solid #f0ede8;
     min-width: 0;
   }
 
   .ra-tp-card__summary-detail {
     display: flex;
     flex-direction: column;
     gap: 8px;
     min-width: 0;
     text-align: left;
   }
 
   .ra-tp-card__summary-media .ra-tp-card__figure {
     min-height: 0;
     border-bottom: 0;
     padding: 0;
     background: transparent;
   }
 
   .ra-tp-card__summary-media .ra-tp-card__figure img {
     max-height: 128px;
     width: 100%;
     max-width: 100%;
     object-fit: contain;
     border-radius: 8px;
     background: #faf9f7;
   }
 
   .ra-tp-card__summary-media .ra-tp-card__variants {
     margin-bottom: 0;
   }
 
   .ra-tp-card__summary-media .ra-tp-card__strength-row {
     flex-direction: column;
     align-items: stretch;
     gap: 6px;
     margin-bottom: 0;
   }
 
   .ra-tp-card__summary-media .ra-tp-card__strength-row > .ra-tp-card__strength-label {
     display: none;
   }
 
   .ra-tp-card__summary-media .ra-tp-card__strength-row .ra-tp-card__select-wrap {
     max-width: 100%;
   }
 
   .ra-tp-card__summary-media .ra-tp-card__select {
     border-radius: 10px;
     font-size: 14px;
     padding: 10px 32px 10px 12px;
     min-height: 42px;
   }
 
   .ra-tp-card__summary-media .box-option.mb-2 {
     margin-bottom: 0 !important;
   }
 
   .ra-tp-card__main {
     min-width: 0;
   }
 
   .ra-tp-card__body {
     border-top: 1px solid #f0ede8;
   }
 }
 
 @media (min-width: 768px) {
   .ra-tp-card__summary {
     display: grid;
     grid-template-columns: 1fr;
     grid-template-areas:
       "fig"
       "main"
       "var"
       "price";
     border-bottom: 0;
     padding: 0;
   }
 
   .ra-tp-card__summary-media,
   .ra-tp-card__summary-detail {
     display: contents;
   }
 
   .ra-tp-card__summary .ra-tp-card__figure {
     grid-area: fig;
   }
 
   .ra-tp-card__summary .ra-tp-card__main {
     grid-area: main;
   }
 
   .ra-tp-card__summary .ra-tp-card__variants {
     grid-area: var;
   }
 
   .ra-tp-card__summary-price {
     grid-area: price;
   }
 
   .ra-tp-card__figure {
     border-bottom: 1px solid #f0ede8;
   }
 
   .ra-tp-card__variants {
     padding-left: 12px;
     padding-right: 12px;
   }
 
   .ra-tp-card__summary-price {
     padding-left: 12px;
     padding-right: 12px;
     margin-bottom: 4px;
   }
 
   .ra-tp-card__summary-price .ra-tp-card__shipping {
     margin: 6px 0 10px;
   }
 }
 
 .ra-tp-card__pick {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   font-size: 12px;
   font-weight: 600;
   color: var(--ra-tp-green);
   background: var(--ra-tp-green-bg);
   padding: 5px 10px;
   border-radius: 999px;
   margin-top: 4px;
   margin-bottom: 8px;
   max-width: 100%;
   line-height: 1.2;
 }
 
 /* Doctor's pick (first card only in Blade): visible on small screens only */
 .ra-tp-card__pick--mobile-only {
   display: none;
 }
 
 @media (max-width: 767px) {
   .ra-tp-card__pick--mobile-only {
     display: inline-flex;
   }
 }
 
 .ra-tp-card__pick-icon {
   display: inline-flex;
   flex-shrink: 0;
   color: var(--ra-tp-green);
 }
 
 .ra-tp-card__pick-icon svg {
   display: block;
 }
 
 .ra-tp-card__excerpt {
   margin: 0;
   font-size: 12px;
   line-height: 1.45;
   color: #666;
 }
 
 .ra-tp-card__shipping {
   display: flex;
   align-items: center;
   gap: 6px;
   font-size: 12px;
   color: var(--ra-tp-warn);
   font-weight: 500;
   margin: 0 0 12px;
 }
 
 .ra-tp-purchase-type {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 8px;
   margin-bottom: 8px;
 }
 
 .ra-tp-purchase-type__label {
   font-size: 10px;
   font-weight: 600;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #bbb;
 }
 
 .ra-tp-sub-option {
   display: flex !important;
   flex-direction: row !important;
   align-items: center !important;
   gap: 10px !important;
   padding: 10px 12px !important;
   border: 1.5px solid #e5e2dc !important;
   border-radius: 10px !important;
   cursor: pointer;
   margin-bottom: 8px;
 }
 
 .ra-tp-sub-option input[type="radio"] {
   flex-shrink: 0;
   margin-top: 0;
   accent-color: var(--ra-tp-blue);
 }
 
 .ra-tp-sub-option--onetime {
   align-items: flex-start !important;
 }
 
 .ra-tp-sub-option--onetime input[type="radio"] {
   margin-top: 3px;
 }
 
 .ra-tp-sub-option--sub input[type="radio"] {
   margin-top: 3px;
 }
 
 .ra-tp-sub-option--onetime .subscription-title {
   font-size: 14px;
   font-weight: 600;
   color: var(--ra-tp-text);
 }
 
 .ra-tp-sub-option--sub,
 label.subscription-option.ra-tp-sub-option--sub {
   border-color: #e5e2dc !important;
   background: #fff !important;
   align-items: flex-start !important;
 }

 .ra-tp-sub-option--sub:has(input[type="radio"]:checked),
 label.subscription-option.ra-tp-sub-option--sub:has(input[type="radio"]:checked),
 .ra-tp-sub-option--sub.is-selected,
 label.subscription-option.ra-tp-sub-option--sub.is-selected {
   border-color: var(--ra-tp-blue) !important;
   background: #f0f3ff !important;
 }

 .ra-tp-sub-option--onetime:has(input[type="radio"]:checked),
 .ra-tp-sub-option--onetime.is-selected {
   border-color: var(--ra-tp-blue) !important;
   background: #f0f3ff !important;
 }
 
 .ra-tp-sub-option--sub .subscription-title {
   color: var(--ra-tp-text);
   font-weight: 600;
   line-height: 1.25;
 }

 .ra-tp-sub-option--sub:has(input[type="radio"]:checked) .subscription-title,
 .ra-tp-sub-option--sub.is-selected .subscription-title,
 .ra-tp-sub-option--onetime:has(input[type="radio"]:checked) .subscription-title,
 .ra-tp-sub-option--onetime.is-selected .subscription-title {
   color: var(--ra-tp-blue);
   font-weight: 700;
   line-height: 1.25;
 }
 
 .ra-tp-sub-option--sub .subscription-interval {
   display: block;
   font-size: 12px;
   font-weight: 500;
   color: #777;
   line-height: 1.35;
   margin-top: 2px;
 }
 
 .ra-tp-sub-option--onetime .subscription-interval--muted {
   color: #777;
   font-size: 12px;
   font-weight: 500;
   line-height: 1.35;
   margin-top: 2px;
 }
 
 .ra-tp-sub-option--sub .subscription-badge {
   align-self: center;
   margin-top: 0;
 }
 
 .ra-tp-sub-option .subscription-copy {
   display: flex;
   flex-direction: column;
   gap: 4px;
   flex: 1;
   min-width: 0;
 }
 
 .subscription-plan-detail {
   display: block;
   font-size: 12px;
   color: #555;
   line-height: 1.35;
   word-break: break-word;
 }
 
 .ra-tp-sub-option .subscription-desc {
   display: block;
   margin: 0;
   font-size: 11px;
   color: #888;
   line-height: 1.45;
 }
 
 .ra-tp-sub-option .subscription-badge {
   margin-left: auto;
   align-self: center;
   flex-shrink: 0;
   font-size: 11px;
   font-weight: 600;
   padding: 3px 8px;
   background: #e8f0fe;
   color: var(--ra-tp-blue);
   border-radius: 999px;
 }
 
 .ra-tp-card .compare-at-price {
   font-size: 12px;
   color: #aaa;
   text-decoration: line-through;
 }
 
 .quiz-price-hero-row {
   display: flex;
   align-items: center;
   gap: 8px;
   flex-wrap: wrap;
 }
 
 @media (max-width: 767px) {
   .ra-tp-footer {
     padding: 1rem 0.75rem;
   }
 
   .ra-tp-footer__stats {
     display: grid;
     grid-template-columns: 1fr 1fr;
     gap: 14px 12px;
     justify-content: stretch;
   }
 
   .ra-tp-footer__divider {
     display: none !important;
   }
 
   .ra-tp-footer__dhl {
     grid-column: 1 / -1;
     justify-content: center;
     padding-top: 10px;
     margin-top: 4px;
     border-top: 1px solid var(--ra-tp-border);
   }
 
   .ra-tp-footer__trustpilot {
     width: 100%;
     padding-top: 8px;
     border-top: 1px solid var(--ra-tp-border);
   }
 
   .ra-tp-products {
     gap: 14px;
   }
 
   .ra-tp-card__body {
     padding: 12px 12px 14px;
   }
 
   .ra-tp-card__cta {
     width: 100%;
     min-height: 44px;
   }
 }
 
 .ra-tp-card .plan-price,
 .ra-tp-card .quiz-price-feature {
   font-weight: 700;
   font-size: clamp(1.25rem, 2.8vw, 1.85rem);
   color: var(--ra-tp-text);
 }
 
 .ra-tp-card .quiz-save-pill {
   display: inline-flex;
   align-items: center;
   font-size: 12px;
   font-weight: 600;
   padding: 4px 10px;
   background: #e8f0fe;
   color: var(--ra-tp-blue);
   border-radius: 999px;
   letter-spacing: 0.02em;
 }
 
 .ra-tp-card__cart-row {
   display: flex;
   flex-direction: row;
   align-items: stretch;
   gap: 10px;
   margin-top: 6px;
   position: relative;
   z-index: 2;
 }
 
 .ra-tp-card__qty {
   position: relative;
   z-index: 2;
 }
 
 .ra-tp-card__qty-input {
   width: 48px;
   min-height: 44px;
   border: none;
   text-align: center;
   font-size: 15px;
   font-weight: 600;
   color: var(--ra-tp-text);
   background: #fff;
   -moz-appearance: textfield;
 }
 
 .ra-tp-card__qty-input::-webkit-outer-spin-button,
 .ra-tp-card__qty-input::-webkit-inner-spin-button {
   -webkit-appearance: none;
   margin: 0;
 }
 
 .ra-tp-card__body {
   padding: 14px 16px 16px;
 }
 
 label.ra-tp-sub-option.subscription-option,
 .ra-tp-sub-option.subscription-option {
   align-items: center;
 }
 
 /* ------------------------------------------------------------------
    Quiz 310 — intro landing (parent: [data-laravel-quiz-id="310"] [data-laravel-quiz-id="319"])
    HTML: h2[data-quiz-heading], [data-quiz-sub-heading] with .quiz-intro-display-title + copy + img, #start-quiz
    If arrow asset 404s on Shopify, change ::after to content: "\2192" + filter: none.
    ------------------------------------------------------------------ */
 [data-laravel-quiz-id="310"], [data-laravel-quiz-id="319"] {
 
   .quiz-introduction {
     text-align: center;
     padding: 30px;
     max-width: 560px;
     margin-left: auto;
     margin-right: auto;
     background: #f5f3ef;
     border-radius: 15px;
 }
 
 .quiz-introduction [data-quiz-heading] {
     /* font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; */
     font-size: 11px;
     font-weight: 600;
     letter-spacing: 0.14em;
     text-transform: uppercase;
     color: #6b7280;
     margin: 0 0 10px;
     line-height: 1.35;
     text-align: left;
 }
 
 .quiz-introduction .quiz-intro-display-title {
     /* font-family: Georgia, "Times New Roman", ui-serif, serif; */
     font-size: clamp(1.65rem, 5.2vw, 2.35rem);
     font-weight: 600;
     color: #111;
     margin: 0 0 14px;
     line-height: 1.2;
     font-size:24px;
 }
 
 .quiz-introduction [data-quiz-sub-heading] {
     /* font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; */
     text-align: left;
 }
 
  .quiz-introduction [data-quiz-sub-heading] > p {
     font-size: 18px;
     line-height: 1.55;
     color: #374151;
     margin: 0 auto 12px;
     max-width: 36rem;
 }
 
 .quiz-introduction [data-quiz-sub-heading] > p:last-child {
     margin-bottom: 0;
 }
 
 .quiz-introduction [data-quiz-sub-heading] img {
     display: block;
     width: 100%;
     max-width: 100%;
     height: auto;
     margin: 18px auto 0;
     border-radius: 16px;
     background: linear-gradient(180deg, #e8f0fe 0%, #f9fafb 40%, #fff 100%);
     padding: 12px;
     box-sizing: border-box;
     border: none;
 }
 
  #quiz-introduction #start-quiz {
     position: relative;
     margin-top: 28px !important;
     margin-left: auto !important;
     margin-right: auto !important;
     width: 100% !important;
     max-width: 100% !important;
     padding: 16px 52px 16px 24px !important;
     border-radius: 999px !important;
     border: none !important;
     background: #001cd4 !important;
     color: #fff !important;
     font-weight: 700 !important;
     font-size: 15px !important;
     letter-spacing: 0.02em !important;
     text-transform: none !important;
     box-shadow: none !important;
 }
 
  #quiz-introduction #start-quiz:hover {
     background: #001cd4 !important;
     color: #fff !important;
 }
 
 #quiz-introduction #start-quiz::after {
     display: block !important;
     /* content: "" !important; */
     position: absolute;
     right: 22px;
     top: 50%;
     transform: translateY(-50%);
     width: 18px;
     height: 10px;
     margin: 0 !important;
     /* background: url(/images/arroww.svg) center / contain no-repeat; */
     filter: brightness(0) invert(1);
 }
 
 }
 
 @media (min-width: 768px) {
     [data-laravel-quiz-id="310"] #quiz-introduction #start-quiz, [data-laravel-quiz-id="319"] #quiz-introduction #start-quiz {
         width: auto !important;
         /* min-width: 240px;
         max-width: 360px !important; */
     }
 }
 /* Quiz nav buttons: previous gray circle, next blue pill */
 .btn.btn-primary.quiz-btn.prev-btn,
 .btn.btn-primary.prev-btn {
   background-color: #e9ecef !important;
   border-color: #e9ecef !important;
   color: #111827 !important;
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
   width: 42px !important;
   min-width: 42px !important;
   height: 42px !important;
   padding: 0 !important;
   border-radius: 50% !important;
   flex: 0 0 42px !important;
 }
 
 .btn.btn-primary.quiz-btn.next-btn,
 .btn.btn-primary.next-btn {
   background-color: #001CD4 !important;
   border-color: #001CD4 !important;
   color: #fff !important;
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
   width: auto !important;
   min-width: 120px !important;
   height: 42px !important;
   padding: 0 16px !important;
   border-radius: 999px !important;
   gap: 8px !important;
 }
 
 .btn.btn-primary.quiz-btn.prev-btn:hover,
 .btn.btn-primary.prev-btn:hover {
   background-color: #d8dde2 !important;
   border-color: #d8dde2 !important;
   color: #111827 !important;
 }
 
 .btn.btn-primary.quiz-btn.next-btn:hover,
 .btn.btn-primary.next-btn:hover {
   background-color: #0017ab !important;
   border-color: #0017ab !important;
   color: #fff !important;
 }
 
 /* Hide previous text only; keep next label visible */
 .btn.btn-primary.quiz-btn.prev-btn .quiz-nav-prev-text,
 .btn.btn-primary.prev-btn .quiz-nav-prev-text {
   display: none !important;
 }
 
 .btn.btn-primary.quiz-btn.next-btn .quiz-nav-next-text,
 .btn.btn-primary.next-btn .quiz-nav-next-text {
   display: inline !important;
   font-size: 14px !important;
   font-weight: 600 !important;
   line-height: 1 !important;
 }
 
 /* Neutralize legacy pseudo rules */
 .btn.btn-primary.quiz-btn.prev-btn::after,
 .btn.btn-primary.prev-btn::after {
   content: none !important;
   background: none !important;
 }
 
 /* Quiz nav buttons: previous gray circle, next blue pill */
 .btn.btn-primary.quiz-btn.prev-btn,
 .btn.btn-primary.prev-btn {
   background-color: #e9ecef !important;
   border-color: #e9ecef !important;
   color: #111827 !important;
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
   width: 42px !important;
   min-width: 42px !important;
   height: 42px !important;
   padding: 0 !important;
   border-radius: 50% !important;
   flex: 0 0 42px !important;
 }
 
 .btn.btn-primary.quiz-btn.next-btn,
 .btn.btn-primary.next-btn {
   background-color: #001CD4 !important;
   border-color: #001CD4 !important;
   color: #fff !important;
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
   width: auto !important;
   min-width: 120px !important;
   height: 42px !important;
   padding: 0 16px !important;
   border-radius: 999px !important;
   gap: 8px !important;
 }
 
 .btn.btn-primary.quiz-btn.prev-btn:hover,
 .btn.btn-primary.prev-btn:hover {
   background-color: #d8dde2 !important;
   border-color: #d8dde2 !important;
   color: #111827 !important;
 }
 
 .btn.btn-primary.quiz-btn.next-btn:hover,
 .btn.btn-primary.next-btn:hover {
   background-color: #0017ab !important;
   border-color: #0017ab !important;
   color: #fff !important;
 }
 
 /* Hide previous text only; keep next label visible */
 .btn.btn-primary.quiz-btn.prev-btn .quiz-nav-prev-text,
 .btn.btn-primary.prev-btn .quiz-nav-prev-text {
   display: none !important;
 }
 
 .btn.btn-primary.quiz-btn.next-btn .quiz-nav-next-text,
 .btn.btn-primary.next-btn .quiz-nav-next-text {
   display: inline !important;
   font-size: 14px !important;
   font-weight: 600 !important;
   line-height: 1 !important;
 }
 
 /* Neutralize legacy pseudo rules */
 .btn.btn-primary.quiz-btn.prev-btn::after,
 .btn.btn-primary.prev-btn::after {
   content: none !important;
   background: none !important;
 }
 
 /* Right arrow for next pill */
 .button-group .btn.btn-primary.quiz-btn.next-btn::after,
 .button-group .btn.btn-primary.next-btn::after,
 .btn.btn-primary.quiz-btn.next-btn::after,
 .btn.btn-primary.next-btn::after {
   content: '' !important;
   display: inline-block !important;
   width: 14px !important;
   height: 14px !important;
   margin: 0 !important;
   border: 0 !important;
   transform: none !important;
   rotate: 0deg !important;
   background-repeat: no-repeat !important;
   background-position: center !important;
   background-size: 14px 14px !important;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M9 6l6 6-6 6' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
 }
 
 /* Left arrow for previous circle */
 .btn.btn-primary.quiz-btn.prev-btn::before,
 .btn.btn-primary.prev-btn::before {
   content: '' !important;
   display: inline-block !important;
   width: 14px !important;
   height: 14px !important;
   margin: 0 !important;
   border: 0 !important;
   transform: none !important;
   rotate: 0deg !important;
   background-repeat: no-repeat !important;
   background-position: center !important;
   background-size: 14px 14px !important;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M15 6l-6 6 6 6' stroke='%23111827' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
 }
 
 .btn.btn-primary.quiz-btn.prev-btn:hover::before,
 .btn.btn-primary.prev-btn:hover::before {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M15 6l-6 6 6 6' stroke='%23001CD4' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
 }
 
 /* Quiz 310 intro CTA: improved hover state */
 [data-laravel-quiz-id="310"], [data-laravel-quiz-id="319"]{
 
   #quiz-introduction #start-quiz {
   transition: background-color 0.2s ease, transform 0.2s ease;
 }
 
  #quiz-introduction #start-quiz:hover {
   background: #0017ab !important;
   color: #fff !important;
   transform: translateY(-1px);
 }
 
 /* Quiz 310 intro CTA: improved hover state */
  #quiz-introduction #start-quiz {
   transition: background-color 0.2s ease, transform 0.2s ease;
 }
 
  #quiz-introduction #start-quiz:hover {
   background: #0017ab !important;
   color: #fff !important;
   transform: translateY(-1px);
 }
 
 }
 
 /* Proof of previous use: clean content block (theme font inherited) */
 .ra-proof-use-intro {
   margin: 0 0 14px;
   font-size: 13px;
   line-height: 1.6;
   color: #4a5568;
 }
 
 .ra-proof-use-card {
   background: #f8f9fb;
   border: 1px solid #d9e2ec;
   border-radius: 10px;
   padding: 16px;
 }
 
 .ra-proof-use-title {
   margin: 0 0 10px;
   font-size: 11px;
   font-weight: 600;
   letter-spacing: 0.08em;
   text-transform: uppercase;
   color: #2563b0;
 }
 
 .ra-proof-use-list {
   margin: 0;
   padding: 0;
   list-style: none;
   display: flex;
   flex-direction: column;
   gap: 10px;
 }
 
 .ra-proof-use-item {
   display: flex;
   align-items: center;
   gap: 12px;
   background: #fff;
   border: 1px solid #e8ecf2;
   border-radius: 10px;
   padding: 12px 14px;
 }
 
 /* Text column (icon sibling): allow wrapping inside flex on narrow screens */
 .ra-proof-use-item > *:not(.ra-proof-use-icon) {
   min-width: 0;
   flex: 1;
 }
 
 .ra-proof-use-icon {
   width: 36px;
   height: 36px;
   border-radius: 8px;
   background: #eef3fb;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   flex-shrink: 0;
 }
 
 .ra-proof-use-label {
   margin: 0;
   font-size: 14px;
   font-weight: 700;
   line-height: 1.45;
   color: #1a202c;
 }
 
 .ra-proof-use-note {
   margin: 0;
   font-size: 12px;
   line-height: 1.4;
   color: #888;
 }
 
 /* Dawn .rte :is(ul>li,ol>li){padding-inline-start} + 1024px ul/ol padding — strip indent on proof list */
 .rte ul.ra-proof-use-list,
 .rte ol.ra-proof-use-list,
 .ra-treatment-plan.rte ul.ra-proof-use-list,
 .ra-treatment-plan.rte ol.ra-proof-use-list,
 .ra-treatment-plan .rte ul.ra-proof-use-list,
 .ra-treatment-plan .rte ol.ra-proof-use-list {
   padding-inline-start: 0 !important;
   margin-inline-start: 0 !important;
 }
 
 .rte ul.ra-proof-use-list > li,
 .rte ol.ra-proof-use-list > li,
 .ra-treatment-plan.rte ul.ra-proof-use-list > li,
 .ra-treatment-plan.rte ol.ra-proof-use-list > li,
 .ra-treatment-plan .rte ul.ra-proof-use-list > li,
 .ra-treatment-plan .rte ol.ra-proof-use-list > li {
   /* Dawn list gutter — match row `padding-inline` (14px at default / small) */
   padding-inline-start: 14px !important;
 }
 
 @media screen and (min-width: 640px) {
   .ra-proof-use-intro {
     margin: 0 0 18px;
     font-size: 14px;
     line-height: 1.55;
   }
 
   .ra-proof-use-card {
     padding: 20px;
     border-radius: 12px;
   }
 
   .ra-proof-use-title {
     margin: 0 0 14px;
   }
 
   .ra-proof-use-list {
     gap: 12px;
   }
 
   .ra-proof-use-item {
     padding: 14px 16px;
     gap: 14px;
   }
 
   .ra-proof-use-label {
     font-size: 15px;
   }
 
   .ra-treatment-plan .ra-proof-use-intro {
     margin: 0 0 18px !important;
     font-size: 14px !important;
     line-height: 1.55 !important;
   }
 
   .ra-treatment-plan .ra-proof-use-card {
     padding: 20px !important;
     border-radius: 12px !important;
   }
 
   .ra-treatment-plan .ra-proof-use-title {
     margin: 0 0 14px !important;
   }
 
   .ra-treatment-plan .ra-proof-use-list {
     gap: 12px !important;
   }
 
   .ra-treatment-plan .ra-proof-use-item {
     padding: 14px 16px !important;
     gap: 14px !important;
   }
 
   .ra-treatment-plan .ra-proof-use-label {
     font-size: 15px !important;
     font-weight: 700 !important;
   }
 
   .rte ul.ra-proof-use-list > li,
   .rte ol.ra-proof-use-list > li,
   .ra-treatment-plan.rte ul.ra-proof-use-list > li,
   .ra-treatment-plan.rte ol.ra-proof-use-list > li,
   .ra-treatment-plan .rte ul.ra-proof-use-list > li,
   .ra-treatment-plan .rte ol.ra-proof-use-list > li {
     padding-inline-start: 16px !important;
   }
 }
 
 @media screen and (min-width: 1024px) {
   .rte ul.ra-proof-use-list,
   .rte ol.ra-proof-use-list,
   .ra-treatment-plan.rte ul.ra-proof-use-list,
   .ra-treatment-plan.rte ol.ra-proof-use-list,
   .ra-treatment-plan .rte ul.ra-proof-use-list,
   .ra-treatment-plan .rte ol.ra-proof-use-list {
     padding-inline-start: 0 !important;
     margin-inline-start: 0 !important;
   }
 }
 
 /* Theme override shield: keep proof block styles stable against theme.css */
 .ra-treatment-plan .ra-proof-use-intro {
   margin: 0 0 14px !important;
   font-size: 13px !important;
   line-height: 1.6 !important;
   color: #4a5568 !important;
 }
 
 .ra-treatment-plan .ra-proof-use-card {
   background: #f8f9fb !important;
   border: 1px solid #d9e2ec !important;
   border-radius: 10px !important;
   padding: 16px !important;
 }
 
 .ra-treatment-plan .ra-proof-use-title {
   margin: 0 0 10px !important;
   font-size: 11px !important;
   font-weight: 600 !important;
   letter-spacing: 0.08em !important;
   text-transform: uppercase !important;
   color: #2563b0 !important;
 }
 
 .ra-treatment-plan .ra-proof-use-list {
   margin: 0 !important;
   padding: 0 !important;
   padding-inline-start: 0 !important;
   margin-inline-start: 0 !important;
   list-style: none !important;
   display: flex !important;
   flex-direction: column !important;
   gap: 10px !important;
 }
 
 .ra-treatment-plan .ra-proof-use-item {
   display: flex !important;
   align-items: center !important;
   gap: 12px !important;
   background: #fff !important;
   border: 1px solid #e8ecf2 !important;
   border-radius: 10px !important;
   padding: 12px 14px !important;
 }
 
 .ra-treatment-plan .ra-proof-use-icon {
   width: 36px !important;
   height: 36px !important;
   border-radius: 8px !important;
   background: #eef3fb !important;
   display: inline-flex !important;
   align-items: center !important;
   justify-content: center !important;
   flex-shrink: 0 !important;
 }
 
 .ra-treatment-plan .ra-proof-use-label {
   margin: 0 !important;
   font-size: 14px !important;
   font-weight: 700 !important;
   line-height: 1.45 !important;
   color: #1a202c !important;
 }
 
 .ra-treatment-plan .ra-proof-use-note {
   margin: 0 !important;
   font-size: 12px !important;
   line-height: 1.4 !important;
   color: #888 !important;
 }
 
 /* Theme fix: override `.rte p { margin-block: ... }` */
 .ra-treatment-plan.rte p,
 .ra-treatment-plan .rte p,
 .rte .ra-treatment-plan p {
   margin-block: 0 !important;
 }
 
 /* Keep intended paragraph spacing in proof block */
 .ra-treatment-plan .ra-proof-use-intro {
   margin: 0 0 14px !important;
 }
 
 .ra-treatment-plan .ra-proof-use-label,
 .ra-treatment-plan .ra-proof-use-note {
   margin-block: 0 !important;
 }
 
 /* Narrow screens: readable type, top-aligned icon when text wraps */
 @media screen and (max-width: 639px) {
   .ra-proof-use-card,
   .ra-treatment-plan .ra-proof-use-card {
     padding: 14px !important;
     border-radius: 10px !important;
   }
 
   .ra-proof-use-intro,
   .ra-treatment-plan .ra-proof-use-intro {
     margin: 0 0 12px !important;
     font-size: 13px !important;
     line-height: 1.55 !important;
   }
 
   .ra-proof-use-title,
   .ra-treatment-plan .ra-proof-use-title {
     margin: 0 0 8px !important;
     letter-spacing: 0.06em !important;
   }
 
   .ra-proof-use-list,
   .ra-treatment-plan .ra-proof-use-list {
     gap: 10px !important;
   }
 
   .ra-proof-use-item,
   .ra-treatment-plan .ra-proof-use-item {
     align-items: flex-start !important;
     padding: 12px 14px !important;
     gap: 11px !important;
   }
 
   .ra-proof-use-icon,
   .ra-treatment-plan .ra-proof-use-icon {
     width: 36px !important;
     height: 36px !important;
     margin-top: 2px !important;
   }
 
   .ra-proof-use-label,
   .ra-treatment-plan .ra-proof-use-label {
     font-size: 13px !important;
     font-weight: 700 !important;
     line-height: 1.45 !important;
   }
 
   .ra-proof-use-note,
   .ra-treatment-plan .ra-proof-use-note {
     font-size: 11px !important;
     line-height: 1.45 !important;
     color: #6b7280 !important;
   }
 
   .ra-proof-use-item > *:not(.ra-proof-use-icon) {
     overflow-wrap: anywhere;
   }
 
   .rte ul.ra-proof-use-list > li,
   .rte ol.ra-proof-use-list > li,
   .ra-treatment-plan.rte ul.ra-proof-use-list > li,
   .ra-treatment-plan.rte ol.ra-proof-use-list > li,
   .ra-treatment-plan .rte ul.ra-proof-use-list > li,
   .ra-treatment-plan .rte ol.ra-proof-use-list > li {
     padding-inline-start: 14px !important;
   }
 }
 
 /*
  * Dawn/theme: @media (min-width: 1024px) { .rte p { margin-block: var(--sp-5); } }
  * That rule loads after generic class rules and breaks proof-of-use spacing in quiz `.rte`.
  * Match the same breakpoint + beat `.rte p` with `.rte p.ra-proof-use-*` (higher specificity).
  */
 @media screen and (min-width: 1024px) {
   .rte p.ra-proof-use-intro,
   .ra-treatment-plan.rte p.ra-proof-use-intro,
   .ra-treatment-plan .rte p.ra-proof-use-intro {
     margin-block: 0 !important;
     margin: 0 0 18px !important;
   }
 
   .rte p.ra-proof-use-title,
   .ra-treatment-plan.rte p.ra-proof-use-title,
   .ra-treatment-plan .rte p.ra-proof-use-title {
     margin-block: 0 !important;
     margin: 0 0 14px !important;
   }
 
   .rte .ra-proof-use-item p.ra-proof-use-label,
   .rte .ra-proof-use-item p.ra-proof-use-note,
   .ra-treatment-plan .rte .ra-proof-use-item p.ra-proof-use-label,
   .ra-treatment-plan .rte .ra-proof-use-item p.ra-proof-use-note {
     margin-block: 0 !important;
   }
 
   .rte .ra-proof-use-item p.ra-proof-use-label,
   .ra-treatment-plan .rte .ra-proof-use-item p.ra-proof-use-label {
     margin: 0 !important;
     font-weight: 700 !important;
   }
 
   .rte .ra-proof-use-item p.ra-proof-use-label:has(+ .ra-proof-use-note),
   .ra-treatment-plan .rte .ra-proof-use-item p.ra-proof-use-label:has(+ .ra-proof-use-note) {
     margin-bottom: 2px !important;
   }
 
   .rte .ra-proof-use-item p.ra-proof-use-note,
   .ra-treatment-plan .rte .ra-proof-use-item p.ra-proof-use-note {
     margin: 0 !important;
   }
 }
 
 /* --- Patient confirmation checklist (quiz rich text; theme-safe) --- */
 .ra-consent-card {
   background: #fff;
   border: 1px solid #d9e2ec;
   border-radius: 10px;
   padding: 20px 24px;
 }
 
 .ra-consent-lead {
   margin: 0 0 16px;
   font-size: 13px;
   font-weight: 600;
   line-height: 1.5;
   color: #1a202c;
 }
 
 .ra-consent-list {
   margin: 0;
   padding: 0;
   list-style: none;
   display: flex;
   flex-direction: column;
   gap: 10px;
 }
 
 .ra-consent-item {
   display: flex;
   align-items: flex-start;
   gap: 10px;
 }
 
 .ra-consent-dot {
   width: 6px;
   height: 6px;
   border-radius: 50%;
   background-color: #2563b0;
   margin-top: 5px;
   flex-shrink: 0;
   display: inline-block;
 }
 
 .ra-consent-text {
   margin: 0;
   font-size: 13px;
   line-height: 1.6;
   color: #303030;
 }
 
 .ra-consent-foot {
   border-top: 1px solid #edf2f7;
   margin-top: 16px;
   padding-top: 14px;
   display: flex;
   align-items: flex-start;
   gap: 7px;
 }
 
 .ra-consent-foot__icon {
   width: 14px;
   height: 14px;
   flex-shrink: 0;
   margin-top: 1px;
   color: #aaa;
 }
 
 .ra-consent-note {
   margin: 0;
   flex: 1;
   min-width: 0;
   font-size: 12px;
   line-height: 1.6;
   color: #aaa;
 }
 
 /* Dawn list indent: consent ul is not a normal RTE list */
 .rte ul.ra-consent-list,
 .ra-treatment-plan.rte ul.ra-consent-list,
 .ra-treatment-plan .rte ul.ra-consent-list {
   padding-inline-start: 0 !important;
   margin-inline-start: 0 !important;
 }
 
 .rte ul.ra-consent-list > li,
 .ra-treatment-plan.rte ul.ra-consent-list > li,
 .ra-treatment-plan .rte ul.ra-consent-list > li {
   padding-inline-start: 0 !important;
 }
 
 @media screen and (min-width: 1024px) {
   .rte ul.ra-consent-list,
   .ra-treatment-plan.rte ul.ra-consent-list,
   .ra-treatment-plan .rte ul.ra-consent-list {
     padding-inline-start: 0 !important;
     margin-inline-start: 0 !important;
   }
 
   .rte ul.ra-consent-list > li,
   .ra-treatment-plan .rte ul.ra-consent-list > li {
     padding-inline-start: 0 !important;
   }
 }
 
 .ra-treatment-plan .ra-consent-card {
   background: #fff !important;
   border: 1px solid #d9e2ec !important;
   border-radius: 10px !important;
   padding: 20px 24px !important;
 }
 
 .ra-treatment-plan .ra-consent-lead {
   margin: 0 0 16px !important;
   font-size: 13px !important;
   font-weight: 600 !important;
   line-height: 1.5 !important;
   color: #1a202c !important;
 }
 
 .ra-treatment-plan .ra-consent-list {
   margin: 0 !important;
   padding: 0 !important;
   padding-inline-start: 0 !important;
   margin-inline-start: 0 !important;
   list-style: none !important;
   display: flex !important;
   flex-direction: column !important;
   gap: 10px !important;
 }
 
 .ra-treatment-plan .ra-consent-item {
   display: flex !important;
   align-items: flex-start !important;
   gap: 10px !important;
 }
 
 .ra-treatment-plan .ra-consent-dot {
   width: 6px !important;
   height: 6px !important;
   border-radius: 50% !important;
   background-color: #2563b0 !important;
   margin-top: 5px !important;
   flex-shrink: 0 !important;
   display: inline-block !important;
 }
 
 .ra-treatment-plan .ra-consent-text {
   margin: 0 !important;
   font-size: 13px !important;
   line-height: 1.6 !important;
   color: #303030 !important;
 }
 
 .ra-treatment-plan .ra-consent-foot {
   border-top: 1px solid #edf2f7 !important;
   margin-top: 16px !important;
   padding-top: 14px !important;
   display: flex !important;
   align-items: flex-start !important;
   gap: 7px !important;
 }
 
 .ra-treatment-plan .ra-consent-foot__icon {
   width: 14px !important;
   height: 14px !important;
   flex-shrink: 0 !important;
   margin-top: 1px !important;
   color: #aaa !important;
 }
 
 .ra-treatment-plan .ra-consent-note {
   margin: 0 !important;
   flex: 1 !important;
   min-width: 0 !important;
   font-size: 12px !important;
   line-height: 1.6 !important;
   color: #aaa !important;
 }
 
 @media screen and (max-width: 639px) {
   .ra-consent-card,
   .ra-treatment-plan .ra-consent-card {
     padding: 16px 18px !important;
   }
 
   .ra-consent-lead,
   .ra-treatment-plan .ra-consent-lead {
     margin: 0 0 14px !important;
   }
 
   .ra-consent-foot,
   .ra-treatment-plan .ra-consent-foot {
     margin-top: 14px !important;
     padding-top: 12px !important;
   }
 }
 
 @media screen and (min-width: 640px) {
   .ra-consent-card,
   .ra-treatment-plan .ra-consent-card {
     padding: 20px 24px !important;
   }
 }
 
 /* Dawn `.rte p { margin-block }` at 1024px+ */
 @media screen and (min-width: 1024px) {
   .rte p.ra-consent-lead,
   .ra-treatment-plan.rte p.ra-consent-lead,
   .ra-treatment-plan .rte p.ra-consent-lead {
     margin-block: 0 !important;
     margin: 0 0 16px !important;
   }
 
   .rte .ra-consent-item p.ra-consent-text,
   .ra-treatment-plan .rte .ra-consent-item p.ra-consent-text {
     margin-block: 0 !important;
     margin: 0 !important;
   }
 
   .rte p.ra-consent-note,
   .ra-treatment-plan.rte p.ra-consent-note,
   .ra-treatment-plan .rte p.ra-consent-note {
     margin-block: 0 !important;
     margin: 0 !important;
   }
 }
   .rte div.ra-proof-use-icon:empty,
 .rte .ra-proof-use-icon:empty,
 .ra-treatment-plan div.ra-proof-use-icon:empty,
 .ra-treatment-plan .ra-proof-use-icon:empty,
 .ra-treatment-plan .rte div.ra-proof-use-icon:empty,
 .ra-treatment-plan .rte .ra-proof-use-icon:empty {
   display: inline-flex !important;
 }
 /* Theme `div:empty { display: none }` hides icon shells — they are empty on purpose (::before draws SVG). */
 div.ra-proof-use-icon:empty,
 .ra-proof-use-icon:empty {
   display: inline-flex !important;
 }
 
 /** consultation custom css end */