/* =========================================================================
   Alina Mattress Quiz Popup — styles
   3-layer theme defense (skill Part 2):
     L1: enqueued at priority 100 (loads last)  -> see class-public.php
     L2: nuclear !important reset on form elements ONLY
     L3: component styles with !important + high specificity under wrapper
   Every selector is scoped under .alina-popup-wrapper. Keyframes are prefixed
   (alina-fadeIn / alina-spin) to avoid global collisions.
   ========================================================================= */

/* ---- CSS variables on the wrapper ---- */
.aqp-mattress-root {
  --sage: #687B7B;
  --sage-deep: #4F6161;
  --gold: #B8945F;
  --gold-soft: #D4B584;
  --cream: #F5EDE0;
  --cream-soft: #FBF7F0;
  --text: #2C2C2C;
  --text-soft: #6B6B6B;
  --border: #E8E3D8;
  --divider: #D9D0BE;
  --white: #FFFFFF;
  --shadow: 0 24px 60px rgba(92, 80, 60, 0.12);
  --radius: 16px;
  --radius-sm: 10px;
  font-family:'FbExtaza', 'Assistant', 'Heebo', sans-serif !important;
  color:var(--text) !important;
  direction: rtl;
  text-align:right !important;
  -webkit-font-smoothing: antialiased;
}

/* =========================================================================
   LAYER 2 — Nuclear reset (form elements ONLY). Neutralizes theme styles.
   NEVER apply !important to div/p/h1/span/img/a here.
   ========================================================================= */
.aqp-mattress-root button,
.aqp-mattress-root input,
.aqp-mattress-root select,
.aqp-mattress-root textarea,
.aqp-mattress-root label {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  border: none !important;
  border-color: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  color: inherit !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  text-shadow: none !important;
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  outline: none !important;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  text-transform: none !important;
  letter-spacing: normal !important;
}

.aqp-mattress-root *,
.aqp-mattress-root *::before,
.aqp-mattress-root *::after { box-sizing: border-box; }

/* =========================================================================
   LAYER 3 — Component styles
   ========================================================================= */

/* Overlay (popup mode) */
.aqp-mattress-root .aqp-mattress-quiz-overlay {
  background: rgba(60, 55, 45, 0.45) !important;
  position: fixed !important; inset: 0 !important;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  z-index: 999999 !important;
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
}

/* Modal */
.aqp-mattress-root .aqp-mattress-quiz-modal {
  background: var(--white) !important;
  border-radius: var(--radius) !important;
  width: 100% !important; max-width: 720px !important;
  box-shadow: var(--shadow) !important;
  position: relative;
  overflow: hidden;
  max-height: 92vh;
  display: flex !important; flex-direction: column !important;
  min-height: 0;
}

/* Quiz flow container. The markup uses the class .alina-screen-flow, and the JS
   owns its display (sets display:flex inline to show, display:none to hide).
   We must NOT force display here (an !important display would override the inline
   display:none and keep the flow stuck on screen behind the lead/result). We only
   force the column direction, so the theme's default flex-direction:row can't lay
   the screen out sideways. flex-direction has no inline value, so this always wins. */
.aqp-mattress-root .aqp-mattress-screen-flow,
.aqp-mattress-root #aqp-mattress-alinaQuizFlow {
  flex-direction: column !important;
  flex: 1; min-height: 0; overflow: hidden;
}

/* Close X */
.aqp-mattress-root .aqp-mattress-quiz-close {
  position: absolute !important; top: 14px !important; right: 16px !important;
  width: 28px !important; height: 28px !important;
  cursor: pointer !important; color: var(--text) !important;
  font-size: 22px !important; line-height: 1 !important;
  font-weight: 300 !important; z-index: 3 !important;
  transition: color .2s;
}
.aqp-mattress-root .aqp-mattress-quiz-close:hover { color: var(--sage) !important; }

/* Title block */
.aqp-mattress-root .aqp-mattress-title-block { text-align:center !important; padding: 32px 52px 0 40px; }
.aqp-mattress-root .aqp-mattress-title-block .aqp-mattress-title-text {
  font-size:28px !important; color:var(--sage) !important;
  font-weight:700 !important; letter-spacing:-0.3px !important; line-height:1.2 !important;
  margin: .67em 0; /* was an h1 — keep the browser-default heading margin */
}
.aqp-mattress-root .aqp-mattress-title-divider {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; margin-top: 8px;
}
.aqp-mattress-root .aqp-mattress-title-divider::before,
.aqp-mattress-root .aqp-mattress-title-divider::after {
  content: ''; display: block;
  width: 120px; height: 1px; background: var(--divider);
}
.aqp-mattress-root .aqp-mattress-title-divider-icon { color:var(--gold) !important; font-size:14px !important; }
.aqp-mattress-root .aqp-mattress-title-sub {
  font-size:15px !important; color:var(--text-soft) !important;
  margin-top: 14px; font-weight:400 !important;
}

