
:root{--mg:#195e5d;--mr:#a32228;--soft:#f7f7f7}
.mana-builder{width:min(1280px,calc(100vw - 96px));max-width:none;margin:0;margin-left:50%;transform:translateX(-50%);padding:42px;background:#fff;border-radius:32px;box-shadow:0 14px 42px rgba(0,0,0,.08);color:var(--mg);box-sizing:border-box}
.mana-builder h2{text-align:center;font-size:42px;margin:0 0 8px}.lead{text-align:center;opacity:.8;margin:0 0 28px}
.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 34px}
.choice-card{border:2px solid #ddd;border-radius:24px;overflow:hidden;background:#fff;cursor:pointer;transition:.18s}
.choice-card.active{border-color:var(--mr);box-shadow:0 0 0 5px rgba(163,34,40,.09);transform:translateY(-2px)}
.choice-card img{width:100%;height:220px;object-fit:cover;display:block}
.cap{padding:18px;line-height:1.45}.cap strong{display:block;font-size:22px;margin:4px 0}
.badge{display:inline-block;background:#111;color:#fff;padding:6px 12px;border-radius:999px;font-size:11px;font-weight:700}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}.full{grid-column:1/-1}
.section-title{grid-column:1/-1;margin-top:12px;padding-top:14px;border-top:1px solid #e7e7e7;font-size:18px;font-weight:800}
label{display:block;font-weight:700;margin:0 0 8px;letter-spacing:.06em;text-transform:lowercase}
input[type=number],select{width:100%;box-sizing:border-box;padding:15px 52px 15px 16px;border:2px solid var(--mg);border-radius:16px;background:#fff;color:#555;font-size:16px}
select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,var(--mr) 50%),linear-gradient(135deg,var(--mr) 50%,transparent 50%);background-position:calc(100% - 28px) 50%,calc(100% - 17px) 50%;background-size:11px 11px,11px 11px;background-repeat:no-repeat}
select:disabled,input:disabled{opacity:.55;cursor:not-allowed;background-color:#f2f2f2}.locked-note{font-size:13px;color:var(--mr);margin-top:6px;font-weight:700;display:none}
.check-row{display:flex!important;gap:12px;align-items:flex-start;margin:16px 0 0!important;font-weight:600!important;line-height:1.35;text-transform:none;letter-spacing:normal}
.check-row input[type=checkbox]{appearance:none;-webkit-appearance:none;width:26px;height:26px;min-width:26px;border:3px solid var(--mr);border-radius:3px;margin:0;background:#fff;cursor:pointer;position:relative}
.check-row input[type=checkbox]:checked{background:var(--mr)}.check-row input[type=checkbox]:checked:after{content:"✓";color:#fff;font-size:20px;font-weight:900;position:absolute;left:3px;top:-3px}
.help{font-size:13px;opacity:.72;margin-top:6px}
.quote-cards{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:20px;margin-top:34px;align-items:stretch}
.quote-card{background:var(--soft);border-radius:24px;padding:24px;text-align:center;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;box-sizing:border-box}
.quote-card.featured{background:#fff;border:2px solid #111}.price{font-size:38px;font-weight:900;color:var(--mg)}.featured .price{color:var(--mr)}
.quote-card ul{list-style:none;padding:0;margin:10px 0;line-height:1.7}.selected-note{display:inline-block;margin-top:8px;padding:5px 10px;border-radius:999px;background:rgba(163,34,40,.12);color:var(--mr);font-size:12px;font-weight:800}
.note{margin-top:22px;font-size:13px;opacity:.76}
@media(max-width:900px){.mana-builder{width:calc(100vw - 32px);padding:26px}.choice-grid,.form-grid,.quote-cards{grid-template-columns:1fr}.choice-card img{height:230px}}


/* v1.5.2 layout safety fixes */
.mana-builder{
  max-width:1180px !important;
  width:min(1180px, calc(100vw - 40px)) !important;
  margin-left:50% !important;
  transform:translateX(-50%) !important;
  overflow:hidden;
}

.quote-cards{
  grid-template-columns:repeat(3, minmax(0, 1fr)) !important;
  gap:16px !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden;
}

.quote-card{
  min-width:0 !important;
  width:100% !important;
  padding:20px 14px !important;
}

.quote-card h3{
  font-size:clamp(20px, 2vw, 26px) !important;
  line-height:1.15 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

.quote-card ul{
  font-size:14px !important;
  line-height:1.55 !important;
}

.quote-card .price{
  font-size:clamp(28px, 3vw, 38px) !important;
}

.mana-builder .check-row input[type="checkbox"]{
  display:inline-block !important;
  opacity:1 !important;
  visibility:visible !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  width:26px !important;
  height:26px !important;
  min-width:26px !important;
  border:3px solid var(--mr) !important;
  border-radius:3px !important;
  background:#fff !important;
  position:relative !important;
  margin:0 10px 0 0 !important;
}

.mana-builder .check-row input[type="checkbox"]:checked{
  background:var(--mr) !important;
}

.mana-builder .check-row input[type="checkbox"]:checked:after{
  content:"✓" !important;
  color:#fff !important;
  font-size:20px !important;
  font-weight:900 !important;
  position:absolute !important;
  left:3px !important;
  top:-4px !important;
}

@media(max-width:760px){
  .quote-cards{
    grid-template-columns:1fr !important;
  }
}

/* v1.5.4 minor conditional UI polish */
#vinylColourWrap{transition:.15s ease;}
