/* booking-blanc.css — design study (2026-09-23). Every selector from the live booking.css is kept
   (the booking scripts render into these classes); only the visual language changes to "blanc":
   white ground, hairlines, square corners, ink instead of green, Schibsted Grotesk weights 400–600.
   Loads after blanc.css (tokens, nav, header.page, footer, form controls). */

header.page{padding:80px 0 48px}
header.page p{max-width:540px}
.booking{padding:56px 0 96px}
.bgrid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:start}
@media(max-width:920px){.bgrid{grid-template-columns:1fr;gap:40px}}
.steps{display:flex;flex-direction:column;gap:48px}
.step{border-top:1px solid var(--ink);padding-top:18px}
.step .sh{display:flex;align-items:baseline;gap:14px;margin-bottom:18px}
.step .num{font-size:13px;color:var(--sub);flex-shrink:0;font-variant-numeric:tabular-nums}
.step h2{font-size:20px;font-weight:500;letter-spacing:-.015em;margin:0;max-width:none}
.pills{display:flex;flex-wrap:wrap;gap:10px}
/* <a> pills keep the browser underline on purpose (MK 2026-07-19): an underlined pill signals
   "this one leaves the page" — Corporate & Custom navigates away, the <button> pills don't. */
.pill{font-size:14px;font-weight:400;padding:11px 18px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;font-family:inherit;transition:border-color .15s}
.pill.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.pill:hover:not(.on){border-color:var(--ink)}
.fieldrow{display:flex;flex-wrap:wrap;gap:14px;max-width:460px}
.hint{font-size:13px;color:var(--sub);margin-top:8px;line-height:1.5;max-width:460px}
.sublabel{display:block;font-size:13px;color:var(--sub);margin:20px 0 8px}
.inout{display:flex;gap:10px;flex-wrap:wrap}
.inout .pill{font-size:14px}
.datebtn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;height:46px;padding:0 14px;background:#fff;border:1px solid var(--line);font-size:15px;cursor:pointer;font-family:inherit;color:var(--ink)}
.datebtn:hover{border-color:var(--ink)}
.datebtn svg{stroke:var(--sub)}
.datebtn.empty #datebtnlabel{color:var(--faint)}
.calpop{position:absolute;top:74px;left:0;z-index:30;width:300px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(0,0,0,.08);padding:16px}
.calhead{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.calhead b{font-size:14px;font-weight:500;letter-spacing:-.01em}
.caltitle{font-size:14px;font-weight:500;letter-spacing:-.01em;background:none;border:none;cursor:pointer;font-family:inherit;color:var(--ink);padding:5px 10px}
.caltitle:hover{background:var(--soft)}
.calmonths{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.calmonth{height:46px;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:500;background:none;border:1px solid transparent;color:var(--ink);cursor:pointer;font-family:inherit}
.calmonth.past{color:var(--faint);cursor:default;pointer-events:none}
.calmonth.cur{border-color:var(--ink)}
.calmonth.sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.calmonth:not(.past):not(.sel):hover{background:var(--soft)}
/* time picker — our own 10-min list (the native step= only drives the spinner, not Chrome's dropdown) */
.timewrap{position:relative}
#b-time{padding-right:36px}
#b-time::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}
.timebtn{position:absolute;right:9px;top:50%;transform:translateY(-50%);width:24px;height:24px;border:none;background:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.timebtn svg{stroke:var(--sub)}
.timebtn:hover svg{stroke:var(--ink)}
.timepop{position:absolute;top:74px;right:0;z-index:30;width:206px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px rgba(0,0,0,.08);padding:8px}
.timecols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}
.timecol{max-height:198px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.timecol::-webkit-scrollbar{width:6px}
.timecol::-webkit-scrollbar-thumb{background:var(--line)}
.timecol::-webkit-scrollbar-track{background:transparent}
.timeopt{width:100%;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:none;font-size:13px;font-family:inherit;color:var(--ink);cursor:pointer;flex-shrink:0}
.timeopt:hover{background:var(--soft)}
.timeopt.sel{background:var(--ink);color:#fff;font-weight:500}
.calnav{width:30px;height:30px;border:none;background:none;font-size:18px;color:var(--ink);cursor:pointer;font-family:inherit}
.calnav:hover:not([disabled]){background:var(--soft)}
.calnav[disabled]{color:var(--faint);cursor:default}
.calweek{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}
.calweek span{text-align:center;font-size:11px;color:var(--sub);padding:4px 0}
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}
.calcell{height:38px;display:flex;align-items:center;justify-content:center;font-size:13px;font-family:inherit;font-weight:400;background:none;border:1px solid transparent;color:var(--ink);cursor:pointer}
.calcell.empty{pointer-events:none}
.calcell.past{color:var(--faint);cursor:default;pointer-events:none}
.calcell.today{border-color:var(--ink)}
.calcell.sel{background:var(--ink);color:#fff;font-weight:500;border-color:var(--ink)}
.calcell:not(.past):not(.sel):not(.empty):hover{background:var(--soft)}
/* option cards — hairline boxes, ink ring when chosen */
.cards{display:grid;gap:12px}
.ens-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.pkg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
/* four cards only on a marriage proposal (the 45-minute set, MK 2026-10-10): two by two until wide */
.pkg-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:1100px){.pkg-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:560px){.pkg-grid,.pkg-grid.four{grid-template-columns:1fr}}
.card{text-align:left;background:#fff;border:1px solid var(--line);padding:18px 16px 20px;cursor:pointer;font-family:inherit;color:var(--ink);display:flex;flex-direction:column;transition:border-color .15s}
.card:hover:not(.on){border-color:var(--ink)}
.card.on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.card .det{font-size:12px;color:var(--sub)}
.card .nm{font-size:18px;font-weight:500;letter-spacing:-.02em;margin:8px 0 8px;line-height:1.15}
.card .from{font-size:13px;color:var(--sub)}
.card .who{font-size:12px;color:var(--sub);line-height:1.35;margin:-2px 0 10px}
.card .parts{display:flex;flex-direction:column;gap:4px;margin:10px 0 12px}
.card .parts span{font-size:12px;color:var(--sub);line-height:1.3}
.card .songs{font-size:13px;color:var(--ink);margin-bottom:6px}
.card .price{font-size:22px;font-weight:500;letter-spacing:-.02em;margin-top:auto}
.card .min{font-size:12px;color:var(--sub);white-space:nowrap}
.card .pkg-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.addtime{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;border:1px solid var(--line);background:#fff;padding:18px 20px;margin-top:16px}
.addtime .lbl{flex:1;min-width:220px}
.addtime .lbl b{font-size:14px;font-weight:500}
.addtime .lbl p{font-size:13px;color:var(--sub);margin-top:4px;line-height:1.5}
.stepper{display:flex;align-items:center;border:1px solid var(--line);overflow:hidden;background:#fff}
.stepper button{width:44px;height:44px;background:none;border:none;font-size:20px;color:var(--ink);cursor:pointer}
.stepper button:hover{background:var(--soft)}
.stepper .val{width:92px;text-align:center;font-size:14px;font-weight:500}
.notes{margin-top:18px;display:flex;flex-direction:column;gap:6px}
.notes span{font-size:13px;color:var(--sub);line-height:1.5}
/* estimate box */
.summary{position:sticky;top:88px;background:#fff;border:1px solid var(--ink);padding:30px}
.summary .k{font-size:13px;color:var(--sub);margin-bottom:22px;display:block}
.srow{display:flex;justify-content:space-between;gap:12px;font-size:14px;margin-bottom:13px}
.srow span.l{color:var(--sub)}
.srow.small{font-size:13px}.srow.small span{color:var(--sub)}
.sdiv{height:1px;background:var(--line);margin:22px 0}
.stotal{display:flex;justify-content:space-between;align-items:baseline}
.stotal .l{font-size:14px;color:var(--sub)}
.stotal .v{font-size:32px;font-weight:500;letter-spacing:-.025em}
.sdep{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px}
.sdep .l{font-size:13px;color:var(--sub)}
.sdep .v{font-size:15px;font-weight:500;color:var(--ink)}
.summary .go{width:100%;margin-top:24px;height:52px;background:var(--ink);color:#fff;border:none;font-size:15px;font-weight:500;cursor:pointer;text-align:center;display:flex;align-items:center;justify-content:center;transition:opacity .15s}
.summary .go:hover{opacity:.82}
.summary .fine{font-size:13px;color:var(--sub);line-height:1.55;margin-top:14px;text-align:center}
/* music selector */
.music{border-top:1px solid var(--line);padding:96px 0}
@media(max-width:700px){.music{padding:64px 0}}
.music h2{font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.025em;margin:12px 0 14px;max-width:none}
.music p{font-size:16px;color:var(--sub);max-width:600px;margin-bottom:24px}
.music a.browse{display:inline-block;font-size:14px;font-weight:500;color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px}
.music .simp{font-size:13px;color:var(--sub);margin-top:18px;max-width:620px;line-height:1.6}
/* music selector — moments + drag & drop */
.mhead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.mback{font-size:13px;font-weight:500;color:var(--sub);background:none;border:none;cursor:pointer;font-family:inherit;padding:8px 0}
.mback:hover{color:var(--ink)}
.msub-label{font-size:13px;color:var(--sub);margin:36px 0 14px;padding-bottom:10px;border-bottom:1px solid var(--ink)}
/* ~6 sets (2 rows) visible, the rest on scroll — keeps the page length fixed as sets grow */
.mpresets{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;align-content:start;max-height:318px;overflow-y:auto;overflow-x:hidden;margin-right:-8px;padding-right:8px}
.mpresets::-webkit-scrollbar{width:6px}
.mpresets::-webkit-scrollbar-thumb{background:var(--line)}
.mpresets::-webkit-scrollbar-track{background:transparent}
@media(max-width:720px){.mpresets{grid-template-columns:1fr;max-height:340px}}
.mscrollhint{font-size:12px;color:var(--sub);margin-top:10px}
.mpreset{text-align:left;font-family:inherit;background:#fff;border:1px solid var(--line);padding:18px;cursor:pointer;color:var(--ink);transition:border-color .15s}
.mpreset:hover{border-color:var(--ink)}
.mpreset b{display:block;font-size:16px;font-weight:500;letter-spacing:-.01em;margin-bottom:8px}
.mpreset p{font-size:13px;color:var(--sub);line-height:1.5;margin:0 0 12px}
.mpreset .meta{font-size:12px;color:var(--sub)}
.mpop{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
@media(max-width:900px){.mpop{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.mpop{grid-template-columns:repeat(2,minmax(0,1fr))}}
.mpick{text-align:left;background:#fff;border:1px solid var(--line);padding:14px;cursor:pointer;font-family:inherit;color:var(--ink);transition:border-color .15s}
.mpick:hover{border-color:var(--ink)}
.mpick.sel{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.mpick .pt{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.mpick .pt b{font-size:13.5px;font-weight:500;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.mpick .pb{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:14px;display:flex;align-items:center;justify-content:center;line-height:1}
.mpick.sel .pb{background:var(--ink);color:#fff;border-color:var(--ink)}
.mpick small{display:block;font-size:11.5px;color:var(--sub);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpick .pg{font-size:11px;color:var(--sub);margin-top:12px}
.mgrid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start;margin-top:24px}
@media(max-width:820px){.mgrid{grid-template-columns:minmax(0,1fr)}}
.mgenres{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.mchip-g{border:1px solid var(--line);background:#fff;padding:8px 15px;font-size:13px;font-weight:400;cursor:pointer;color:var(--ink);font-family:inherit;transition:border-color .15s}
.mchip-g:hover:not(.on){border-color:var(--ink)}
.mchip-g.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.msearch{width:100%;height:46px;padding:0 14px;background:#fff;border:1px solid var(--line);font-size:15px;color:var(--ink);outline:none;font-family:inherit;margin-bottom:14px}
.msearch:focus{border-color:var(--ink)}
.mlist{background:#fff;border:1px solid var(--line);max-height:460px;overflow-y:auto}
.mlist::-webkit-scrollbar{width:6px}.mlist::-webkit-scrollbar-thumb{background:var(--line)}
.mrow{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--line);cursor:grab}
.mrow:last-child{border-bottom:none}
.mrow.dragging{opacity:.4}
.mrow .mt{flex:1;min-width:0}
.mrow .mt b{font-size:14px;font-weight:500;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mrow .mt small{font-size:12px;color:var(--sub)}
.mrow .madd{flex-shrink:0;width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;font-family:inherit}
.mrow .madd:hover{border-color:var(--ink)}
.mrow.sel .madd{background:var(--ink);color:#fff;border-color:var(--ink)}
/* full width under the grid — `.music .mrep-note` outranks the section's `.music p{max-width:600px}` */
.music .mrep-note{font-size:13px;line-height:1.6;color:var(--sub);margin:22px 0 0;padding:14px 0 0;border-top:1px solid var(--line);max-width:none}
.music .mrep-note b{color:var(--ink);font-weight:500}
/* "can't find it?" request box — a real choice alongside the list, not a footnote */
.mreq{margin-top:22px}
.mreqlabel{display:block;font-size:14px;font-weight:500;line-height:1.5;color:var(--ink);margin-bottom:8px}
.mreqbox{width:100%;padding:12px 14px;background:#fff;border:1px solid var(--line);font-size:15px;line-height:1.5;color:var(--ink);outline:none;font-family:inherit;resize:vertical;display:block;height:auto}
.mreqbox:focus{border-color:var(--ink)}
.mcue-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.mcue-title{font-size:17px;font-weight:500;letter-spacing:-.02em}
.mcount{font-size:13px;font-weight:500;color:var(--ink);font-variant-numeric:tabular-nums}
.mcount.over{color:#9B2C2C}
.mremaining{font-size:13px;color:var(--sub);margin-bottom:16px}
/* "let us fill the rest" — hands the empty slots to us instead of auto-picking songs */
.mcurate{display:flex;align-items:flex-start;gap:11px;width:100%;text-align:left;background:#fff;border:1px solid var(--line);padding:13px 14px;margin:12px 0;cursor:pointer;font-family:inherit;color:var(--ink);transition:border-color .15s}
.mcurate:hover{border-color:var(--ink)}
.mcurate.on{border-color:var(--ink)}
.mcurate-box{flex-shrink:0;width:18px;height:18px;border:1px solid var(--ink);background:#fff;margin-top:1px;position:relative}
.mcurate.on .mcurate-box{background:var(--ink)}
.mcurate.on .mcurate-box::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.mcurate-txt b{display:block;font-size:14px;font-weight:500;letter-spacing:-.01em}
.mcurate-txt small{display:block;font-size:12px;color:var(--sub);line-height:1.5;margin-top:3px}
.moment.curated .moment-songs{opacity:.95}
.moment-curated{font-size:12px;color:var(--sub);font-style:italic;padding:11px 4px;text-align:center;border:1px dashed var(--ink)}
.mmoments{display:flex;flex-direction:column;gap:12px}
.moment{padding:16px;background:#fff;border:1px solid var(--line);cursor:pointer;transition:border-color .15s,background .15s}
.moment.active{border-color:var(--ink)}
.moment.drag{border-color:var(--ink);border-style:dashed;background:var(--soft)}
.moment-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.moment-label{font-size:12px;font-weight:500;color:var(--ink);cursor:text}
.moment-rename{font-size:12px;font-weight:500;color:var(--ink);background:#fff;border:1px solid var(--ink);padding:4px 8px;outline:none;max-width:180px;font-family:inherit;height:auto;width:auto}
.moment-count{font-size:12px;color:var(--sub);white-space:nowrap;transition:color .15s;font-variant-numeric:tabular-nums}
.moment-count.full{color:var(--ink);font-weight:500}
.moment-songs{display:flex;flex-direction:column;gap:7px}
.csong{display:flex;align-items:center;gap:10px;background:var(--soft);border:1px solid transparent;padding:9px 11px;cursor:grab}
.csong.dragging{opacity:.4}
.csong .grip{color:var(--faint);font-size:13px;line-height:1;letter-spacing:-2px;flex-shrink:0}
.csong .ci{flex:1;min-width:0}
.csong .ci b{font-size:13px;font-weight:500;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csong .ci small{font-size:11px;color:var(--sub)}
.csong .crm{width:24px;height:24px;border:none;background:none;color:var(--faint);font-size:18px;line-height:1;cursor:pointer;flex-shrink:0}
.csong .crm:hover{color:var(--ink)}
.moment-empty{font-size:12px;color:var(--sub);padding:12px 4px;text-align:center;border:1px dashed var(--line)}
.moment-remove{margin-top:10px;font-size:11px;color:var(--sub);background:none;border:none;cursor:pointer;padding:0;font-family:inherit}
.moment-remove:hover{color:var(--ink)}
.maddmoment{width:100%;margin-top:12px;height:44px;background:#fff;color:var(--ink);border:1px dashed var(--faint);font-size:13px;font-weight:500;cursor:pointer;font-family:inherit}
.maddmoment:hover{border-color:var(--ink)}
.mloading{padding:30px 0;text-align:center;font-size:14px;color:var(--sub)}
/* review + confirmation */
.wrap-narrow{max-width:680px;margin:0 auto;padding:0 40px}
@media(max-width:700px){.wrap-narrow{padding:0 20px}}
.review,.confirm{padding:64px 0 96px;border-top:1px solid var(--line)}
.rvhead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:28px}
.rvtitle{font-size:clamp(28px,3vw,40px);font-weight:500;letter-spacing:-.025em;margin:12px 0 0;max-width:none}
.rvcard{background:#fff;border:1px solid var(--line);padding:24px;margin-bottom:16px}
.rvrow{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:6px 0}
.rvrow .l{color:var(--sub)}.rvrow .v{font-weight:500;text-align:right}
.rvdiv{height:1px;background:var(--line);margin:14px 0}
.rvtotal{display:flex;justify-content:space-between;align-items:baseline}
.rvtotal .l{font-size:15px;font-weight:500}.rvtotal .v{font-size:22px;font-weight:500;letter-spacing:-.02em}
.rvsub{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px}
.rvsub span:first-child{font-size:13px;color:var(--sub)}
.rvsub span:last-child{font-size:12px;color:var(--sub)}
.rvmoment{margin-bottom:14px}
.rvmoment .mm{font-size:12px;font-weight:500;margin-bottom:8px}
.rvmoment .ms{font-size:13px;color:var(--sub);padding:8px 12px;background:var(--soft);margin-bottom:6px}
.rvfield{margin-bottom:24px}
.rvfield>label{display:block;font-size:13px;color:var(--sub);margin-bottom:10px}
.rvfield textarea{width:100%;min-height:110px;resize:vertical;padding:14px;background:#fff;border:1px solid var(--line);font-size:14px;line-height:1.6;color:var(--ink);outline:none;font-family:inherit}
.rvfield textarea:focus{border-color:var(--ink)}
.rvhint{font-size:13px;color:var(--sub);margin:0 0 10px}
.rvsublabel{font-size:13px;color:var(--sub);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--ink)}
.frow2{margin-bottom:14px}.frow2.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.frow2.two{grid-template-columns:1fr}}
.rvreserve{width:100%;height:52px;border:none;font-size:15px;font-weight:500;background:var(--ink);color:#fff;cursor:pointer;font-family:inherit;transition:opacity .15s}
.rvreserve:hover{opacity:.82}
.rvreserve[disabled]{opacity:.4;cursor:not-allowed}
.rvnote{font-size:13px;color:var(--sub);line-height:1.55;margin:12px 0 0;text-align:center}
.cfcard{background:#fff;border:1px solid var(--line);padding:clamp(32px,5vw,52px);text-align:center}
.cfck{width:60px;height:60px;border-radius:50%;border:1px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:26px;margin:0 auto 24px}
.cftitle{font-size:clamp(26px,3vw,36px);font-weight:500;letter-spacing:-.025em;margin:0 0 14px;max-width:none}
.cfsub{font-size:16px;line-height:1.6;color:var(--sub);max-width:460px;margin:0 auto 28px}
.cfcard .rvcard{text-align:left}
.cfrow{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:8px}
.cfdone{font-size:15px;font-weight:500;color:#fff;background:var(--ink);border:none;padding:15px 32px;cursor:pointer;font-family:inherit;transition:opacity .15s}
.cfdone:hover{opacity:.82}
/* upgrade prompt */
.nsmodal{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;padding:24px;backdrop-filter:blur(2px)}
.nsmodal-box{background:#fff;border:1px solid var(--line);padding:32px;max-width:440px;width:100%;box-shadow:0 24px 60px rgba(0,0,0,.18)}
.nsmodal-k{font-size:13px;color:var(--sub);margin-bottom:12px}
.nsmodal-box h3{font-size:22px;font-weight:500;letter-spacing:-.02em;margin:0 0 10px;line-height:1.25}
.nsmodal-box p{font-size:14px;line-height:1.6;color:var(--sub);margin:0 0 20px}
.uprows{border-top:1px solid var(--ink);padding:14px 0;margin-bottom:22px}
.uprow{display:flex;justify-content:space-between;gap:12px;font-size:14px;padding:5px 0;color:var(--sub)}
.uprow.to{color:var(--ink);font-weight:500}
.updiff{font-size:12px;color:var(--ink);text-align:right;margin-top:6px;padding-top:8px;border-top:1px solid var(--line)}
.upbtns{display:flex;gap:10px}
.upno{flex:0 1 auto;height:46px;padding:0 18px;background:none;border:1px solid var(--line);font-size:14px;font-weight:500;color:var(--sub);cursor:pointer;font-family:inherit;white-space:nowrap}
.upno:hover{border-color:var(--ink);color:var(--ink)}
.upyes{flex:1;height:46px;background:var(--ink);color:#fff;border:none;font-size:14px;font-weight:500;cursor:pointer;font-family:inherit}
.upyes:hover{opacity:.82}
/* ── Music optional-first (booking redesign 2026-08-25): ghost CTA in the
   quote box, reassurance banner, collapsed-by-default selector ── */
.go--ghost{background:#fff !important;color:var(--ink) !important;border:1px solid var(--ink) !important;margin-top:10px;white-space:nowrap}
.optchip{display:inline-block;font-size:10px;background:none;border:1px solid var(--line);padding:2px 8px;margin:0 4px;color:var(--sub);line-height:1.4}
.optbadge{font-size:12px;letter-spacing:.04em;text-transform:none;color:var(--sub);font-weight:400;border:1px solid var(--line);padding:3px 10px;vertical-align:middle;margin-left:10px}
.mreassure{border:1px solid var(--line);border-left:2px solid var(--ink);padding:16px 18px;font-size:14.5px;line-height:1.65;color:var(--sub);margin:6px 0 18px}
.mreassure b{color:var(--ink);font-weight:500}
.mreassure-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.mskip{padding:11px 18px;border:0;background:var(--ink);color:#fff;font-weight:500;font-size:13.5px;cursor:pointer;font-family:inherit;transition:opacity .15s}
.mskip:hover{opacity:.82}
.mexpand{padding:11px 18px;border:1px solid var(--ink);background:transparent;color:var(--ink);font-weight:500;font-size:13.5px;cursor:pointer;font-family:inherit}
.mcollapsed{display:none}