/* Progress */
.aqp-mattress-root .aqp-mattress-quiz-progress {
  padding: 18px 40px 0;
  display: flex; align-items: center; gap: 14px;
}
.aqp-mattress-root .aqp-mattress-progress-track {
  flex: 1; height: 4px;
  background: var(--border);
  border-radius: 10px; overflow: hidden;
}
.aqp-mattress-root .aqp-mattress-progress-fill {
  height: 100%; background: var(--sage);
  border-radius: 10px;
  transition: width .4s cubic-bezier(.4,0,.2,1);
  width: 0%;
}
.aqp-mattress-root .aqp-mattress-quiz-back-link {
  font-family: inherit !important; font-size: 13px !important;
  color: var(--text-soft) !important; cursor: pointer !important;
  white-space: nowrap; transition: color .15s;
  display: inline-flex !important; align-items: center; gap: 3px;
}
.aqp-mattress-root .aqp-mattress-quiz-back-link:hover { color: var(--sage-deep) !important; }
.aqp-mattress-root .aqp-mattress-quiz-back-link.hidden { visibility: hidden; }

/* Question body */
.aqp-mattress-root .aqp-mattress-quiz-body {
  padding: 24px 40px 18px;
  flex: 1; overflow-y: auto;
}
.aqp-mattress-root .aqp-mattress-question { display: none; animation: aqp-mattress-fadeIn .3s ease; }
.aqp-mattress-root .aqp-mattress-question.active { display: block; }
@keyframes aqp-mattress-fadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to { opacity: 1; transform: translateY(0); }
}
.aqp-mattress-root .aqp-mattress-question-title {
  font-size:21px !important; font-weight:700 !important;
  color:var(--text) !important; margin-bottom: 4px; line-height:1.3 !important;
}
.aqp-mattress-root .aqp-mattress-question-hint {
  font-size:14px !important; color:var(--text-soft) !important; margin-bottom: 18px;
}

/* Options */
.aqp-mattress-root .aqp-mattress-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.aqp-mattress-root .aqp-mattress-options.aqp-mattress-full { grid-template-columns: 1fr; }
.aqp-mattress-root .aqp-mattress-option {
  background: var(--white) !important;
  border: 1.5px solid var(--border) !important;
  border-radius: var(--radius-sm) !important;
  padding: 14px 16px !important;
  cursor: pointer !important; text-align: right !important;
  display: flex !important; align-items: center; gap: 14px;
  transition: all .2s ease;
  font-family: inherit !important; font-size: 15px !important;
  color: var(--text) !important; font-weight: 500 !important;
  width: 100% !important; height: auto !important;
}
.aqp-mattress-root .aqp-mattress-option:hover {
  border-color: var(--sage) !important;
  background: var(--cream-soft) !important;
}
.aqp-mattress-root .aqp-mattress-option.aqp-mattress-selected {
  border-color: var(--sage) !important;
  background: var(--cream-soft) !important;
  box-shadow: 0 0 0 3px rgba(104, 123, 123, 0.14) !important;
}
.aqp-mattress-root .aqp-mattress-option .aqp-mattress-option-text { min-width: 0; word-wrap: break-word; }
.aqp-mattress-root .aqp-mattress-option-text { flex: 1; line-height:1.3 !important; }
.aqp-mattress-root .aqp-mattress-option-sub {
  display: block; font-size:12px !important; color:var(--text-soft) !important;
  font-weight:400 !important; margin-top: 2px;
}
.aqp-mattress-root .aqp-mattress-option-check {
  width: 18px !important; height: 18px !important;
  border-radius: 50% !important;
  border: 1.5px solid var(--border) !important;
  display: flex !important; align-items: center; justify-content: center;
  flex-shrink: 0; transition: all .2s;
}
.aqp-mattress-root .aqp-mattress-option.aqp-mattress-selected .aqp-mattress-option-check {
  background: var(--sage) !important; border-color: var(--sage) !important;
}
.aqp-mattress-root .aqp-mattress-option.aqp-mattress-selected .aqp-mattress-option-check::after {
  content: '✓'; color:white !important; font-size:11px !important; font-weight:700 !important;
}
.aqp-mattress-root .aqp-mattress-option.aqp-mattress-multi .aqp-mattress-option-check { border-radius: 5px !important; }

