/* BND guided ordering UI — Request wizard components */

@import url("https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,500;9..144,650;9..144,700&family=Figtree:wght@400;500;600;700&display=swap");

.bnd-order {
  --bnd-font-display: "Fraunces", Georgia, "Times New Roman", serif;
  --bnd-font-ui: "Figtree", "Segoe UI", sans-serif;
  --bnd-radius: 14px;
  --bnd-radius-sm: 10px;
  --bnd-shadow: 0 10px 28px rgba(42, 30, 26, 0.12);
  --bnd-ease: cubic-bezier(0.22, 1, 0.36, 1);
  font-family: var(--bnd-font-ui);
  color: var(--bnd-white, #fff8f5);
}

.bnd-order *,
.bnd-order *::before,
.bnd-order *::after {
  box-sizing: border-box;
}

/* ── Page intro ── */
.bnd-order__intro {
  max-width: 40rem;
  margin: 0 0 1.5rem;
}

.bnd-order__eyebrow {
  margin: 0 0 0.4rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--bnd-pink-bright, #f0a0bc);
}

.bnd-order__title {
  margin: 0 0 0.55rem;
  font-family: var(--bnd-font-display);
  font-size: clamp(1.85rem, 3.4vw, 2.55rem);
  font-weight: 650;
  line-height: 1.12;
  letter-spacing: -0.02em;
  text-transform: none;
  color: #fff8f5;
  scroll-margin-top: calc(var(--bnd-sticky-offset, 5.5rem) + 0.75rem);
}

.bnd-order__lead {
  margin: 0;
  max-width: 36rem;
  font-size: 1.02rem;
  line-height: 1.55;
  color: rgba(245, 243, 239, 0.82);
}

.bnd-order__legal {
  margin: 0.85rem 0 0;
  font-size: 0.85rem;
  line-height: 1.45;
  color: rgba(245, 243, 239, 0.58);
}

.bnd-order__legal a {
  color: var(--bnd-pink-bright, #f0a0bc);
}

/* ── Stepper ── */
.bnd-stepper {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 1.35rem;
  padding: 0;
  list-style: none;
}

.bnd-stepper__item {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0.42rem 0.7rem 0.42rem 0.42rem;
  border: 1px solid rgba(240, 160, 188, 0.22);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.18);
  color: rgba(245, 243, 239, 0.72);
  font: inherit;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  cursor: pointer;
  transition: border-color 160ms var(--bnd-ease), background 160ms var(--bnd-ease), color 160ms var(--bnd-ease), transform 160ms var(--bnd-ease);
}

.bnd-stepper__item:hover {
  border-color: rgba(240, 160, 188, 0.45);
  color: #fff8f5;
}

.bnd-stepper__item:focus-visible {
  outline: 2px solid var(--bnd-pink-bright, #f0a0bc);
  outline-offset: 2px;
}

.bnd-stepper__num {
  display: inline-grid;
  place-items: center;
  width: 1.55rem;
  height: 1.55rem;
  border-radius: 999px;
  background: rgba(240, 160, 188, 0.16);
  font-size: 0.74rem;
  font-weight: 700;
}

.bnd-stepper__item.is-current {
  border-color: rgba(240, 160, 188, 0.7);
  background: linear-gradient(135deg, rgba(224, 122, 158, 0.28), rgba(125, 96, 64, 0.22));
  color: #fff8f5;
  box-shadow: 0 0 0 1px rgba(240, 160, 188, 0.18);
}

.bnd-stepper__item.is-current .bnd-stepper__num {
  background: var(--bnd-pink, #e07a9e);
  color: #1a1216;
}

.bnd-stepper__item.is-done {
  border-color: rgba(240, 160, 188, 0.38);
  color: rgba(245, 243, 239, 0.9);
}

.bnd-stepper__item.is-done .bnd-stepper__num {
  background: rgba(240, 160, 188, 0.45);
  color: #1a1216;
}

.bnd-stepper__label {
  display: none;
}

@media (min-width: 640px) {
  .bnd-stepper__label {
    display: inline;
  }
}

.bnd-order__progress {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

/* ── Wizard grid ── */
.bnd-wizard {
  display: grid;
  gap: 1.1rem;
  align-items: start;
}

@media (min-width: 960px) {
  .bnd-wizard {
    grid-template-columns: minmax(0, 1fr) minmax(17rem, 20rem);
    gap: 1.5rem;
  }
}

.bnd-wizard__main {
  min-width: 0;
}

.bnd-wizard__panel {
  animation: bnd-step-in 180ms var(--bnd-ease);
}

#bnd-build-form [data-bnd-step][hidden],
.bnd-wizard__panel[hidden],
.bnd-order [data-bnd-step][hidden] {
  display: none !important;
}

@keyframes bnd-step-in {
  from {
    opacity: 0;
    transform: translateY(6px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .bnd-wizard__panel,
  .bnd-choice-card,
  .bnd-stepper__item {
    animation: none !important;
    transition: none !important;
  }
}

.bnd-step-heading {
  margin: 0 0 0.35rem;
  font-family: var(--bnd-font-display);
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 650;
  letter-spacing: -0.015em;
  color: #fff8f5;
  scroll-margin-top: calc(var(--bnd-sticky-offset, 5.5rem) + 0.75rem);
}

.bnd-step-sub {
  margin: 0 0 1.25rem;
  max-width: 38rem;
  font-size: 0.95rem;
  line-height: 1.5;
  color: rgba(245, 243, 239, 0.72);
}

/* ── Summary sidebar ── */
.bnd-summary {
  border: 1px solid rgba(240, 160, 188, 0.28);
  border-radius: var(--bnd-radius);
  background: linear-gradient(165deg, rgba(74, 48, 41, 0.92), rgba(42, 30, 26, 0.96));
  box-shadow: var(--bnd-shadow);
  overflow: hidden;
}

@media (min-width: 960px) {
  .bnd-summary {
    position: sticky;
    top: calc(var(--bnd-sticky-offset, 4.5rem) + 0.75rem);
  }
}

.bnd-summary__toggle {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border: 0;
  background: transparent;
  color: #fff8f5;
  font: inherit;
  font-weight: 650;
  cursor: pointer;
  text-align: left;
}

.bnd-summary__toggle:focus-visible {
  outline: 2px solid var(--bnd-pink-bright);
  outline-offset: -2px;
}

.bnd-summary__chevron {
  width: 0.65rem;
  height: 0.65rem;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 160ms var(--bnd-ease);
  opacity: 0.8;
}

.bnd-summary.is-open .bnd-summary__chevron {
  transform: rotate(-135deg);
}

@media (min-width: 960px) {
  .bnd-summary__toggle {
    pointer-events: none;
    cursor: default;
    border-bottom: 1px solid rgba(240, 160, 188, 0.18);
  }
  .bnd-summary__chevron {
    display: none;
  }
}

.bnd-summary__body {
  display: none;
  padding: 0 1rem 1rem;
}

.bnd-summary.is-open .bnd-summary__body {
  display: block;
}

@media (min-width: 960px) {
  .bnd-summary.is-open .bnd-summary__body,
  .bnd-summary__body {
    display: block !important;
  }
}

.bnd-field__optional {
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
  color: rgba(245, 243, 239, 0.45);
}

.bnd-order__legal-details {
  margin-top: 0.75rem;
  max-width: 36rem;
}

.bnd-chip__hint {
  font-weight: 500;
  opacity: 0.75;
}

.bnd-quote-options {
  display: grid;
  gap: 1.1rem;
  margin-top: 1rem;
}

.bnd-summary__badge {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0.75rem;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  background: rgba(224, 122, 158, 0.22);
  color: var(--bnd-pink-bright);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.bnd-summary__list {
  display: grid;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
}

.bnd-summary__row {
  display: grid;
  gap: 0.15rem;
}

.bnd-summary__row dt {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(245, 243, 239, 0.5);
}

.bnd-summary__row dd {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 550;
  color: #fff8f5;
  line-height: 1.35;
}

.bnd-summary__row dd.is-empty {
  color: rgba(245, 243, 239, 0.42);
  font-weight: 450;
}

.bnd-summary__totals {
  margin-top: 0.9rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(240, 160, 188, 0.2);
  display: grid;
  gap: 0.35rem;
}

.bnd-summary__totals p {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0;
  font-size: 0.9rem;
}

.bnd-summary__totals .is-emphasis {
  font-weight: 700;
  color: var(--bnd-pink-bright);
}

/* ── Fields & buttons ── */
.bnd-order .division-form__label,
.bnd-order .bnd-field__label,
.bnd-order legend.division-form__label {
  display: block;
  margin: 0 0 0.4rem;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: rgba(245, 243, 239, 0.7);
}

.bnd-order .division-form__input,
.bnd-order .division-form__select,
.bnd-order .division-form__textarea,
.bnd-order .bnd-field__control {
  width: 100%;
  min-height: 2.75rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(240, 160, 188, 0.28);
  border-radius: var(--bnd-radius-sm);
  background: rgba(255, 248, 245, 0.96);
  color: #2a1e1a;
  font: inherit;
  font-size: 0.95rem;
  transition: border-color 150ms var(--bnd-ease), box-shadow 150ms var(--bnd-ease);
}

.bnd-order .division-form__textarea {
  min-height: 6.5rem;
  resize: vertical;
}

.bnd-order .division-form__input:focus,
.bnd-order .division-form__select:focus,
.bnd-order .division-form__textarea:focus {
  outline: none;
  border-color: var(--bnd-pink);
  box-shadow: 0 0 0 3px rgba(224, 122, 158, 0.28);
}

.bnd-order .division-form__note,
.bnd-order .bnd-field__hint {
  margin: 0.4rem 0 0;
  font-size: 0.82rem;
  line-height: 1.4;
  color: rgba(245, 243, 239, 0.55);
}

.bnd-btn,
.bnd-order .division-form__submit,
.bnd-order .division-form__button,
.bnd-order .bnd-btn-mail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  min-height: 2.7rem;
  padding: 0.65rem 1.15rem;
  border-radius: 999px;
  border: 1px solid transparent;
  font: inherit;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  transition: transform 140ms var(--bnd-ease), background 140ms var(--bnd-ease), border-color 140ms var(--bnd-ease), box-shadow 140ms var(--bnd-ease);
}

.bnd-btn--primary,
.bnd-order .division-form__submit,
.bnd-order .bnd-btn-mail {
  background: linear-gradient(135deg, var(--bnd-pink-bright), var(--bnd-pink));
  color: #1a1216;
  box-shadow: 0 8px 20px rgba(224, 122, 158, 0.28);
}

.bnd-btn--primary:hover,
.bnd-order .division-form__submit:hover,
.bnd-order .bnd-btn-mail:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(224, 122, 158, 0.36);
}

.bnd-btn--ghost,
.bnd-order .division-form__button {
  background: rgba(255, 248, 245, 0.06);
  border-color: rgba(240, 160, 188, 0.35);
  color: #fff8f5;
}

.bnd-btn--ghost:hover,
.bnd-order .division-form__button:hover {
  border-color: rgba(240, 160, 188, 0.65);
  background: rgba(255, 248, 245, 0.1);
}

.bnd-step-actions,
.bnd-order .division-form__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1.35rem;
}

.bnd-order .division-form__errors,
.bnd-order .division-form__status {
  margin: 0 0 0.85rem;
  padding: 0.7rem 0.9rem;
  border-radius: var(--bnd-radius-sm);
  font-size: 0.9rem;
  line-height: 1.4;
}

.bnd-order .division-form__errors {
  background: rgba(180, 60, 70, 0.22);
  border: 1px solid rgba(255, 140, 150, 0.4);
  color: #ffd6db;
}

.bnd-order .division-form__status {
  background: rgba(224, 122, 158, 0.16);
  border: 1px solid rgba(240, 160, 188, 0.35);
  color: #fff0f4;
}

/* ── Choice cards ── */
.bnd-choice-grid {
  display: grid;
  gap: 0.7rem;
}

@media (min-width: 700px) {
  .bnd-choice-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .bnd-choice-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.bnd-choice-card {
  position: relative;
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(240, 160, 188, 0.28);
  border-radius: var(--bnd-radius);
  background: rgba(0, 0, 0, 0.2);
  color: #fff8f5;
  cursor: pointer;
  transition: border-color 160ms var(--bnd-ease), background 160ms var(--bnd-ease), transform 160ms var(--bnd-ease), box-shadow 160ms var(--bnd-ease);
}

.bnd-choice-card:hover {
  border-color: rgba(240, 160, 188, 0.5);
  transform: translateY(-1px);
}

.bnd-choice-card:has(input:checked),
.bnd-choice-card.is-selected {
  border-color: rgba(240, 160, 188, 0.85);
  background: linear-gradient(145deg, rgba(224, 122, 158, 0.22), rgba(125, 96, 64, 0.2));
  box-shadow: 0 0 0 1px rgba(240, 160, 188, 0.25), var(--bnd-shadow);
}

.bnd-choice-card:has(input:disabled),
.bnd-choice-card.is-disabled {
  opacity: 0.48;
  cursor: not-allowed;
  transform: none;
}

.bnd-choice-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.bnd-choice-card__title {
  font-family: var(--bnd-font-display);
  font-size: 1.12rem;
  font-weight: 650;
}

.bnd-choice-card__meta {
  font-size: 0.88rem;
  color: rgba(245, 243, 239, 0.7);
  line-height: 1.4;
}

/* Intent selection panels: cream paper + ink text (override dark choice-card). */
.bnd-choice-card.bnd-intent-radio {
  display: grid;
  gap: 0.35rem;
  align-content: start;
  min-width: 0;
  padding: 1rem 1.05rem;
  background: #fff8f5;
  color: #2a1e1a;
  border: 1px solid rgba(42, 30, 26, 0.18);
  box-shadow: none;
}

.bnd-choice-card.bnd-intent-radio .bnd-choice-card__title {
  color: #2a1e1a;
  font-size: 1.05rem;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.bnd-choice-card.bnd-intent-radio .bnd-choice-card__meta {
  color: rgba(42, 30, 26, 0.78);
  overflow-wrap: anywhere;
}

.bnd-choice-card.bnd-intent-radio:hover {
  border-color: rgba(224, 122, 158, 0.7);
  background: #fff1f5;
  transform: none;
}

.bnd-choice-card.bnd-intent-radio:focus-within {
  border-color: rgba(224, 122, 158, 0.95);
  box-shadow: 0 0 0 3px rgba(224, 122, 158, 0.35);
}

.bnd-choice-card.bnd-intent-radio:has(input:checked),
.bnd-choice-card.bnd-intent-radio.is-selected {
  border-color: rgba(224, 122, 158, 0.95);
  background: #ffe9f1;
  box-shadow: 0 0 0 1px rgba(224, 122, 158, 0.35);
  color: #2a1e1a;
}

.bnd-choice-card.bnd-intent-radio:has(input:checked) .bnd-choice-card__title,
.bnd-choice-card.bnd-intent-radio:has(input:checked) .bnd-choice-card__meta {
  color: #2a1e1a;
}

.bnd-choice-card.bnd-intent-radio:has(input:disabled),
.bnd-choice-card.bnd-intent-radio.is-disabled {
  opacity: 0.55;
  color: #2a1e1a;
  background: #f3ebe7;
}

@media (max-width: 699px) {
  .bnd-choice-grid--3.bnd-intent-radios {
    grid-template-columns: minmax(0, 1fr);
  }
}

.bnd-choice-card__price {
  margin-top: 0.25rem;
  font-size: 1rem;
  font-weight: 700;
  color: var(--bnd-pink-bright);
}

.bnd-choice-card__due {
  font-size: 0.92rem;
  font-weight: 650;
}

/* ── Product select / chips ── */
.bnd-product-select {
  position: relative;
}

/* .division-form__field { display:grid } overrides UA [hidden]; keep closed panels closed. */
.division-form__field[hidden],
[data-bnd-optional-addons][hidden],
[data-bnd-optional-addons-upgrade][hidden] {
  display: none !important;
}

.bnd-addon-chips,
.bnd-chip-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.bnd-chip,
.bnd-addon-chips label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0.7rem 0.95rem;
  min-height: 2.75rem;
  border: 1px solid rgba(240, 160, 188, 0.3);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.16);
  color: #fff8f5;
  font-size: 0.86rem;
  font-weight: 600;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  user-select: none;
  transition: border-color 140ms var(--bnd-ease), background 140ms var(--bnd-ease), box-shadow 140ms var(--bnd-ease);
}

.bnd-chip:has(input:checked),
.bnd-addon-chips label:has(input:checked),
.bnd-addon-chips label.is-selected {
  border-color: rgba(240, 160, 188, 0.95);
  background: rgba(224, 122, 158, 0.28);
  box-shadow: 0 0 0 1px rgba(240, 160, 188, 0.35);
}

.bnd-chip:has(input:focus-visible),
.bnd-addon-chips label:has(input:focus-visible) {
  outline: 2px solid rgba(240, 160, 188, 0.95);
  outline-offset: 2px;
}

.bnd-chip:has(input:disabled),
.bnd-addon-chips label:has(input:disabled),
.bnd-addon-chips label.is-disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.bnd-chip input,
.bnd-addon-chips input {
  width: 1.05rem;
  height: 1.05rem;
  flex: 0 0 auto;
  margin: 0;
  accent-color: var(--bnd-pink);
  pointer-events: none; /* label is the single tap target — prevents double-toggle */
}

.bnd-optional-addon-note {
  margin: 0.45rem 0 0;
  max-width: 36rem;
  color: rgba(245, 243, 239, 0.78);
  font-size: 0.88rem;
  line-height: 1.45;
}

.bnd-field-grid {
  display: grid;
  gap: 0.9rem;
}

@media (min-width: 640px) {
  .bnd-field-grid--2 {
    grid-template-columns: 1fr 1fr;
  }
}

.bnd-section-block {
  margin: 0 0 1.35rem;
  padding: 0;
  border: 0;
}

.bnd-section-block > legend,
.bnd-section-block__title {
  margin: 0 0 0.75rem;
  font-family: var(--bnd-font-display);
  font-size: 1.15rem;
  font-weight: 650;
  color: #fff8f5;
}

/* Hide legacy inline scope card on select; summary sidebar replaces it */
.bnd-order .bnd-scope[data-scope-card] {
  display: none;
}

/* ── Resume banner ── */
.bnd-order .bnd-resume-banner {
  margin: 0 0 1rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(240, 160, 188, 0.32);
  border-radius: var(--bnd-radius);
  background: rgba(0, 0, 0, 0.22);
}

.bnd-order .bnd-resume-banner__actions,
.bnd-order .bnd-edit-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.7rem;
}

/* ── Information guide ── */
.bnd-guide {
  display: grid;
  gap: 0.9rem;
}

.bnd-guide__hero {
  display: grid;
  gap: 0.45rem;
  padding: 1.1rem 1.15rem;
  border-radius: var(--bnd-radius);
  background: linear-gradient(140deg, rgba(224, 122, 158, 0.24), rgba(125, 96, 64, 0.28));
  border: 1px solid rgba(240, 160, 188, 0.3);
}

.bnd-guide__hero h3,
.bnd-guide__title {
  margin: 0;
  font-family: var(--bnd-font-display);
  font-size: 1.35rem;
  color: var(--bnd-pink-bright, #f0a0bc);
  font-weight: 700;
}

.bnd-guide__rule {
  margin: 0;
  font-size: 0.88rem;
  color: rgba(245, 243, 239, 0.86);
}

.bnd-guide__panel {
  padding: 1rem 1.1rem;
  border-radius: var(--bnd-radius);
  border: 1px solid rgba(240, 160, 188, 0.22);
  background: rgba(0, 0, 0, 0.18);
}

.bnd-guide__panel h4,
.bnd-guide__heading {
  margin: 0 0 0.4rem;
  font-family: var(--bnd-font-display);
  font-size: 1.08rem;
  font-weight: 700;
  color: var(--bnd-pink-bright, #f0a0bc);
}

.bnd-guide__panel p {
  margin: 0 0 0.55rem;
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(255, 248, 245, 0.9);
}

.bnd-guide__when {
  color: rgba(255, 248, 245, 0.84) !important;
}

.bnd-guide__steps {
  margin: 0.75rem 0 1rem;
  padding-left: 1.2rem;
  display: grid;
  gap: 0.75rem;
}

.bnd-guide__step-title {
  margin: 0 0 0.25rem !important;
  font-weight: 700;
  color: #fff8f5 !important;
}

.bnd-guide__account-list {
  display: grid;
  gap: 0.45rem;
}

.bnd-guide__check {
  display: grid;
  gap: 0.45rem;
  margin: 0.55rem 0 0;
  padding: 0;
  list-style: none;
}

.bnd-guide__check li {
  display: grid;
  grid-template-columns: 1.2rem 1fr;
  gap: 0.55rem;
  align-items: start;
  font-size: 0.9rem;
  line-height: 1.4;
}

.bnd-guide__check li::before {
  content: "";
  width: 0.85rem;
  height: 0.85rem;
  margin-top: 0.2rem;
  border-radius: 0.2rem;
  border: 1.5px solid rgba(240, 160, 188, 0.65);
  background: rgba(224, 122, 158, 0.12);
}

.bnd-guide__pay {
  display: grid;
  gap: 0.65rem;
}

@media (min-width: 640px) {
  .bnd-guide__pay {
    grid-template-columns: 1fr 1fr;
  }
}

.bnd-guide__pay-card {
  padding: 0.85rem 0.95rem;
  border-radius: var(--bnd-radius-sm);
  border: 1px solid rgba(240, 160, 188, 0.28);
  background: rgba(255, 248, 245, 0.04);
}

.bnd-guide__pay-card strong {
  display: block;
  margin-bottom: 0.25rem;
  font-family: var(--bnd-font-display);
}

.bnd-seq {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.4rem;
  margin: 0.65rem 0 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 700px) {
  .bnd-seq {
    grid-template-columns: 1fr 1fr;
  }
}

.bnd-seq li {
  display: grid;
  gap: 0.2rem;
  padding: 0.65rem 0.7rem;
  border-radius: var(--bnd-radius-sm);
  background: rgba(224, 122, 158, 0.12);
  border: 1px solid rgba(240, 160, 188, 0.2);
  font-size: 0.8rem;
  line-height: 1.3;
}

.bnd-seq__n {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--bnd-pink-bright);
}

.bnd-details {
  border: 1px solid rgba(240, 160, 188, 0.22);
  border-radius: var(--bnd-radius-sm);
  background: rgba(0, 0, 0, 0.14);
  padding: 0 0.9rem;
}

.bnd-details + .bnd-details {
  margin-top: 0.45rem;
}

.bnd-details summary {
  cursor: pointer;
  padding: 0.75rem 0;
  font-weight: 650;
  list-style: none;
}

.bnd-details summary::-webkit-details-marker {
  display: none;
}

.bnd-details[open] summary {
  border-bottom: 1px solid rgba(240, 160, 188, 0.16);
  margin-bottom: 0.55rem;
}

.bnd-details p,
.bnd-details a {
  font-size: 0.88rem;
  line-height: 1.45;
  color: rgba(245, 243, 239, 0.78);
}

.bnd-guide__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  align-items: center;
  margin-top: 0.35rem;
}

.bnd-guide__cta .bnd-btn--primary,
.bnd-guide__cta #bnd-download-info-pdf {
  min-height: 3rem;
  padding-inline: 1.35rem;
  font-size: 0.98rem;
}

/* ── Availability badges ── */
.bnd-avail {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1rem;
}

.bnd-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: 1px solid rgba(240, 160, 188, 0.28);
  background: rgba(0, 0, 0, 0.18);
  color: rgba(245, 243, 239, 0.85);
}

.bnd-badge--open {
  border-color: rgba(120, 190, 140, 0.45);
  color: #c8efd0;
}

.bnd-badge--limited {
  border-color: rgba(230, 180, 90, 0.5);
  color: #ffe2a8;
}

.bnd-badge--full {
  border-color: rgba(220, 120, 120, 0.5);
  color: #ffc4c4;
}

.bnd-avail__note {
  flex: 1 1 100%;
  margin: 0.15rem 0 0;
  font-size: 0.82rem;
  color: rgba(245, 243, 239, 0.55);
}

/* ── Quote ── */
.bnd-quote {
  display: grid;
  gap: 1rem;
}

.bnd-quote__lines {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.45rem;
}

.bnd-quote__lines li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(240, 160, 188, 0.14);
  font-size: 0.92rem;
}

