/* hygiene-20260914 — cookie must not cover upload / primary CTAs; quote step numbers need a gap */
html body .cookie-banner,
html.is-app-webview body .cookie-banner,
html.is-app-webview .cookie-banner,
html body .cookie-banner.cookie-banner--hygiene {
  left: auto !important;
  right: 1.1rem !important;
  bottom: 1.1rem !important;
  top: auto !important;
  width: min(21.5rem, calc(100vw - 1.6rem)) !important;
  max-width: 21.5rem !important;
  margin: 0 !important;
  z-index: 70 !important;
  padding: 0.75rem 0.85rem !important;
  gap: 0.55rem !important;
  text-align: left !important;
  justify-items: stretch !important;
  align-items: stretch !important;
  pointer-events: auto !important;
}

html body .cookie-banner p,
html.is-app-webview .cookie-banner p {
  text-align: left !important;
  font-size: 0.82rem !important;
  line-height: 1.4 !important;
  max-width: none !important;
  margin: 0 !important;
}

html body .cookie-banner-actions,
html.is-app-webview .cookie-banner-actions {
  justify-content: flex-end !important;
}

@media (max-width: 900px) {
  html body .cookie-banner,
  html.is-app-webview body .cookie-banner,
  html.is-app-webview .cookie-banner,
  html body .cookie-banner.cookie-banner--hygiene {
    right: 0.5rem !important;
    left: auto !important;
    /* Sit in the lower-right corner above the float dock; do not span the full width over the hero upload. */
    bottom: calc(4.25rem + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    width: min(17.5rem, calc(100vw - 5.25rem)) !important;
    max-width: min(17.5rem, calc(100vw - 5.25rem)) !important;
    padding: 0.6rem 0.7rem !important;
    border-radius: 0.85rem !important;
  }
  html body .cookie-banner p,
  html.is-app-webview .cookie-banner p {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    font-size: 0.75rem !important;
  }
  html body .cookie-banner-actions .btn,
  html.is-app-webview .cookie-banner-actions .btn {
    min-height: 2.25rem !important;
    padding: 0.35rem 0.7rem !important;
    font-size: 0.8rem !important;
  }
}

/* Quote workspace step labels: number + space + text */
html body .quote-steps {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.55rem 1.15rem !important;
  list-style: none !important;
  margin: 0 0 0.9rem !important;
  padding: 0 !important;
}
html body .quote-steps li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  font-size: 0.92rem !important;
  letter-spacing: 0 !important;
}
html body .quote-steps .quote-step-n,
html body .quote-steps li > span:first-child {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 1.35rem !important;
  margin-right: 0 !important;
}
html body .quote-steps .quote-step-label {
  font-size: 0.92rem !important;
}

/* quote-demo-20260914b — reference/confirmed copy + cookie clear of quote CTAs */

html body .quote-price-explain {
  margin: 0.55rem 0 0.15rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid #dbe4ee;
  border-radius: 0.75rem;
  background: #f8fafc;
  max-width: 42rem;
}
html body .quote-price-explain strong {
  display: block;
  font-size: 0.92rem;
  font-weight: 750;
  color: #0f172a;
  margin: 0 0 0.25rem;
}
html body .quote-price-explain p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.45;
  color: #334155;
}

html body .quote-days-split {
  display: block !important;
  margin: 0.55rem 0 0.7rem !important;
  font-size: 0.92rem !important;
  line-height: 1.45 !important;
  color: #0f172a !important;
}
html body .quote-days-split em {
  display: block;
  margin-top: 0.2rem;
  font-style: normal;
  font-size: 0.8rem;
  color: #475569;
}

html body .quote-ref-badge {
  display: inline-flex !important;
  margin-bottom: 0.45rem !important;
}

/* Quote workspace: cookie sits by the chat rail, never on the CAD dropzone or header CTAs */
html body:has(.quote-board.is-workspace) .cookie-banner,
html[lang] body:has(.quote-board.is-workspace) .cookie-banner,
html.is-app-webview body:has(.quote-board.is-workspace) .cookie-banner {
  left: auto !important;
  right: 5.4rem !important;
  bottom: 1.1rem !important;
  top: auto !important;
  width: min(16.5rem, calc(100vw - 7.2rem)) !important;
  max-width: 16.5rem !important;
  z-index: 40 !important;
}

@media (max-width: 900px) {
  html body:has(.quote-board.is-workspace) .cookie-banner,
  html[lang] body:has(.quote-board.is-workspace) .cookie-banner,
  html.is-app-webview body:has(.quote-board.is-workspace) .cookie-banner,
  html body:has(.quote-steps) .cookie-banner {
    top: calc(3.7rem + env(safe-area-inset-top, 0px)) !important;
    bottom: auto !important;
    right: 0.45rem !important;
    left: auto !important;
    width: min(12.75rem, calc(100vw - 6.4rem)) !important;
    max-width: min(12.75rem, calc(100vw - 6.4rem)) !important;
    z-index: 35 !important;
    padding: 0.5rem 0.6rem !important;
  }
  html body:has(.quote-board.is-workspace) .cookie-banner p,
  html[lang] body:has(.quote-board.is-workspace) .cookie-banner p {
    -webkit-line-clamp: 2 !important;
    font-size: 0.72rem !important;
  }

  /* Homepage hero: keep cookie off Instant Quote + sample CTA */
  html body:has(.quote-hero-teaser) .cookie-banner,
  html[lang] body:has(.quote-hero-teaser) .cookie-banner {
    right: 0.5rem !important;
    left: auto !important;
    bottom: calc(4.35rem + env(safe-area-inset-bottom, 0px)) !important;
    top: auto !important;
    width: min(12.75rem, calc(100vw - 6.4rem)) !important;
  }
}

/* quote-trust-20260914a — quote stack above cookie; one volume chip */

html.zoryra-on-quote .quote-stage,
html.zoryra-on-quote .quote-actions,
html.zoryra-on-quote .quote-days-split,
html.zoryra-on-quote .quote-filled,
html.zoryra-on-quote .quote-lines,
html.zoryra-on-quote .quote-sample-btn {
  position: relative;
  z-index: 55;
}

html body:has(.quote-hero-teaser) .quote-hero-teaser,
html body:has(.quote-hero-teaser) .quote-hero-teaser-cta,
html body:has(.quote-hero-teaser) .quote-hero-teaser-sample {
  position: relative;
  z-index: 55;
}

html.zoryra-on-quote .cookie-banner,
html body:has(.quote-hero-teaser) .cookie-banner {
  z-index: 40 !important;
}