/* Buttons */
.aqp-mattress-root .aqp-mattress-btn {
  font-family: inherit !important; font-size: 15px !important; font-weight: 600 !important;
  padding: 12px 32px !important;
  border-radius: 6px !important; cursor: pointer !important;
  border: none !important; transition: all .2s;
  width: auto !important; height: auto !important;
}
.aqp-mattress-root .aqp-mattress-btn-next {
  background: var(--sage) !important; color: white !important;
  min-width: 150px; letter-spacing:0.3px !important;
}
.aqp-mattress-root .aqp-mattress-btn-next:hover:not(:disabled) { background: var(--sage-deep) !important; }
.aqp-mattress-root .aqp-mattress-btn-next:disabled {
  background: var(--border) !important; color: var(--text-soft) !important;
  cursor: not-allowed !important;
}
.aqp-mattress-root .aqp-mattress-q-next-wrap { margin-top: 22px; display: flex; justify-content: center; }
.aqp-mattress-root .aqp-mattress-q-next-wrap .aqp-mattress-btn-next { min-width: 200px; }

/* Intro */
.aqp-mattress-root .aqp-mattress-intro { padding: 48px 40px; text-align:center !important; }
.aqp-mattress-root .aqp-mattress-intro.hidden { display: none; }
.aqp-mattress-root .aqp-mattress-intro-icon { color:var(--gold) !important; font-size:28px !important; margin-bottom: 14px; }
.aqp-mattress-root .aqp-mattress-intro-title {
  font-size:28px !important; font-weight:700 !important; color:var(--sage) !important;
  margin-bottom: 10px; line-height:1.25 !important;
}
.aqp-mattress-root .aqp-mattress-intro-divider {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; margin-bottom: 18px;
}
.aqp-mattress-root .aqp-mattress-intro-divider::before,
.aqp-mattress-root .aqp-mattress-intro-divider::after {
  content: ''; width: 100px; height: 1px; background: var(--divider);
}
.aqp-mattress-root .aqp-mattress-intro-subtitle {
  font-size:15px !important; color:var(--text-soft) !important;
  margin-bottom: 22px; line-height:1.6 !important;
}
.aqp-mattress-root .aqp-mattress-intro-offer {
  display: inline-block;
  background: linear-gradient(180deg, #FFF8EA 0%, #F5EDE0 100%);
  border: 1.5px solid var(--gold-soft);
  border-radius: 10px; padding: 8px 16px; margin-bottom: 24px;
  font-size:13px !important; color:var(--sage-deep) !important; font-weight:500 !important;
}
.aqp-mattress-root .aqp-mattress-intro-offer strong { color:var(--gold) !important; font-weight:700 !important; }
.aqp-mattress-root .aqp-mattress-intro-meta {
  display: flex; justify-content: center; gap: 28px; margin-bottom: 24px;
  font-size:13px !important; color:var(--text-soft) !important;
}
.aqp-mattress-root .aqp-mattress-intro-meta-item { display: flex; align-items: center; gap: 6px; }

/* Lead screen */
.aqp-mattress-root .aqp-mattress-lead {
  padding: 22px 32px; text-align:center !important;
  overflow-y: auto; flex: 1; min-height: 0;
}
.aqp-mattress-root .aqp-mattress-lead.hidden { display: none; }
.aqp-mattress-root .aqp-mattress-lead-title {
  font-size:19px !important; font-weight:700 !important; color:var(--sage) !important;
  margin-bottom: 10px; line-height:1.25 !important;
}
.aqp-mattress-root .aqp-mattress-lead-processing {
  display: flex; flex-direction: row; align-items: center; justify-content: center;
  gap: 10px; margin-bottom: 14px;
}
.aqp-mattress-root .aqp-mattress-spinner {
  width: 26px; height: 26px;
  border: 2.5px solid var(--border); border-top-color: var(--sage);
  border-radius: 50%; animation: aqp-mattress-spin 0.9s linear infinite; flex-shrink: 0;
}
@keyframes aqp-mattress-spin { to { transform: rotate(360deg); } }
.aqp-mattress-root .aqp-mattress-lead-processing-text {
  font-size:13px !important; color:var(--text-soft) !important; transition: opacity .3s;
}
.aqp-mattress-root .aqp-mattress-lead-processing-text.aqp-mattress-fading { opacity: 0; }
.aqp-mattress-root .aqp-mattress-lead-offer {
  background: linear-gradient(180deg, #FFF8EA 0%, #F5EDE0 100%);
  border: 1.5px solid var(--gold-soft); border-radius: 12px;
  padding: 10px 18px; color:var(--text) !important; margin-bottom: 14px; text-align:center !important;
  box-shadow: 0 4px 12px rgba(184,148,95,0.10);
  display: flex; align-items: center; justify-content: center; gap: 14px; flex-wrap: wrap;
}
.aqp-mattress-root .aqp-mattress-lead-offer-big {
  font-size:26px !important; font-weight:800 !important; color:var(--sage-deep) !important; line-height:1 !important; white-space: nowrap;
}
.aqp-mattress-root .aqp-mattress-lead-offer-big span { color:var(--gold) !important; }
.aqp-mattress-root .aqp-mattress-lead-offer-text { font-size:13px !important; color:var(--text) !important; text-align:center !important; line-height:1.3 !important; }
.aqp-mattress-root .aqp-mattress-lead-offer-text strong { color:var(--gold) !important; font-weight:700 !important; }
.aqp-mattress-root .aqp-mattress-lead-form { display: flex; flex-direction: column; gap: 8px; text-align:right !important; }
.aqp-mattress-root .aqp-mattress-lead-field { display: flex; flex-direction: column; gap: 2px; }
.aqp-mattress-root .aqp-mattress-lead-field label {
  font-size: 13px !important; color: var(--text-soft) !important; font-weight: 500 !important;
}
.aqp-mattress-root .aqp-mattress-lead-field label .aqp-mattress-req { color:#C26D6D !important; margin-inline-start: 2px; }
.aqp-mattress-root .aqp-mattress-lead-field input {
  font-family: inherit !important; font-size: 14px !important;
  padding: 9px 12px !important;
  border: 1.5px solid var(--border) !important; border-radius: 8px !important;
  background: #fff !important; color: var(--text) !important;
  transition: border-color .15s; direction: rtl;
  width: 100% !important; height: auto !important;
}
.aqp-mattress-root .aqp-mattress-lead-field input:focus { outline: none !important; border-color: var(--sage) !important; }
.aqp-mattress-root .aqp-mattress-lead-field input.aqp-mattress-invalid { border-color: #C26D6D !important; background: #FFF6F6 !important; }
.aqp-mattress-root .aqp-mattress-lead-field-error { font-size:12px !important; color:#C26D6D !important; margin-top: 2px; display: none; }
.aqp-mattress-root .aqp-mattress-lead-field.aqp-mattress-show-error .aqp-mattress-lead-field-error { display: block; }
.aqp-mattress-root .aqp-mattress-lead-consent {
  display: flex !important; align-items: flex-start; gap: 8px; padding: 2px 0;
  cursor: pointer !important; font-size: 12px !important;
  color: var(--text-soft) !important; line-height: 1.3 !important;
  -webkit-user-select: none; user-select: none;
}
.aqp-mattress-root #aqp-mattress-alinaLeadConsentWrap .aqp-mattress-lead-field-error { display: none; margin-inline-start: 26px; margin-top: 2px; }
.aqp-mattress-root #aqp-mattress-alinaLeadConsentWrap.aqp-mattress-show-error .aqp-mattress-lead-field-error { display: block; }
.aqp-mattress-root #aqp-mattress-alinaLeadConsentWrap.aqp-mattress-show-error .aqp-mattress-checkbox-box { border-color: #C26D6D !important; background: #FFF6F6 !important; }
.aqp-mattress-root .aqp-mattress-lead-consent input { display: none !important; }
.aqp-mattress-root .aqp-mattress-lead-consent .aqp-mattress-checkbox-box {
  width: 18px; height: 18px; margin-top: 1px;
  border: 1.5px solid var(--divider); border-radius: 4px; background: #fff;
  flex-shrink: 0; display: flex; align-items: center; justify-content: center; transition: all .15s;
}
.aqp-mattress-root .aqp-mattress-lead-consent input:checked + .aqp-mattress-checkbox-box { background: var(--sage); border-color: var(--sage); }
.aqp-mattress-root .aqp-mattress-lead-consent input:checked + .aqp-mattress-checkbox-box::after {
  content: ''; width: 10px; height: 10px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><polyline points='2,6 5,9 10,3' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat; background-position: center; display: block;
}
.aqp-mattress-root .aqp-mattress-lead-consent a { color:var(--sage) !important; }
.aqp-mattress-root .aqp-mattress-lead-submit { margin-top: 4px !important; width: 100% !important; padding: 11px !important; font-size: 15px !important; }
.aqp-mattress-root .aqp-mattress-lead-fine { font-size:11px !important; color:var(--text-soft) !important; text-align:center !important; margin-top: 6px; line-height:1.4 !important; }
.aqp-mattress-root .aqp-mattress-lead-fine a { color:var(--text-soft) !important; text-decoration:underline !important; }
.aqp-mattress-root .aqp-mattress-lead-fine a:hover { color:var(--sage-deep) !important; }
.aqp-mattress-root .aqp-mattress-lead-terms {
  font-size:10.5px !important; color:var(--text-soft) !important; line-height:1.6 !important;
  margin: 18px auto 4px; max-width: 460px; text-align:center !important; padding: 0 6px;
}
.aqp-mattress-root .aqp-mattress-lead-skip {
  padding: 4px 2px !important; font-family: inherit !important;
  font-size: 13px !important; color: var(--text-soft) !important; cursor: pointer !important;
  text-decoration: underline !important; text-underline-offset: 2px;
  display: block !important; margin: 10px auto 0 !important;
}
.aqp-mattress-root .aqp-mattress-lead-skip:hover { color: var(--sage-deep) !important; }

/* Searching loader */
.aqp-mattress-root .aqp-mattress-searching {
  padding: 60px 40px; text-align:center !important; flex: 1;
  display: flex; flex-direction: column; align-items: center; justify-content: center; min-height: 0;
}
.aqp-mattress-root .aqp-mattress-searching.hidden { display: none; }
.aqp-mattress-root .aqp-mattress-searching-icon { color:var(--gold) !important; font-size:32px !important; margin-bottom: 12px; }
.aqp-mattress-root .aqp-mattress-searching-title { font-size:22px !important; font-weight:700 !important; color:var(--sage) !important; margin-bottom: 8px; line-height:1.3 !important; }
.aqp-mattress-root .aqp-mattress-searching-spinner {
  width: 42px; height: 42px; border: 3px solid var(--border); border-top-color: var(--sage);
  border-radius: 50%; animation: aqp-mattress-spin 0.9s linear infinite; margin-bottom: 16px;
}
.aqp-mattress-root .aqp-mattress-searching-message { font-size:14px !important; color:var(--text-soft) !important; transition: opacity .3s; max-width: 420px; line-height:1.5 !important; }
.aqp-mattress-root .aqp-mattress-searching-message.aqp-mattress-fading { opacity: 0; }

/* Result */
.aqp-mattress-root .aqp-mattress-result { padding: 32px 40px 32px; text-align:center !important; overflow-y: auto; position: relative; }
.aqp-mattress-root .aqp-mattress-result.hidden { display: none; }
.aqp-mattress-root .aqp-mattress-result-header-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 4px; }
.aqp-mattress-root .aqp-mattress-result-header-top .aqp-mattress-intro-icon { flex: 1; margin: 0; font-size:22px !important; }
.aqp-mattress-root .aqp-mattress-result-topbar-btn {
  padding: 2px 0 !important; color: var(--text-soft) !important; font-family: inherit !important;
  font-size: 12px !important; cursor: pointer !important;
  text-decoration: underline !important; text-underline-offset: 3px;
  transition: color .15s; flex-shrink: 0;
}
.aqp-mattress-root .aqp-mattress-result-topbar-btn:hover { color: var(--sage-deep) !important; }
.aqp-mattress-root .aqp-mattress-result-header { margin-bottom: 18px; }
.aqp-mattress-root .aqp-mattress-result-eyebrow { font-size:14px !important; color:var(--text-soft) !important; margin-bottom: 6px; letter-spacing:0.3px !important; }
.aqp-mattress-root .aqp-mattress-result-title { font-size:30px !important; color:var(--sage) !important; font-weight:700 !important; margin-bottom: 8px; line-height:1.2 !important; }
.aqp-mattress-root .aqp-mattress-result-title span { color:var(--gold) !important; }
.aqp-mattress-root .aqp-mattress-result-title-link { color:inherit !important; text-decoration:none !important; cursor: pointer; }
.aqp-mattress-root .aqp-mattress-result-title-link:hover span { text-decoration:underline !important; text-underline-offset: 3px; }
.aqp-mattress-root .aqp-mattress-result-sub { font-size:14px !important; color:var(--text-soft) !important; margin-top: 4px; }

/* Product card */
.aqp-mattress-root .aqp-mattress-result-products { display: grid; grid-template-columns: 1fr; gap: 14px; margin-bottom: 18px; }
.aqp-mattress-root .aqp-mattress-result-product {
  background: var(--white); border: 1px solid var(--border); border-radius: 14px;
  overflow: hidden; display: flex; align-items: stretch; text-align:right !important;
  box-shadow: 0 3px 10px rgba(92, 80, 60, 0.06); transition: all .2s;
}
.aqp-mattress-root .aqp-mattress-result-product:hover { border-color: var(--sage); box-shadow: 0 6px 18px rgba(92, 80, 60, 0.10); }
.aqp-mattress-root .aqp-mattress-result-product-img { flex: 0 0 50%; background: var(--cream-soft); overflow: hidden; cursor: pointer; display: block; font-size:0 !important; line-height:0 !important; }
.aqp-mattress-root .aqp-mattress-result-product-img img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center; transition: transform .4s; }
.aqp-mattress-root .aqp-mattress-result-product:hover .aqp-mattress-result-product-img img { transform: scale(1.02); }
.aqp-mattress-root .aqp-mattress-result-product-body { flex: 1; padding: 16px 18px; display: flex; flex-direction: column; min-width: 0; }
.aqp-mattress-root .aqp-mattress-result-product-info { margin-bottom: 10px; }
.aqp-mattress-root .aqp-mattress-result-product-kind { font-size:12px !important; color:var(--text-soft) !important; letter-spacing:0.3px !important; margin-bottom: 2px; }
.aqp-mattress-root .aqp-mattress-result-product-name { font-size:18px !important; font-weight:700 !important; color:var(--sage) !important; line-height:1.25 !important; margin-bottom: 4px; text-decoration:none !important; display: inline-block; }
.aqp-mattress-root .aqp-mattress-result-product-name:hover { color:var(--sage-deep) !important; }
.aqp-mattress-root .aqp-mattress-result-product-desc { font-size:13px !important; color:var(--text) !important; line-height:1.55 !important; margin-top: 8px; white-space: pre-line; text-align:right !important; }
.aqp-mattress-root .aqp-mattress-result-product-cta {
  margin-top: auto; background: var(--sage); color:#fff !important; text-align:center !important;
  padding: 11px 14px; border-radius: 8px; font-size:14px !important; font-weight:600 !important;
  text-decoration:none !important; display: block; transition: background .2s;
}
.aqp-mattress-root .aqp-mattress-result-product-cta:hover { background: var(--sage-deep); }

/* Reason */
.aqp-mattress-root .aqp-mattress-result-reason {
  background: var(--cream-soft); border-right: 3px solid var(--gold);
  padding: 14px 18px; border-radius: 8px; font-size:14px !important; color:var(--text) !important;
  line-height:1.6 !important; margin-bottom: 16px; text-align:right !important; white-space: pre-line;
}

/* Coupon block */
.aqp-mattress-root .aqp-mattress-result-coupon {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  background: linear-gradient(180deg, #FFF8EA 0%, #F5EDE0 100%);
  border: 1.5px solid var(--gold-soft); border-radius: 12px;
  padding: 14px 18px; margin-bottom: 16px;
  box-shadow: 0 4px 12px rgba(184,148,95,0.10); text-align:right !important;
}
.aqp-mattress-root .aqp-mattress-result-coupon-left { flex: 1; min-width: 180px; }
.aqp-mattress-root .aqp-mattress-result-coupon-eyebrow { font-size:12px !important; color:var(--gold) !important; font-weight:700 !important; letter-spacing:0.3px !important; margin-bottom: 10px; }
.aqp-mattress-root .aqp-mattress-result-coupon-title { font-size:16px !important; font-weight:700 !important; color:var(--sage-deep) !important; line-height:1.25 !important; }
.aqp-mattress-root .aqp-mattress-result-coupon-title span { color:var(--gold) !important; font-weight:800 !important; }
.aqp-mattress-root .aqp-mattress-result-coupon-sub { font-size:12px !important; color:var(--text-soft) !important; margin-top: 4px; }
.aqp-mattress-root .aqp-mattress-result-coupon-cta {
  display: inline-block; margin: -4px 0 18px; background: var(--sage); color:#fff !important;
  padding: 13px 38px; border-radius: 8px; font-size:15px !important; font-weight:700 !important;
  text-decoration:none !important; transition: background .2s; box-shadow: 0 4px 12px rgba(104,123,123,0.22);
}
.aqp-mattress-root .aqp-mattress-result-coupon-cta:hover { background: var(--sage-deep); }
.aqp-mattress-root .aqp-mattress-result-coupon-fine { font-size:10.5px !important; color:var(--text-soft) !important; margin-top: 12px; line-height:1.55 !important; max-width: 100%; overflow-wrap: anywhere; }
.aqp-mattress-root .aqp-mattress-result-coupon-code {
  display: inline-flex; align-items: center; gap: 10px;
  background: #fff; color:var(--sage-deep) !important;
  padding: 8px 8px 8px 14px; border: 1.5px dashed var(--gold-soft);
  border-radius: 8px; margin: 10px 0 4px;
}
.aqp-mattress-root .aqp-mattress-coupon-code-text { font-family:inherit !important; font-size:16px !important; font-weight:700 !important; letter-spacing:0.5px !important; -webkit-user-select: all; user-select: all; }
.aqp-mattress-root .aqp-mattress-coupon-code-copy {
  display: inline-flex !important; align-items: center; justify-content: center;
  background: var(--sage) !important; color: #fff !important; border: none !important;
  width: 30px !important; height: 30px !important; border-radius: 6px !important;
  cursor: pointer !important; transition: all .2s; flex-shrink: 0;
}
.aqp-mattress-root .aqp-mattress-coupon-code-copy:hover { background: var(--sage-deep) !important; }
.aqp-mattress-root .aqp-mattress-coupon-code-copy.aqp-mattress-copied { background: #6b8e6b !important; }
.aqp-mattress-root .aqp-mattress-result-footer { font-size:13px !important; color:var(--text-soft) !important; margin-top: 6px; line-height:1.5 !important; }

/* =========================================================================
   Inline mode — no overlay, no fixed positioning, embedded in the page
   ========================================================================= */
.aqp-mattress-root.aqp-mattress-inline .aqp-mattress-quiz-overlay {
  position: static !important; inset: auto !important;
  background: transparent !important; padding: 0 !important;
  -webkit-backdrop-filter: none; backdrop-filter: none; z-index: auto !important;
}
.aqp-mattress-root.aqp-mattress-inline .aqp-mattress-quiz-modal { max-height: none !important; box-shadow: 0 6px 24px rgba(92,80,60,0.10) !important; }
.aqp-mattress-root.aqp-mattress-inline .aqp-mattress-quiz-close { display: none !important; }

/* Trigger button (shortcode). This element lives OUTSIDE .alina-popup-wrapper,
   so the nuclear reset doesn't reach it. Every visual property therefore needs
   !important to survive themes that style button/a with !important — otherwise
   the trigger inherits the theme's button look and breaks the page design. */
.aqp-mattress-popup-wrapper-trigger,
.aqp-mattress-trigger {
  display: inline-block !important;
  background: #687B7B !important; background-image: none !important;
  color: #fff !important;
  padding: 12px 28px !important; margin: 0 !important;
  border: none !important; border-radius: 8px !important;
  font-size: 15px !important; font-weight: 700 !important; line-height: 1.4 !important;
  font-family: 'FbExtaza','Assistant','Heebo',sans-serif !important;
  text-decoration: none !important; text-transform: none !important; letter-spacing: normal !important;
  text-shadow: none !important; box-shadow: none !important;
  width: auto !important; height: auto !important; cursor: pointer !important;
  -webkit-appearance: none !important; appearance: none !important;
}
.aqp-mattress-trigger:hover { background: #4F6161 !important; color: #fff !important; }

/* =========================================================================
   Mobile (skill Part 2 responsive). Requires viewport-fit=cover for env().
   ========================================================================= */
@media (max-width: 600px) {
  .aqp-mattress-root .aqp-mattress-quiz-overlay { padding: 0; }
  .aqp-mattress-root .aqp-mattress-quiz-modal { max-height: 100vh; height: 100vh; border-radius: 0 !important; }
  .aqp-mattress-root .aqp-mattress-title-block { padding: max(52px, env(safe-area-inset-top, 0px) + 36px) 52px 0 20px; }
  .aqp-mattress-root .aqp-mattress-title-block .aqp-mattress-title-text { font-size:18px !important; line-height:1.25 !important; }
  .aqp-mattress-root .aqp-mattress-title-divider { margin-top: 4px; }
  .aqp-mattress-root .aqp-mattress-title-divider::before, .aqp-mattress-root .aqp-mattress-title-divider::after { width: 50px; }
  .aqp-mattress-root .aqp-mattress-title-sub { font-size:13px !important; margin-top: 8px; }
  .aqp-mattress-root .aqp-mattress-quiz-progress { padding: 12px 20px 0; gap: 10px; }
  .aqp-mattress-root .aqp-mattress-quiz-back-link { font-size: 12px !important; }
  .aqp-mattress-root .aqp-mattress-quiz-body { padding: 14px 20px 10px; }
  .aqp-mattress-root .aqp-mattress-options { grid-template-columns: 1fr; gap: 8px; }
  .aqp-mattress-root .aqp-mattress-option { padding: 12px 14px !important; font-size: 14px !important; gap: 10px; }
  .aqp-mattress-root .aqp-mattress-question-title { font-size:17px !important; margin-bottom: 4px; }
  .aqp-mattress-root .aqp-mattress-question-hint { font-size:13px !important; margin-bottom: 14px; }
  .aqp-mattress-root .aqp-mattress-lead { padding: max(56px, env(safe-area-inset-top, 0px) + 40px) 24px 24px; }
  .aqp-mattress-root .aqp-mattress-lead-terms { font-size:10px !important; padding: 0 8px; }
  .aqp-mattress-root .aqp-mattress-intro { padding: max(56px, env(safe-area-inset-top, 0px) + 40px) 24px 36px; }
  .aqp-mattress-root .aqp-mattress-intro-title { font-size:22px !important; }
  .aqp-mattress-root .aqp-mattress-searching { padding: max(56px, env(safe-area-inset-top, 0px) + 40px) 24px 40px; }
  .aqp-mattress-root .aqp-mattress-searching-title { font-size:18px !important; }
  .aqp-mattress-root .aqp-mattress-result { padding: max(60px, env(safe-area-inset-top, 0px) + 40px) 22px 24px; }
  .aqp-mattress-root .aqp-mattress-result-header-top { margin-bottom: 8px; }
  .aqp-mattress-root .aqp-mattress-quiz-close { top: max(28px, env(safe-area-inset-top, 0px) + 12px) !important; }
  .aqp-mattress-root .aqp-mattress-result-title { font-size:22px !important; }
  .aqp-mattress-root .aqp-mattress-result-product { flex-direction: column; }
  .aqp-mattress-root .aqp-mattress-result-product-img { flex: 0 0 auto; width: 100%; }
  .aqp-mattress-root .aqp-mattress-result-product-img img { height: auto; }
  .aqp-mattress-root .aqp-mattress-result-coupon { padding: 16px 24px; gap: 10px; }
  .aqp-mattress-root .aqp-mattress-result-coupon-left { min-width: 0; }
  .aqp-mattress-root .aqp-mattress-result-coupon-title { font-size:14px !important; line-height:1.45 !important; }
  .aqp-mattress-root .aqp-mattress-result-coupon-fine { font-size:10px !important; padding: 0 6px; }
  .aqp-mattress-root .aqp-mattress-result-coupon-cta { display: block; }
  .aqp-mattress-root .aqp-mattress-coupon-code-text { font-size:15px !important; }
  .aqp-mattress-root .aqp-mattress-coupon-code-copy { width: 28px !important; height: 28px !important; }

  /* Inline mode keeps natural height on mobile */
  .aqp-mattress-root.aqp-mattress-inline .aqp-mattress-quiz-modal { height: auto !important; max-height: none !important; }
}

/* THEME-ARMOR-TEXT — defeat theme heading/link recolouring; lift overlay above sticky headers. */
.aqp-mattress-root h1, .aqp-mattress-root h2, .aqp-mattress-root h3, .aqp-mattress-root h4, .aqp-mattress-root h5, .aqp-mattress-root h6 {
  font-family: inherit !important; color: inherit !important;
  text-transform: none !important; letter-spacing: normal !important;
  text-shadow: none !important;
}
.aqp-mattress-root a, .aqp-mattress-root a:visited, .aqp-mattress-root a:hover {
  text-decoration: none !important; font-weight: inherit !important;
  color: inherit !important; text-shadow: none !important;
}
.aqp-mattress-root .aqp-mattress-quiz-overlay { z-index: 2147483646 !important; }
