/* Bencefalo v29 — service-specific purchase forms */

.purchase-brief{
  max-width:980px;margin:28px auto 18px;padding:22px;
  border:1px solid rgba(var(--accent-rgb,164,126,255),.28);
  border-radius:20px;
  background:
    radial-gradient(34rem 20rem at 100% 0%,rgba(var(--accent-rgb,164,126,255),.11),transparent 68%),
    linear-gradient(145deg,rgba(15,12,30,.98),rgba(5,6,14,.98));
  box-shadow:0 24px 60px rgba(0,0,0,.18),inset 3px 0 0 rgba(var(--accent-rgb,164,126,255),.55)
}
.purchase-brief-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.purchase-brief h2{margin:5px 0 0;font-size:34px;line-height:1.05}
.purchase-price{
  flex:0 0 auto;color:#f7df8f;font-size:22px;line-height:1.1;
  text-shadow:0 0 16px rgba(247,223,143,.16)
}
.purchase-facts{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0 12px
}
.purchase-facts>div,.schedule-summary>div{
  padding:13px 14px;border:1px solid rgba(164,126,255,.12);border-radius:13px;
  background:rgba(255,255,255,.018)
}
.purchase-facts b,.schedule-summary b{
  display:block;margin-bottom:5px;color:#d7a9ff;font-size:10px;letter-spacing:.12em;text-transform:uppercase
}
.purchase-facts span,.schedule-summary span{
  display:block;color:#c6c0cf;font-size:12px;line-height:1.55
}
.scope-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.scope-card{
  padding:14px 15px;border-radius:13px;border:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.015)
}
.scope-card b{display:block;margin-bottom:6px;font-size:12px}
.scope-card p{margin:0;color:#a9a2b3;font-size:12px;line-height:1.62}
.scope-yes{border-color:rgba(67,213,163,.16)}
.scope-yes b{color:#70ddba}
.scope-no{border-color:rgba(244,114,182,.15)}
.scope-no b{color:#dda8bd}
.recipient-note{margin:13px 2px 0;color:#817b8b;font-size:10px;line-height:1.55}

.intake-panel,.schedule-panel,.checkout-panel{max-width:980px!important;margin:0 auto!important}
.form-section-title{
  display:flex!important;align-items:center;gap:12px;margin-top:8px!important;
  padding:13px 0 5px;border-top:1px solid rgba(164,126,255,.10)
}
.form-section-title:first-child{border-top:0;margin-top:0!important}
.form-section-title>span{
  width:29px;height:29px;flex:0 0 29px;border-radius:50%;
  display:grid;place-items:center;background:rgba(139,92,246,.16);
  border:1px solid rgba(167,139,250,.28);color:#c99cff;font-size:11px;font-weight:800
}
.form-section-title strong{display:block;color:#f6f1fb;font-size:13px}
.form-section-title small{display:block;margin-top:2px;color:#827c8d;font-size:10px}
.intake-block small,.field>small{
  display:block;margin-top:7px;color:#7f798a;font-size:10px;line-height:1.5
}
.inline-help{
  padding:12px 14px;border:1px solid rgba(96,165,250,.16);border-radius:12px;
  color:#a9a3b3;background:rgba(96,165,250,.045);font-size:11px;line-height:1.6
}
.subgrid{
  grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px;
  padding:0;margin:0;transition:opacity .16s ease
}
.subgrid .full{grid-column:1/-1}
.conditional-muted{opacity:.36}
.check-card.full{grid-column:1/-1}
.check-card{
  display:flex!important;align-items:flex-start!important;gap:10px!important;
  padding:13px 14px!important;border:1px solid rgba(164,126,255,.16)!important;
  border-radius:13px;background:rgba(12,10,24,.66);color:#c9c3d1!important;
  font-size:11px!important;line-height:1.55!important
}
.check-card input{margin-top:2px;flex:0 0 auto;width:auto!important}
.check-card strong{display:block;color:#f1edf7;font-size:12px}
.check-card small{display:block;margin-top:3px;color:#8d8797}
.extras-box{
  border-color:rgba(247,223,143,.18)!important;
  background:
    radial-gradient(20rem 10rem at 0 0,rgba(247,223,143,.045),transparent 70%),
    rgba(12,10,24,.66)!important
}
.extras-box>.eyebrow{margin-bottom:5px}
.extra-q{margin-top:12px}
.terms-check{margin-top:7px!important;border-color:rgba(192,132,252,.23)!important}
.inline-link{
  display:inline!important;width:auto!important;padding:0!important;margin:0 2px!important;
  border:0!important;background:none!important;color:#c48cff!important;
  font:inherit!important;font-weight:750!important;text-decoration:underline;text-underline-offset:2px;cursor:pointer!important
}
#intakeMsg:empty{display:none}

.schedule-summary{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:14px
}

.checkout-reminder{
  padding:15px 16px;margin-bottom:16px;border:1px solid rgba(164,126,255,.17);
  border-radius:14px;background:rgba(12,10,25,.62)
}
.checkout-reminder p{margin:5px 0;color:#aaa4b5;font-size:12px;line-height:1.58}
.checkout-reminder p strong{color:#f1edf7}
.checkout-reminder small{display:block;margin-top:7px;color:#80798b;line-height:1.55}
.checkout-consents{
  display:grid;gap:9px;margin-top:18px
}
.checkout-consents label{
  display:flex;align-items:flex-start;gap:8px;color:#aaa4b5;font-size:11px;line-height:1.55
}
.checkout-consents input{margin-top:2px}

.terms-modal[hidden]{display:none!important}
.terms-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:22px}
.terms-modal-backdrop{position:absolute;inset:0;background:rgba(1,1,6,.82);backdrop-filter:blur(8px)}
.terms-modal-card{
  position:relative;z-index:1;width:min(720px,100%);max-height:min(82vh,760px);overflow:auto;
  padding:28px;border:1px solid rgba(192,132,252,.25);border-radius:20px;
  background:linear-gradient(145deg,#100b1d,#05060d 72%);box-shadow:0 35px 100px rgba(0,0,0,.62)
}
.terms-modal-card h2{margin:4px 0 15px;font-size:30px}
.terms-modal-card p{color:#aaa4b5;font-size:12px;line-height:1.72}
.terms-modal-close{
  position:absolute;right:14px;top:12px;width:34px!important;height:34px;padding:0!important;
  display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.09)!important;
  border-radius:50%!important;background:rgba(255,255,255,.025)!important;color:#ded8e7!important;font-size:20px!important
}
body.modal-open{overflow:hidden}

@media(max-width:760px){
  .purchase-brief{padding:18px;margin-top:20px}
  .purchase-brief-top{display:block}
  .purchase-price{display:block;margin-top:9px}
  .purchase-brief h2{font-size:29px}
  .purchase-facts,.scope-grid,.schedule-summary,.subgrid{grid-template-columns:1fr}
  .subgrid{gap:12px}
  .terms-modal{padding:12px}
  .terms-modal-card{padding:22px 17px 20px;max-height:88vh}
  .terms-modal-card h2{font-size:26px;padding-right:32px}
}