.bnd-quote__total {
  display: flex;
  justify-content: space-between;
  font-size: 1.05rem;
  font-weight: 700;
}

.bnd-quote__due {
  display: flex;
  justify-content: space-between;
  color: var(--bnd-pink-bright);
  font-weight: 700;
}

/* ── Contract reader (designed BND surface; exact server text, no monospace dump) ── */
.bnd-agreement__terms-label {
  margin: 0 0 0.55rem;
  font-family: var(--bnd-font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--bnd-pink-bright, #f0a0bc);
}

.bnd-contract,
.bnd-contract-reader {
  max-height: 28rem;
  overflow: auto;
  overflow-x: hidden;
  padding: 1.15rem 1.2rem 1.25rem;
  border-radius: var(--bnd-radius);
  border: 1px solid rgba(224, 122, 158, 0.4);
  background: rgba(18, 12, 14, 0.72);
  color: #fff8f5 !important;
  -webkit-text-fill-color: #fff8f5;
  font-family: var(--bnd-font-body, "Source Serif 4", Georgia, serif);
  font-size: 0.98rem;
  line-height: 1.62;
  scroll-margin-top: calc(var(--bnd-sticky-offset, 4.5rem) + 1rem);
  box-shadow: inset 0 0 0 1px rgba(255, 248, 245, 0.04);
}

.bnd-contract-reader__lede {
  margin: 0 0 0.85rem;
  font-family: var(--bnd-font-display);
  font-size: 1.02rem;
  font-weight: 650;
  color: var(--bnd-pink-bright, #f0a0bc) !important;
  -webkit-text-fill-color: var(--bnd-pink-bright, #f0a0bc);
}

.bnd-contract-reader__h {
  margin: 1.15rem 0 0.4rem;
  font-family: var(--bnd-font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--bnd-pink-bright, #f0a0bc) !important;
  -webkit-text-fill-color: var(--bnd-pink-bright, #f0a0bc);
  line-height: 1.3;
}

.bnd-contract-reader__h:first-child {
  margin-top: 0;
}

.bnd-contract-reader__p {
  margin: 0 0 0.7rem;
  color: #fff8f5 !important;
  -webkit-text-fill-color: #fff8f5;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  font-family: inherit;
}

.bnd-agreement__binding,
.bnd-agreement__accepted {
  margin-bottom: 1rem;
}

.bnd-edit-flash {
  outline: 2px solid rgba(224, 122, 158, 0.95);
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(224, 122, 158, 0.22);
  transition: box-shadow 180ms ease, outline-color 180ms ease;
  scroll-margin-top: calc(var(--bnd-sticky-offset, 4.5rem) + 1rem);
}

.bnd-legal-block__title {
  margin: 0.85rem 0 0.4rem;
  font-family: var(--bnd-font-display);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--bnd-pink-bright, #f0a0bc);
}

.bnd-legal-list {
  margin: 0 0 0.65rem;
  padding-left: 1.25rem;
  color: rgba(245, 243, 239, 0.88);
  font-size: 0.92rem;
  line-height: 1.5;
}

.bnd-legal-list li {
  margin: 0.3rem 0;
}

.bnd-legal-block__footer {
  margin: 0.55rem 0 0;
  font-size: 0.88rem;
  color: rgba(245, 243, 239, 0.78);
}

.bnd-order__legal .bnd-legal-block__title:first-child {
  margin-top: 0.35rem;
}

.bnd-resume-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
}

#bnd-start-over-help {
  margin: 0.45rem 0 0;
  max-width: 42rem;
}

.bnd-agreement__sign {
  margin-top: 1.1rem;
  padding: 1rem 1.05rem;
  border-radius: var(--bnd-radius);
  border: 1px solid rgba(240, 160, 188, 0.35);
  background: rgba(0, 0, 0, 0.28);
}

.bnd-agreement__consent {
  color: #fff8f5 !important;
  -webkit-text-fill-color: #fff8f5;
  opacity: 1;
}

.bnd-agreement__blockers {
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border-radius: var(--bnd-radius-sm);
  border: 1px solid rgba(255, 160, 120, 0.45);
  background: rgba(60, 24, 18, 0.55);
  color: #ffe8df;
}

.bnd-agreement__blockers ul {
  margin: 0.35rem 0 0;
}

.bnd-stepper__item.is-locked {
  opacity: 0.55;
  cursor: not-allowed;
}

.bnd-stepper__item.is-locked .bnd-stepper__num::after {
  content: "";
  display: block;
  width: 0.35rem;
  height: 0.35rem;
  margin: 0.12rem auto 0;
  border-radius: 999px;
  background: rgba(240, 160, 188, 0.85);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.25);
}

.bnd-stepper__item.is-locked.is-current {
  opacity: 0.85;
}

.bnd-status-badge {
  display: inline-flex;
  margin: 0 0 0.75rem;
  padding: 0.3rem 0.7rem;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  background: rgba(224, 122, 158, 0.2);
  color: var(--bnd-pink-bright);
}

.bnd-checklist {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

.bnd-checklist li {
  display: grid;
  grid-template-columns: 1.1rem 1fr;
  gap: 0.55rem;
  padding: 0.7rem 0.8rem;
  border-radius: var(--bnd-radius-sm);
  border: 1px solid rgba(240, 160, 188, 0.2);
  background: rgba(0, 0, 0, 0.14);
  font-size: 0.9rem;
}

.bnd-checklist li::before {
  content: "";
  width: 0.85rem;
  height: 0.85rem;
  margin-top: 0.15rem;
  border-radius: 999px;
  border: 1.5px solid rgba(240, 160, 188, 0.55);
}

.bnd-checklist li.is-done::before {
  background: var(--bnd-pink);
  border-color: var(--bnd-pink);
}

/* ── Intake sections ── */
.bnd-intake-section {
  margin: 0 0 1.25rem;
  padding: 1rem 1.05rem;
  border: 1px solid rgba(240, 160, 188, 0.2);
  border-radius: var(--bnd-radius);
  background: rgba(0, 0, 0, 0.14);
}

.bnd-intake-section legend {
  padding: 0 0.35rem;
  font-family: var(--bnd-font-display);
  font-size: 1.05rem;
  font-weight: 650;
  color: #fff8f5;
}

.bnd-intake-section--later {
  border-style: dashed;
  opacity: 0.95;
}

.bnd-intake-section--later > legend::after {
  content: " · Finish later";
  font-family: var(--bnd-font-ui);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(245, 243, 239, 0.55);
}

/* Override old inquiry panel look on Request */
.bnd-page #start-a-build.bnd-order-section {
  padding-block: 1.5rem 2.5rem;
}

.bnd-page #start-a-build .bnd-cta.bnd-order-cta {
  display: block;
  grid-template-columns: none;
}

.bnd-page #start-a-build .division-inquiry-panel.bnd-order-shell {
  padding: 0;
  border: none;
  background: transparent;
  max-width: none;
  width: 100%;
  box-shadow: none;
}

.bnd-page #start-a-build .bnd-form-with-scope {
  display: block;
}

/* Soften old step-nav if present */
.bnd-order .bnd-step-nav {
  display: none;
}
