/* MayCraft Build & Price — scoped to .bp-page (does not restyle site chrome) */
.bp-page{
  /* Map builder tokens onto MayCraft brand; do NOT rely on Defiance --navy/--line */
  --bp-ink:#102126;
  --bp-ink-soft:#3d5560;
  --bp-muted:#4e6870;          /* readable on white (site --muted is dark-UI grey) */
  --bp-navy:#0b3d3c;
  --bp-navy-2:#00807e;
  --bp-line:#d5e3e1;
  --bp-bg-soft:#eef6f5;
  --bp-bg-accent:#e3f3f1;
  --bp-card:#ffffff;
  --bp-nap:#0f6a3c;
  --bp-shadow:0 12px 28px rgba(4,14,30,.08);
  --bp-shadow-lg:0 20px 50px rgba(4,14,30,.14);
  padding-bottom:4rem;
  color:var(--bp-ink);
}
.bp-page .muted,
.bp-page .bp-option__sub,
.bp-page .bp-section__note,
.bp-page .bp-model__meta,
.bp-page .bp-disclaimer,
.bp-page .bp-line--muted,
.bp-page .bp-total-row__hint{
  color:var(--bp-muted);
}

.bp-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  gap:1.75rem;
  align-items:start;
}
.bp-main{min-width:0}
.bp-aside{position:sticky;top:5.5rem;min-width:0}

