@keyframes wc-skeleton-shimmer{to{transform:translateX(100%)}}body.wc-block-product-gallery-modal-open,body.wc-modal--open{overflow:hidden}.wc-block-grid__products .wc-block-grid__product-image{display:block;position:relative;text-decoration:none}.wc-block-grid__products .wc-block-grid__product-image a{border:0;box-shadow:none;outline:0;text-decoration:none}.wc-block-grid__products .wc-block-grid__product-image img{height:auto;max-width:100%;width:100%}.wc-block-grid__products .wc-block-grid__product-image img[hidden]{display:none}.wc-block-grid__products .wc-block-grid__product-image img[alt=""]{border:1px solid #f2f2f2}.edit-post-visual-editor .editor-block-list__block .wc-block-grid__product-title,.editor-styles-wrapper .wc-block-grid__product-title,.wc-block-grid__product-title{color:inherit;display:block;font-family:inherit;font-size:inherit;font-weight:700;line-height:1.2;padding:0}.wc-block-grid__product-price{display:block}.wc-block-grid__product-price .wc-block-grid__product-price__regular{margin-right:.5em}.wc-block-grid__product-add-to-cart.wp-block-button{white-space:normal;word-break:break-word}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{display:inline-flex;font-size:1em;justify-content:center;text-align:center;white-space:normal;word-break:break-word}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.loading{opacity:.25}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.added:after{content:"";display:inline-block;font-family:WooCommerce;height:auto;margin-left:.5em;width:auto}.wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link.loading:after{animation:spin 2s linear infinite;content:"";display:inline-block;font-family:WooCommerce;height:auto;margin-left:.5em;width:auto}.has-5-columns:not(.alignfull) .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-6-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-7-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-8-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after,.has-9-columns .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link:after{content:"";margin:0}.wc-block-grid__product-rating,.wp-block-woocommerce-product-review-rating{display:block}.wc-block-grid__product-rating .star-rating,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars,.wc-block-grid__product-rating .wc-block-product-review-rating__stars,.wp-block-woocommerce-product-review-rating .star-rating,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars{font-family:WooCommerce;font-size:1em;font-weight:400;height:1.618em;line-height:1.618;margin:0 auto;overflow:hidden;position:relative;text-align:left;width:5.3em}.wc-block-grid__product-rating .star-rating:before,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars:before,.wc-block-grid__product-rating .wc-block-product-review-rating__stars:before,.wp-block-woocommerce-product-review-rating .star-rating:before,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars:before,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars:before{content:"SSSSS";left:0;opacity:.5;position:absolute;right:0;top:0;white-space:nowrap}.wc-block-grid__product-rating .star-rating span,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span,.wc-block-grid__product-rating .wc-block-product-review-rating__stars span,.wp-block-woocommerce-product-review-rating .star-rating span,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars span,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars span{left:0;overflow:hidden;padding-top:1.5em;position:absolute;right:0;top:0}.wc-block-grid__product-rating .star-rating span:before,.wc-block-grid__product-rating .wc-block-grid__product-rating__stars span:before,.wc-block-grid__product-rating .wc-block-product-review-rating__stars span:before,.wp-block-woocommerce-product-review-rating .star-rating span:before,.wp-block-woocommerce-product-review-rating .wc-block-grid__product-rating__stars span:before,.wp-block-woocommerce-product-review-rating .wc-block-product-review-rating__stars span:before{color:inherit;content:"SSSSS";left:0;position:absolute;right:0;top:0;white-space:nowrap}.wc-block-grid .wc-block-grid__product-onsale,.wc-block-grid__product-image .wc-block-grid__product-onsale{background:#fff;border:1px solid #43454b;border-radius:4px;color:#43454b;display:inline-block;font-size:.875em;font-weight:600;left:auto;padding:.25em .75em;position:absolute;right:4px;text-align:center;text-transform:uppercase;top:4px;width:auto;z-index:9}.wc-block-grid__product .wc-block-grid__product-image,.wc-block-grid__product .wc-block-grid__product-link{display:inline-block;position:relative}.wc-block-grid__product .wc-block-grid__product-image:not(.wc-block-components-product-image),.wc-block-grid__product .wc-block-grid__product-title{margin:0 0 12px}.wc-block-grid__product .wc-block-grid__product-add-to-cart,.wc-block-grid__product .wc-block-grid__product-onsale,.wc-block-grid__product .wc-block-grid__product-price,.wc-block-grid__product .wc-block-grid__product-rating{margin:0 auto 12px}.theme-twentysixteen .wc-block-grid .price ins{color:#77a464}.theme-twentynineteen .wc-block-grid__product{font-size:.88889em}.theme-twentynineteen .wc-block-components-product-sale-badge,.theme-twentynineteen .wc-block-components-product-title,.theme-twentynineteen .wc-block-grid__product-onsale,.theme-twentynineteen .wc-block-grid__product-title{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.theme-twentynineteen .wc-block-grid__product-title:before{display:none}.theme-twentynineteen .wc-block-components-product-sale-badge,.theme-twentynineteen .wc-block-grid__product-onsale{line-height:1}.theme-twentynineteen .editor-styles-wrapper .wp-block-button .wp-block-button__link:not(.has-text-color){color:#fff}.theme-twentytwenty .wc-block-grid__product-link{color:#000}.theme-twentytwenty .wc-block-components-product-title,.theme-twentytwenty .wc-block-grid__product-title{color:#cd2653;font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;font-size:1em}.theme-twentytwenty .wp-block-columns .wc-block-components-product-title{margin-top:0}.theme-twentytwenty .wc-block-components-product-price .woocommerce-Price-amount,.theme-twentytwenty .wc-block-components-product-price__value,.theme-twentytwenty .wc-block-grid__product-price .woocommerce-Price-amount,.theme-twentytwenty .wc-block-grid__product-price__value{font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;font-size:.9em}.theme-twentytwenty .wc-block-components-product-price del,.theme-twentytwenty .wc-block-grid__product-price del{opacity:.7}.theme-twentytwenty .wc-block-components-product-price ins,.theme-twentytwenty .wc-block-grid__product-price ins{text-decoration:none}.theme-twentytwenty .star-rating,.theme-twentytwenty .wc-block-grid__product-rating{font-size:.7em}.theme-twentytwenty .star-rating .wc-block-components-product-rating__stars,.theme-twentytwenty .star-rating .wc-block-grid__product-rating__stars,.theme-twentytwenty .wc-block-grid__product-rating .wc-block-components-product-rating__stars,.theme-twentytwenty .wc-block-grid__product-rating .wc-block-grid__product-rating__stars{line-height:1}.theme-twentytwenty .wc-block-components-product-button>.wp-block-button__link,.theme-twentytwenty .wc-block-grid__product-add-to-cart>.wp-block-button__link{font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif}.theme-twentytwenty .wc-block-components-product-sale-badge,.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{background:#cd2653;color:#fff;font-family:-apple-system,blinkmacsystemfont,Helvetica Neue,helvetica,sans-serif;font-weight:700;letter-spacing:-.02em;line-height:1.2;text-transform:uppercase}.theme-twentytwenty .wc-block-grid__products .wc-block-components-product-sale-badge{position:static}.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-image .wc-block-components-product-sale-badge{position:absolute}.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale:not(.wc-block-components-product-sale-badge){position:absolute;right:4px;top:4px;z-index:1}.theme-twentytwenty .wc-block-active-filters__title,.theme-twentytwenty .wc-block-attribute-filter__title,.theme-twentytwenty .wc-block-price-filter__title,.theme-twentytwenty .wc-block-stock-filter__title{font-size:1em}.theme-twentytwenty .wc-block-active-filters .wc-block-active-filters__clear-all,.theme-twentytwenty .wc-block-grid__product-add-to-cart.wp-block-button .wp-block-button__link{font-size:.75em}@media only screen and (min-width:768px){.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{font-size:.875em;padding:.5em}}@media only screen and (min-width:1168px){.theme-twentytwenty .wc-block-grid__products .wc-block-grid__product-onsale{font-size:.875em;padding:.5em}}.theme-twentytwentytwo .wc-block-grid__product-add-to-cart .added_to_cart{display:block;margin-top:12px}.theme-twentytwentytwo .wc-block-components-product-price ins,.theme-twentytwentytwo .wc-block-grid__product-price ins{text-decoration:none}.screen-reader-text{clip:rect(1px,1px,1px,1px);word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;overflow-wrap:normal!important;padding:0;position:absolute!important;width:1px}.screen-reader-text:focus{clip:auto!important;background-color:#fff;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip-path:none;color:#2b2d2f;display:block;font-size:.875rem;font-weight:700;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}.wp-block-group.woocommerce.product .up-sells.upsells.products{max-width:var(--wp--style--global--wide-size)}
@keyframes wc-skeleton-shimmer{to{transform:translateX(100%)}}.wc-block-components-notice-banner{align-content:flex-start;align-items:stretch;background-color:#fff;border:1px solid #2f2f2f;border-radius:4px;box-sizing:border-box;color:#2f2f2f;display:flex;font-size:.875em;font-weight:400;gap:12px;line-height:1.5;margin:16px 0;padding:16px!important}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content{align-self:center;flex-basis:100%;padding-right:16px;white-space:normal}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content:last-child{padding-right:0}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-block-components-notice-banner__summary{font-weight:600;margin:0 0 8px}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ol,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ul{margin:0 0 0 24px;padding:0}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ol li:after,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content ul li:after{clear:both;content:"";display:block}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward{appearance:none;background:transparent!important;border:0;color:#2f2f2f!important;float:right;margin:0;opacity:.7;padding:0!important;text-decoration-line:underline;text-underline-position:under;transition:all .2s ease-in-out}.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:active,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:focus,.wc-block-components-notice-banner>.wc-block-components-notice-banner__content .wc-forward:hover{opacity:1;text-decoration:none}.wc-block-components-notice-banner>svg{fill:#fff;background-color:#2f2f2f;border-radius:50%;flex-grow:0;flex-shrink:0;height:100%;padding:2px}.wc-block-components-notice-banner>.wc-block-components-button{background:transparent none!important;border:0!important;box-shadow:none!important;color:#2f2f2f!important;flex:0 0 16px;height:16px!important;margin:6px 0 0 auto!important;min-height:auto!important;min-width:0!important;opacity:.6;outline:none!important;padding:0!important;width:16px!important}.wc-block-components-notice-banner>.wc-block-components-button>svg{margin:0!important}.wc-block-components-notice-banner>.wc-block-components-button:active,.wc-block-components-notice-banner>.wc-block-components-button:focus,.wc-block-components-notice-banner>.wc-block-components-button:hover{opacity:1}.wc-block-components-notice-banner>.wc-block-components-button:focus{outline:2px solid currentColor!important;outline-offset:0}.wc-block-components-notice-banner.is-error{background-color:#fff0f0;border-color:#cc1818}.wc-block-components-notice-banner.is-error>svg{background-color:#cc1818;transform:rotate(180deg)}.wc-block-components-notice-banner.is-warning{background-color:#fffbf4;border-color:#f0b849}.wc-block-components-notice-banner.is-warning>svg{background-color:#f0b849;transform:rotate(180deg)}.wc-block-components-notice-banner.is-success{background-color:#f4fff7;border-color:#4ab866}.wc-block-components-notice-banner.is-success>svg{background-color:#4ab866}.wc-block-components-notice-banner.is-info{background-color:#f4f8ff;border-color:#007cba}.wc-block-components-notice-banner.is-info>svg{background-color:#007cba}.wc-block-components-notice-banner:focus{outline-width:0}.wc-block-components-notice-banner:focus-visible{outline-style:solid;outline-width:2px}.woocommerce.wc-block-store-notices.alignwide{max-width:var(--wp--style--global--wide-size)}

/* ═══════════════════════════════════════════════════════════════
   QSB Quiz & Survey Builder — Frontend Styles
   ═══════════════════════════════════════════════════════════════ */

/* ── Variables ─────────────────────────────────────────────────── */
.qsb-wrap {
  --qsb-primary:   #2563eb;
  --qsb-primary-h: #1d4ed8;
  --qsb-primary:   var(--qsb-accent, #2563eb);
  --qsb-pale:      color-mix(in srgb, var(--qsb-primary) 8%, #fff);
  --qsb-ring:      color-mix(in srgb, var(--qsb-primary) 18%, transparent);
  --qsb-success:   #16a34a;
  --qsb-error:     #dc2626;
  --qsb-border:    #e5e7eb;
  --qsb-bg:        #f9fafb;
  --qsb-radius:    12px;
  --qsb-font:      -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-family: var(--qsb-font);
  max-width: 680px;
  margin: 2rem auto;
  padding: 2rem;
  background: #fff;
  border: 1px solid var(--qsb-border);
  border-radius: var(--qsb-radius);
  box-shadow: 0 2px 20px rgba(0,0,0,.07);
}

/* ── Title ─────────────────────────────────────────────────────── */
.qsb-title {
  margin: 0 0 1.5rem;
  font-size: 1.45rem;
  font-weight: 700;
  color: #111827;
  line-height: 1.3;
}

/* ── Progress bar ──────────────────────────────────────────────── */
.qsb-progress-wrap {
  background: #e5e7eb;
  border-radius: 99px;
  height: 7px;
  margin-bottom: 1.5rem;
  position: relative;
  overflow: visible;
}
.qsb-progress-bar {
  height: 100%;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--qsb-primary), color-mix(in srgb, var(--qsb-primary) 70%, #7c3aed));
  transition: width .5s cubic-bezier(.4,0,.2,1);
  position: relative;
}
.qsb-progress-bar::after {
  content: '';
  position: absolute;
  right: -1px; top: 50%;
  transform: translateY(-50%);
  width: 13px; height: 13px;
  border-radius: 50%;
  background: var(--qsb-primary);
  border: 2px solid #fff;
  box-shadow: 0 0 0 2px var(--qsb-primary);
  transition: opacity .3s;
}
.qsb-progress-bar[style*="width: 0"]::after,
.qsb-progress-bar[style*="width:0"]::after { opacity: 0; }
.qsb-progress-label {
  position: absolute;
  right: 0; top: -22px;
  font-size: 11.5px;
  color: #9ca3af;
  font-weight: 600;
}

/* ── Question blocks ───────────────────────────────────────────── */
.qsb-question-block {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #f0f0f0;
}
.qsb-question-block:last-of-type { border-bottom: none; }
.qsb-q-hidden  { display: none !important; }

/* slide-in on step change */
@keyframes qsb-slide-in {
  from { opacity: 0; transform: translateX(16px); }
  to   { opacity: 1; transform: translateX(0); }
}
.qsb-q-enter { animation: qsb-slide-in .32s cubic-bezier(.4,0,.2,1) both; }

.qsb-q-label {
  display: block;
  font-weight: 600;
  color: #374151;
  margin-bottom: .7rem;
  font-size: 1.05rem;
  line-height: 1.4;
}
.qsb-required-mark { color: var(--qsb-error); margin-left: 2px; }
.qsb-label-error   { color: #dc2626 !important; }
.qsb-q-step {
  display: inline-flex; align-items: center; justify-content: center;
  width: 22px; height: 22px; border-radius: 50%;
  background: var(--qsb-primary); color: #fff;
  font-size: 11px; font-weight: 700; margin-right: 6px; flex-shrink: 0;
}

/* ── Standard inputs ───────────────────────────────────────────── */
.qsb-input, .qsb-textarea, .qsb-select {
  width: 100%; padding: .65rem .9rem;
  border: 1.5px solid var(--qsb-border);
  border-radius: 8px; font-size: 1rem;
  transition: border-color .18s, box-shadow .18s;
  box-sizing: border-box; font-family: var(--qsb-font);
}
.qsb-input--short { width: 120px; }
.qsb-input:focus, .qsb-textarea:focus, .qsb-select:focus {
  outline: none;
  border-color: var(--qsb-primary);
  box-shadow: 0 0 0 3px var(--qsb-ring);
}

/* ── Radio / checkbox options ──────────────────────────────────── */
.qsb-options-group { display: flex; flex-direction: column; gap: 8px; }
.qsb-option {
  display: flex; align-items: center; gap: .55rem; cursor: pointer;
  padding: .55rem .85rem;
  border: 1.5px solid var(--qsb-border);
  border-radius: 8px;
  transition: background .15s, border-color .15s;
}
.qsb-option:hover { background: var(--qsb-pale); border-color: var(--qsb-primary); }
.qsb-option input { accent-color: var(--qsb-primary); width: 1.1rem; height: 1.1rem; }

/* ── Card Select ───────────────────────────────────────────────── */
.qsb-card-select-group { display: flex; flex-direction: column; gap: 9px; }
.qsb-card-option { display: block; cursor: pointer; }
.qsb-card-option input[type="radio"] { position: absolute; opacity: 0; width: 0; height: 0; }
.qsb-card-inner {
  display: flex; align-items: center; gap: 14px;
  padding: 13px 16px;
  border: 1.5px solid var(--qsb-border);
  border-radius: 12px; background: #fff;
  transition: border-color .15s, background .15s, box-shadow .15s, transform .12s;
}
.qsb-card-option:hover .qsb-card-inner {
  border-color: var(--qsb-primary);
  background: var(--qsb-pale);
  box-shadow: 0 0 0 3px var(--qsb-ring);
  transform: translateX(2px);
}
.qsb-card-option input:checked + .qsb-card-inner {
  border-color: var(--qsb-primary);
  background: var(--qsb-pale);
  box-shadow: 0 0 0 3px var(--qsb-ring);
}
.qsb-card-ico {
  font-size: 1.7rem; line-height: 1;
  width: 46px; height: 46px;
  display: flex; align-items: center; justify-content: center;
  background: #f3f4f6; border-radius: 10px; flex-shrink: 0;
  transition: background .15s;
}
.qsb-card-option input:checked + .qsb-card-inner .qsb-card-ico {
  background: color-mix(in srgb, var(--qsb-primary) 14%, #fff);
}
.qsb-card-text { display: flex; flex-direction: column; gap: 2px; flex: 1; }
.qsb-card-ttl {
  font-weight: 600; font-size: 1rem; color: #111827; line-height: 1.3;
  transition: color .15s;
}
.qsb-card-sub  { font-size: .85rem; color: #6b7280; }
.qsb-card-option input:checked + .qsb-card-inner .qsb-card-ttl { color: var(--qsb-primary); }

/* ── Star Rating ───────────────────────────────────────────────── */
.qsb-rating { display: flex; flex-direction: row-reverse; gap: 4px; width: fit-content; }
.qsb-rating input { display: none; }
.qsb-rating label { font-size: 2rem; color: #d1d5db; cursor: pointer; transition: color .15s; }
.qsb-rating label:hover,
.qsb-rating label:hover ~ label,
.qsb-rating input:checked ~ label { color: #f59e0b; }

/* ── Nav buttons ───────────────────────────────────────────────── */
.qsb-pag-nav { display: flex; gap: 10px; margin-top: 1.5rem; align-items: center; }
.qsb-btn-prev, .qsb-btn-next {
  padding: .7rem 1.5rem; border-radius: 8px;
  font-size: .95rem; font-weight: 600;
  border: 2px solid var(--qsb-primary); cursor: pointer; transition: all .15s;
  font-family: var(--qsb-font);
}
.qsb-btn-prev { background: #fff; color: var(--qsb-primary); }
.qsb-btn-prev:hover { background: var(--qsb-primary); color: #fff; }
.qsb-btn-next { background: var(--qsb-primary); color: #fff; }
.qsb-btn-next:hover { opacity: .88; }

/* ── Submit button ─────────────────────────────────────────────── */
.qsb-submit-row { margin-top: 1.5rem; }
.qsb-submit-btn {
  background: var(--qsb-primary);
  color: #fff; border: none;
  padding: .8rem 2.2rem;
  font-size: 1rem; font-weight: 600;
  border-radius: 8px; cursor: pointer;
  transition: background .2s, transform .1s, opacity .2s;
  font-family: var(--qsb-font);
  display: inline-flex; align-items: center; gap: 8px;
}
.qsb-submit-btn:hover  { background: var(--qsb-primary-h); }
.qsb-submit-btn:active { transform: scale(.98); }
.qsb-submit-btn:disabled { opacity: .65; cursor: not-allowed; }

/* Spinner inside submit button */
@keyframes qsb-spin { to { transform: rotate(360deg); } }
.qsb-spinner {
  width: 16px; height: 16px;
  border: 2.5px solid rgba(255,255,255,.35);
  border-top-color: #fff;
  border-radius: 50%;
  animation: qsb-spin .6s linear infinite;
  flex-shrink: 0;
}

/* ── Error message ─────────────────────────────────────────────── */
.qsb-msg { margin-top: 1rem; padding: .75rem 1rem; border-radius: 8px; font-size: .95rem; }
.qsb-msg--error { background: #fef2f2; color: var(--qsb-error); border: 1px solid #fca5a5; }

/* ── Timer ─────────────────────────────────────────────────────── */
.qsb-timer {
  display: inline-flex; align-items: center; gap: 6px;
  background: #f3f4f6; border: 1px solid #e5e7eb; border-radius: 8px;
  padding: 5px 14px; font-size: .9rem; font-weight: 700; margin-bottom: 1rem; color: #374151;
}
.qsb-timer--urgent { background: #fef2f2; border-color: #fca5a5; color: #dc2626; animation: qsb-pulse 1s infinite; }
@keyframes qsb-pulse { 0%,100%{opacity:1} 50%{opacity:.6} }

/* ── Already responded / closed ────────────────────────────────── */
.qsb-already-responded, .qsb-closed-msg {
  padding: 1.5rem; background: var(--qsb-bg);
  border: 1px solid var(--qsb-border); border-radius: var(--qsb-radius);
  color: #374151; text-align: center;
}

/* ══════════════════════════════════════════════════════════════
   THANK-YOU / RESULT PANEL
   ══════════════════════════════════════════════════════════════ */
.qsb-thank-you { padding: .5rem 0; }

/* Header: icon + message shown BELOW the best match */
.qsb-ty-header {
  display: flex; flex-direction: column; align-items: center;
  text-align: center; margin: 1.25rem 0 .75rem;
}
.qsb-ty-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px;
  background: var(--qsb-success);
  color: #fff; border-radius: 50%;
  font-size: 1.4rem; margin-bottom: .5rem;
  animation: qsb-pop .4s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes qsb-pop {
  from { transform: scale(.4); opacity: 0; }
  to   { transform: scale(1);  opacity: 1; }
}
.qsb-ty-message {
  font-size: .9rem; color: #9ca3af; margin: 0; text-align: center;
}

/* Score bar */
.qsb-score-display { margin: 1rem 0; text-align: center; }
.qsb-score-text    { font-weight: 700; font-size: 1.15rem; color: #111; margin-bottom: .5rem; }
.qsb-score-bar-wrap { background: #e5e7eb; border-radius: 99px; height: 12px; overflow: hidden; max-width: 320px; margin: 0 auto; }
.qsb-score-bar { height: 100%; background: var(--qsb-primary); border-radius: 99px; width: 0; transition: width .9s ease; }
.qsb-result-message { font-style: italic; color: #6b7280; margin-top: .75rem; text-align: center; }

/* ── Best Match result cards ───────────────────────────────────── */
.qsb-bestmatch { margin-bottom: 1.5rem; }

@keyframes qsb-result-in {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}

.qsb-bm-result {
  border: 1.5px solid var(--qsb-border);
  border-radius: 16px;
  background: #fff;
  overflow: hidden;
  margin-bottom: 14px;
  transition: box-shadow .2s, transform .2s;
  animation: qsb-result-in .45s cubic-bezier(.4,0,.2,1) both;
}
.qsb-bm-result:hover {
  box-shadow: 0 8px 28px rgba(0,0,0,.10);
  transform: translateY(-2px);
}

/* Best match card — highlighted */
.qsb-bm-result--best {
  border-color: var(--qsb-primary);
  box-shadow: 0 0 0 3px var(--qsb-ring), 0 4px 20px rgba(0,0,0,.08);
}
.qsb-bm-result--best:hover {
  box-shadow: 0 0 0 3px var(--qsb-ring), 0 10px 32px rgba(0,0,0,.14);
}

/* Top accent stripe on best card */
.qsb-bm-stripe {
  height: 5px;
  background: linear-gradient(90deg, var(--qsb-primary), color-mix(in srgb, var(--qsb-primary) 60%, #7c3aed));
}

.qsb-bm-result-inner { padding: 1.25rem 1.4rem; }

/* Featured image */
.qsb-bm-img {
  width: 100%; height: 180px;
  object-fit: cover; display: block;
  border-radius: 10px; margin-bottom: 1rem;
}

.qsb-bm-content { display: flex; flex-direction: column; gap: .65rem; }

/* Badge */
.qsb-bm-badge-wrap { display: flex; align-items: center; gap: 8px; }
.qsb-bm-badge {
  display: inline-flex; align-items: center; gap: 5px;
  background: linear-gradient(135deg, var(--qsb-primary), color-mix(in srgb, var(--qsb-primary) 60%, #7c3aed));
  color: #fff;
  font-size: .72rem; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em;
  padding: 4px 12px; border-radius: 99px;
}

/* Title */
.qsb-bm-title {
  font-size: 1.25rem; font-weight: 700;
  color: #111827; margin: 0;
  line-height: 1.25;
}
.qsb-bm-result--best .qsb-bm-title { font-size: 1.35rem; }

/* Match percent */
.qsb-bm-match-row {
  display: flex; align-items: center; gap: 10px;
}
.qsb-bm-match-label { font-size: .8rem; color: #9ca3af; font-weight: 500; white-space: nowrap; }
.qsb-bm-match-track {
  flex: 1; background: #e5e7eb;
  border-radius: 99px; height: 7px; overflow: hidden;
}
.qsb-bm-match-bar {
  height: 100%; border-radius: 99px; width: 0;
  background: linear-gradient(90deg, var(--qsb-primary), color-mix(in srgb, var(--qsb-primary) 60%, #7c3aed));
  transition: width 1s cubic-bezier(.4,0,.2,1);
}
.qsb-bm-match-pct { font-size: .85rem; font-weight: 700; color: var(--qsb-primary); white-space: nowrap; }

/* Description */
.qsb-bm-desc {
  font-size: .9rem; color: #4b5563;
  line-height: 1.65; margin: 0;
}

/* CTA button */
.qsb-bm-cta {
  display: inline-flex; align-items: center; gap: 7px;
  padding: .65rem 1.35rem;
  border-radius: 8px;
  font-size: .9rem; font-weight: 600;
  text-decoration: none;
  border: 1.5px solid var(--qsb-border);
  color: var(--qsb-primary);
  background: #fff;
  transition: all .15s;
  width: fit-content;
  margin-top: .25rem;
}
.qsb-bm-cta:hover { background: var(--qsb-pale); border-color: var(--qsb-primary); }
.qsb-bm-cta svg   { flex-shrink: 0; transition: transform .15s; }
.qsb-bm-cta:hover svg { transform: translateX(3px); }

/* Primary CTA (best match) */
.qsb-bm-cta--primary {
  background: var(--qsb-primary);
  border-color: var(--qsb-primary);
  color: #fff;
}
.qsb-bm-cta--primary:hover {
  background: var(--qsb-primary-h);
  border-color: var(--qsb-primary-h);
  color: #fff;
}

.qsb-bm-fallback-msg { text-align: center; color: #6b7280; font-style: italic; padding: 1rem; }

/* ── Quiz answer review ─────────────────────────────────────────── */
.qsb-answers-review { margin-top: 1.2rem; text-align: left; }
.qsb-ra-row {
  display: flex; align-items: flex-start; gap: 8px;
  padding: 9px 12px; border-radius: 8px; margin-bottom: 6px; font-size: .9rem;
}
.qsb-ra-correct { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; }
.qsb-ra-wrong   { background: #fef2f2; border: 1px solid #fca5a5; color: #b91c1c; }
.qsb-ra-icon    { font-size: 1rem; font-weight: 700; flex-shrink: 0; margin-top: 2px; }
.qsb-ra-body    { display: flex; flex-direction: column; gap: 2px; }
.qsb-ra-question     { font-weight: 600; margin-bottom: 2px; }
.qsb-ra-correct-lbl  { font-weight: 600; margin-top: 2px; }

/* ── Survey summary ─────────────────────────────────────────────── */
.qsb-summary { margin-top: 1.5rem; text-align: left; border-top: 1px solid #e5e7eb; padding-top: 1.2rem; }
.qsb-sum-title { font-size: 1rem; font-weight: 700; color: #374151; margin: 0 0 .75rem; }
.qsb-sum-row {
  display: flex; flex-direction: column; gap: 3px;
  padding: 9px 12px; background: #f9fafb;
  border: 1px solid #e5e7eb; border-radius: 8px; margin-bottom: 6px; font-size: .9rem;
}
.qsb-sum-label  { font-weight: 600; color: #374151; }
.qsb-sum-answer { color: var(--qsb-primary); word-break: break-word; }

/* ── Retake button ─────────────────────────────────────────────── */
.qsb-retake-wrap { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--qsb-border); text-align: center; }
.qsb-retake-btn {
  background: transparent;
  border: 1.5px solid var(--qsb-border);
  border-radius: 8px; padding: 8px 22px;
  font-size: .9rem; color: #9ca3af; cursor: pointer;
  font-family: var(--qsb-font); transition: all .15s;
}
.qsb-retake-btn:hover { border-color: var(--qsb-primary); color: var(--qsb-primary); background: var(--qsb-pale); }

/* ── Outcome card (outcome matching engine) ────────────────────── */
.qsb-outcome-card {
  margin-top: 1.5rem; padding: 1.25rem 1.5rem;
  background: var(--qsb-pale); border: 1.5px solid var(--qsb-primary);
  border-radius: 12px; text-align: left;
}
.qsb-oc-title  { font-size: 1.25rem; font-weight: 700; color: #111; margin-bottom: .5rem; }
.qsb-oc-desc   { font-size: .9rem; color: #6b7280; line-height: 1.7; margin-bottom: .9rem; }
.qsb-oc-traits { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 1rem; }
.qsb-oc-trait  { font-size: 12px; padding: 3px 10px; border-radius: 99px; background: #fff; color: #6b7280; border: 1px solid #e5e7eb; }
.qsb-oc-cta    { display: inline-block; background: var(--qsb-primary); color: #fff; text-decoration: none; font-size: .9rem; font-weight: 600; padding: 9px 20px; border-radius: 7px; transition: opacity .15s; }
.qsb-oc-cta:hover { opacity: .85; }

/* ── Mobile ─────────────────────────────────────────────────────── */
@media (max-width: 520px) {
  .qsb-wrap { padding: 1.25rem; margin: 1rem auto; border-radius: 12px; }
  .qsb-bm-title { font-size: 1.1rem; }
  .qsb-bm-result--best .qsb-bm-title { font-size: 1.2rem; }
  .qsb-bm-cta { width: 100%; justify-content: center; }
}

/* ── Email Gate ──────────────────────────────────────────────────── */
.qsb-email-gate {
  text-align: center;
  padding: 2.5rem 1.5rem;
  animation: qsb-fade-in .35s ease;
}
.qsb-email-gate-inner {
  max-width: 440px;
  margin: 0 auto;
}
.qsb-email-gate-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px; height: 64px;
  border-radius: 50%;
  background: var(--qsb-pale);
  font-size: 1.75rem;
  margin-bottom: 1rem;
  border: 2px solid var(--qsb-primary);
  color: var(--qsb-primary);
}
.qsb-email-gate-title {
  font-size: 1.3rem;
  font-weight: 700;
  color: #111;
  margin: 0 0 .4rem;
}
.qsb-email-gate-desc {
  font-size: .93rem;
  color: #6b7280;
  margin: 0 0 1.4rem;
}
.qsb-email-gate-field {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
}
.qsb-email-input {
  flex: 1 1 200px;
  padding: .65rem 1rem;
  border: 1.5px solid #d1d5db;
  border-radius: 8px;
  font-size: .95rem;
  outline: none;
  transition: border-color .15s;
  min-width: 0;
}
.qsb-email-input:focus {
  border-color: var(--qsb-primary);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--qsb-primary) 15%, transparent);
}
.qsb-email-submit-btn {
  flex: 0 0 auto;
  padding: .65rem 1.4rem;
  background: var(--qsb-primary);
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: .95rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity .15s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.qsb-email-submit-btn:hover:not(:disabled) { opacity: .85; }
.qsb-email-submit-btn:disabled { opacity: .6; cursor: not-allowed; }
.qsb-email-gate-error {
  margin-top: .75rem;
  font-size: .875rem;
  color: #dc2626;
}
@keyframes qsb-fade-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