.bp-banner{
  display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;align-items:center;
  padding:.85rem 1.1rem;margin:0 0 1.5rem;
  border:1px dashed rgba(0,128,126,.4);
  background:#fff8e6;border-radius:12px;color:#5a4400;font-size:.92rem;
}
.bp-banner strong{color:#3d2e00}

.bp-models{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:1rem;
  margin-bottom:1.75rem;
}
.bp-model{
  appearance:none;border:1px solid var(--bp-line);background:var(--bp-card);border-radius:16px;
  padding:0;overflow:hidden;cursor:pointer;text-align:left;
  box-shadow:var(--bp-shadow);transition:border-color .15s,box-shadow .15s,transform .15s;
  color:var(--bp-ink);
}
.bp-model:hover{transform:translateY(-2px);box-shadow:var(--bp-shadow-lg)}
.bp-model.is-active{border-color:var(--bp-navy-2);box-shadow:0 0 0 2px rgba(0,128,126,.28),var(--bp-shadow)}
.bp-model__media{aspect-ratio:16/10;background:var(--bp-bg-soft);overflow:hidden;position:relative}
.bp-model__media img{width:100%;height:100%;object-fit:cover;display:block}
.bp-model__media--unavailable{
  display:flex;align-items:center;justify-content:center;
  aspect-ratio:16/10;background:var(--bp-bg-soft);color:var(--bp-muted);font-weight:700;font-size:.9rem;
}
.bp-model__img-note{
  display:block;font-size:.72rem;color:#7a1f1f;font-weight:700;
  padding:.35rem .5rem;background:#fff3f3;
}
.bp-model__body{padding:.9rem 1rem 1.05rem}
.bp-model__body h3{margin:0 0 .25rem;font-size:1.05rem;color:var(--bp-navy)}
.bp-model__meta{margin:0;font-size:.86rem}
.bp-model__price{margin:.45rem 0 0;font-weight:700;color:var(--bp-navy)}

.bp-section{
  background:var(--bp-card);border:1px solid var(--bp-line);border-radius:16px;
  box-shadow:var(--bp-shadow);margin-bottom:1.1rem;overflow:hidden;
}
.bp-section__head{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  padding:.95rem 1.15rem;border-bottom:1px solid var(--bp-line);background:var(--bp-bg-soft);
}
.bp-section__head h2{margin:0;font-size:1.05rem;color:var(--bp-navy)}
.bp-section__note{margin:0;font-size:.86rem;line-height:1.4}
.bp-section__body{padding:.25rem 0}

.bp-option{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:.85rem 1rem;
  align-items:start;
  padding:.85rem 1.15rem;
  border-top:1px solid rgba(16,33,38,.08);
  cursor:pointer;
  color:var(--bp-ink);
}
.bp-option:first-child{border-top:0}
.bp-option:hover{background:rgba(0,128,126,.04)}
.bp-option.is-checked{background:rgba(0,128,126,.08)}
.bp-option input{margin-top:.25rem;accent-color:var(--bp-navy-2);width:1.1rem;height:1.1rem;flex-shrink:0}
.bp-option__text{min-width:0}
.bp-option__label{
  display:block;font-weight:650;color:var(--bp-ink);line-height:1.35;
  overflow-wrap:anywhere;word-break:break-word;
}
.bp-option__sub{display:block;margin-top:.25rem;font-size:.84rem;line-height:1.4;overflow-wrap:anywhere}
.bp-option__price{
  font-variant-numeric:tabular-nums;font-weight:700;color:var(--bp-navy);
  white-space:nowrap;justify-self:end;padding-top:.1rem;
}
.bp-option__price.is-zero{color:var(--bp-muted);font-weight:600}

.bp-qty{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem}
.bp-qty__btn{
  width:1.75rem;height:1.75rem;border-radius:8px;border:1px solid var(--bp-line);
  background:#fff;color:var(--bp-ink);font-weight:700;line-height:1;
}
.bp-qty__val{min-width:1.5rem;text-align:center;font-weight:700}

.bp-summary{
  background:var(--bp-card);border:1px solid var(--bp-line);border-radius:16px;
  box-shadow:var(--bp-shadow-lg);overflow:hidden;
}
.bp-summary__head{
  padding:1rem 1.15rem;
  background:linear-gradient(135deg,var(--bp-navy),var(--bp-navy-2));
  color:#fff;
}
.bp-summary__head h2{margin:0;font-size:1.15rem;color:#fff}
.bp-summary__head p{margin:.3rem 0 0;opacity:.92;font-size:.9rem;color:#fff}
.bp-summary__body{padding:1rem 1.15rem 1.2rem}

.bp-lines{list-style:none;margin:0;padding:0;display:grid;gap:.7rem}
.bp-line{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.75rem 1rem;
  align-items:start;
  font-size:.95rem;
  color:var(--bp-ink);
}
.bp-line__main{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem .55rem;
  min-width:0;
}
.bp-line__name{
  font-weight:600;color:var(--bp-ink);line-height:1.35;
  overflow-wrap:anywhere;
}
.bp-line__msrp{
  font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700;color:var(--bp-navy);
  padding-top:.05rem;
}
.bp-line__tag{
  display:inline-flex;align-items:center;
  padding:.15rem .45rem;border-radius:999px;
  font-size:.75rem;font-weight:700;letter-spacing:.01em;
  line-height:1.2;white-space:nowrap;
}
.bp-line__tag--nap{
  background:rgba(15,106,60,.12);color:var(--bp-nap);
}
.bp-line__tag--full{
  background:var(--bp-bg-soft);color:var(--bp-ink-soft);
}
.bp-line__tag--incl{
  background:var(--bp-bg-soft);color:var(--bp-ink-soft);
}
.bp-line--muted .bp-line__name,
.bp-line--muted .bp-line__msrp{color:var(--bp-muted);font-weight:600}

.bp-divider{height:1px;background:var(--bp-line);margin:1rem 0}

.bp-total-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  margin:.4rem 0;
}
.bp-total-row__label{font-weight:700;color:var(--bp-navy)}
.bp-total-row__value{
  font-size:1.35rem;font-weight:800;color:var(--bp-navy);
  font-variant-numeric:tabular-nums;white-space:nowrap;
}
.bp-total-row--nap .bp-total-row__value{color:var(--bp-nap)}
.bp-total-row__hint{display:block;margin-top:.15rem;font-size:.8rem;font-weight:500}

.bp-nap-break{
  margin:.55rem 0 0;
  padding:.65rem .8rem;
  border-radius:12px;
  background:var(--bp-bg-soft);
  border:1px solid var(--bp-line);
}
.bp-nap-break__row{
  display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
  font-size:.92rem;font-weight:650;color:var(--bp-ink);
}
.bp-nap-break__row span:last-child{
  font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:750;color:var(--bp-nap);
}

.bp-disclaimer{
  margin:1rem 0 0;font-size:.84rem;line-height:1.5;color:var(--bp-muted);
}
.bp-summary__cta{margin-top:1rem}
.bp-summary__cta .button{width:100%;justify-content:center}

.bp-standards{display:flex;flex-wrap:wrap;gap:.45rem;padding:1rem 1.15rem 1.15rem}
.bp-chip{
  display:inline-flex;padding:.35rem .65rem;border-radius:999px;
  background:var(--bp-bg-accent);color:var(--bp-navy);font-size:.78rem;font-weight:600;
}

.bp-lead{
  margin-top:1.5rem;background:var(--bp-card);border:1px solid var(--bp-line);
  border-radius:16px;box-shadow:var(--bp-shadow);padding:1.25rem 1.25rem 1.4rem;
}
.bp-lead h2{margin:0 0 .35rem;color:var(--bp-navy)}
.bp-empty{
  padding:1.25rem;border:1px dashed var(--bp-line);border-radius:12px;
  color:var(--bp-muted);background:var(--bp-bg-soft);
}

.mc-preview-banner{
  background:#7a1f1f;color:#fff;text-align:center;padding:.65rem 1rem;
  font-weight:700;position:sticky;top:0;z-index:100;
}

@media (max-width:960px){
  .bp-layout{grid-template-columns:1fr}
  .bp-aside{position:static}
}
@media (max-width:640px){
  .bp-models{grid-template-columns:1fr 1fr}
  .bp-option{
    grid-template-columns:auto minmax(0,1fr);
    grid-template-areas:"check text" ". price";
  }
  .bp-option input{grid-area:check}
  .bp-option__text{grid-area:text}
  .bp-option__price{grid-area:price;justify-self:start;margin-top:.2rem}
  .bp-line{grid-template-columns:1fr;gap:.25rem}
  .bp-line__msrp{justify-self:start}
}

/* Preview invariants — banner + form note contrast (scoped) */
.bp-page .form-note{color:var(--bp-muted);font-size:.9rem;line-height:1.45}
.bp-page .bp-summary__head p#bp-summary-model,
.bp-page .bp-summary__head p{opacity:1;color:rgba(255,255,255,.95)}

/* Model family category picker */
.bp-families{
  display:flex;flex-wrap:wrap;gap:.65rem;
  margin:0 0 .85rem;padding:0;
}
.bp-family-tab{
  appearance:none;cursor:pointer;text-align:left;
  border:1px solid var(--bp-line);background:#fff;color:var(--bp-ink);
  border-radius:14px;padding:.7rem .95rem .65rem;
  box-shadow:var(--bp-shadow);min-width:min(100%,220px);flex:1 1 200px;
  transition:border-color .15s,box-shadow .15s,background .15s;
}
.bp-family-tab:hover{border-color:rgba(0,128,126,.45)}
.bp-family-tab:focus-visible{outline:2px solid var(--bp-navy-2);outline-offset:2px}
.bp-family-tab.is-active{
  border-color:var(--bp-navy-2);
  background:linear-gradient(180deg,#e8f7f5,#fff);
  box-shadow:0 0 0 2px rgba(0,128,126,.22),var(--bp-shadow);
}
.bp-family-tab__label{display:block;font-weight:750;font-size:.98rem;color:var(--bp-navy);line-height:1.25}
.bp-family-tab__meta{display:block;margin-top:.2rem;font-size:.8rem;color:var(--bp-muted);line-height:1.3}
.bp-family-heading{
  margin:0 0 .9rem;font-size:1.05rem;font-weight:750;color:var(--bp-navy);
}
@media (max-width:640px){
  .bp-family-tab{flex:1 1 100%;min-width:0}
}
