/* studio.css — business switcher, inventory, the proposal designer */
.biz { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 8px 10px; margin: 0 0 10px; transition: border-color .15s; }
.biz:hover { border-color: var(--line-2); }
.biz-ic { width: 32px; height: 32px; border-radius: 9px; background: linear-gradient(135deg, rgba(61,123,255,.25), rgba(139,92,246,.25)); display: grid; place-items: center; font-size: 16px; flex: none; }
.biz-t { min-width: 0; }
.biz-t b { display: block; font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.biz-t span { display: block; font-size: 10px; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.design { display: grid; grid-template-columns: minmax(380px, 1fr) minmax(420px, 1.1fr); gap: 14px; align-items: start; }
.design-l { display: grid; gap: 10px; }
.design-r { position: sticky; top: 12px; }
.blk .card-h h3 .tag { margin-right: 4px; }
.pkg-row { display: grid; grid-template-columns: 1.2fr 80px 1.4fr 1.6fr auto auto; gap: 6px; align-items: center; margin-bottom: 6px; }
.pkg-row.ad { grid-template-columns: 1.2fr 80px 1.6fr auto; }
.pkg-row input:not([type=checkbox]) { background: var(--bg-2); border: 1px solid var(--line); border-radius: 8px; color: var(--ink); padding: 7px 9px; font: inherit; font-size: 12px; min-width: 0; }
.pkg-row .check { font-size: 11px; white-space: nowrap; }
input[type=color] { width: 52px; height: 38px; border: 1px solid var(--line-2); border-radius: 9px; background: var(--bg-2); cursor: pointer; padding: 2px; }
@media (max-width: 1100px) { .design { grid-template-columns: 1fr; } .design-r { position: static; } .pkg-row, .pkg-row.ad { grid-template-columns: 1fr 1fr; } }

/* modules the business does not use stay out of the rail */
.rail .nav-l[hidden], .rail .rail-sec[hidden] { display: none !important; }

/* ---------- emails: the flow editor ---------- */
.em-wrap{display:grid;grid-template-columns:300px 1fr;gap:12px;align-items:start}
.em-list{padding:8px}
.em-group{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:10px 10px 4px}
.em-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:9px;cursor:pointer}
.em-item:hover{background:var(--bg-2)}
.em-item.on{background:var(--bg-2);box-shadow:inset 0 0 0 1px var(--line-2)}
.em-item b{display:block;font-size:12.5px}
.em-item span{display:block;font-size:10.5px;color:var(--ink-3);line-height:1.4}
.em-item span i{color:var(--blue);font-style:normal}
.em-item.off b{color:var(--ink-3);text-decoration:line-through}
.em-main{display:grid;gap:12px}
.em-vars{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}
.em-vars .chip-btn{font-family:ui-monospace,monospace;font-size:10.5px;padding:3px 8px}
.em-preview iframe{width:100%;height:640px;border:1px solid var(--line-2);border-radius:10px;background:#F3F1EC}
.pic-row{display:flex;align-items:center;gap:8px}
.pic-row input:not([type=file]){flex:1;min-width:0}
.pic-thumb{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--line-2);flex:none}
.pic-thumb.empty{display:inline-flex;align-items:center;justify-content:center;font-size:9px;color:var(--ink-3);background:var(--bg-2)}
.sw{position:relative;width:34px;height:20px;flex:none;cursor:pointer;display:inline-block}
.sw input{position:absolute;opacity:0;width:0;height:0}
.sw i{position:absolute;inset:0;background:var(--line-2);border-radius:999px;transition:background .15s}
.sw i::after{content:'';position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}
.sw input:checked+i{background:var(--blue)}
.sw input:checked+i::after{transform:translateX(14px)}
@media (max-width:900px){.em-wrap{grid-template-columns:1fr}}
/* ---------- the first conversation ---------- */
.consult-card .cc-p{font-size:12.5px;color:var(--ink-2);line-height:1.65;margin:0 0 12px}
.cc-quote{font-size:12.5px;line-height:1.6;color:var(--ink);background:var(--bg-2);border-left:3px solid var(--blue);border-radius:8px;padding:10px 12px;margin-bottom:12px;font-style:italic;white-space:pre-line}
.cc-fields{display:flex;flex-wrap:wrap;gap:6px;margin:-4px 0 12px}.cc-fields span{font-size:11.5px;background:var(--bg-2);border:1px solid var(--line);border-radius:999px;padding:4px 10px}.cc-fields i{font-style:normal;color:var(--ink-3);margin-right:5px}
.cc-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.cc-time{font-size:16px;font-weight:600;margin:4px 0 12px}
.cc-time small{display:block;font-size:10.5px;color:var(--ink-3);font-weight:400;margin-top:2px}
.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;max-height:320px;overflow:auto;padding:2px}
.slot-day{display:flex;flex-direction:column;gap:5px;background:var(--bg-2);border-radius:10px;padding:8px}
.slot-day b{font-size:11px}.slot-day>span{font-size:10px;color:var(--ink-3);margin-bottom:3px}
.slot{font:inherit;font-size:11px;padding:5px 6px;border-radius:7px;border:1px solid var(--line-2);background:transparent;color:var(--ink-3);cursor:pointer;text-decoration:line-through}
.slot.on{background:var(--card);color:var(--ink);text-decoration:none;border-color:var(--blue)}
.cc-days{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.cc-day{font-size:12px;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);cursor:pointer;color:var(--ink-3)}
.cc-day input{display:none}.cc-day.on{background:var(--grad);color:#fff;border-color:transparent}

/* ---------- the enquiry form: preview + builder ---------- */
.emb-pv { position: relative; background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--line-2); }
.emb-pv iframe { width: 100%; height: 520px; border: 0; display: block; background: #fff; }
.emb-btns { margin-top: 10px; }
.emb .ob-code { margin-top: 10px; }
.ob-two-wide { grid-template-columns: 1.35fr 1fr; }
.modal.wide { max-width: 1080px; }
.fb-wrap { display: grid; grid-template-columns: 1.1fr 1fr; gap: 16px; align-items: start; max-height: 68vh; }
.fb-side { overflow: auto; max-height: 68vh; padding-right: 6px; }
.fb-pv { position: sticky; top: 0; background: #fff; border-radius: 12px; overflow: hidden; border: 1px solid var(--line-2); }
.fb-pv iframe { width: 100%; height: 68vh; border: 0; display: block; }
.fb-top { margin-bottom: 12px; }
.fb-h { font-size: 12px; font-weight: 700; margin: 14px 0 8px; } .fb-h small { font-weight: 400; color: var(--ink-3); margin-left: 6px; }
.fb-list { display: grid; gap: 6px; }
.fb-row { display: grid; grid-template-columns: auto minmax(150px, 1fr) auto auto auto; gap: 8px; align-items: center; background: var(--bg-2); border-radius: 9px; padding: 7px 9px; }
.fb-row .fb-opts { grid-column: 2 / -1; }
.fb-row.off { opacity: .55; }
.fb-row input { min-width: 0; font-size: 12px; padding: 6px 8px; }
.fb-type { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); white-space: nowrap; }
.fb-req { font-size: 11px; white-space: nowrap; margin: 0; }
.fb-core { font-size: 10px; color: var(--ink-3); white-space: nowrap; }
.fb-add { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; margin-top: 12px; }
.dev-badge { font-size: 9px; letter-spacing: .16em; background: #F59E0B; color: #1E1B16; border-radius: 6px; padding: 3px 7px; font-weight: 800; margin-right: 8px; align-self: center; }
@media (max-width: 1000px) { .ob-two-wide, .fb-wrap { grid-template-columns: 1fr; } .fb-pv { position: static; } .fb-pv iframe { height: 420px; } .fb-row { grid-template-columns: auto 1fr auto; } .fb-row .fb-req, .fb-row .fb-core { grid-column: 2 / -1; } }

.emb-tags { position: absolute; top: 10px; right: 10px; display: flex; gap: 6px; white-space: nowrap; }
.emb-tag { font: inherit; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; background: rgba(30,27,22,.75); color: #fff; border-radius: 999px; padding: 4px 9px; border: 0; cursor: default; white-space: nowrap; line-height: 1.4; }
button.emb-tag { cursor: pointer; } button.emb-tag:hover { background: rgba(30,27,22,.95); }
.emb-pv::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 40px; background: linear-gradient(transparent, rgba(255,255,255,.9)); pointer-events: none; }
.emb-stale { margin-top: 10px; font-size: 12px; background: rgba(245,166,35,.12); border: 1px solid rgba(245,166,35,.4); color: var(--ink); border-radius: 10px; padding: 9px 12px; }
.fb-top { position: sticky; top: 0; z-index: 2; background: var(--card); padding-bottom: 8px; margin-bottom: 8px; }
.fb-add { position: sticky; bottom: 0; z-index: 2; background: var(--card); padding: 10px 0 2px; }
.fb-lock { width: 34px; text-align: center; font-size: 13px; opacity: .7; }
.fb-move { display: inline-flex; gap: 3px; } .fb-move .btn { padding: 3px 7px; font-size: 10px; } .fb-move .btn:disabled { opacity: .3; cursor: default; }
.fb-opts-wrap { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: 5px; align-items: center; }
.fb-opt { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; background: var(--card); border: 1px solid var(--line-2); border-radius: 999px; padding: 3px 8px 3px 10px; }
.fb-opt button { font-size: 10px; color: var(--ink-3); padding: 0 2px; } .fb-opt button:hover { color: var(--red); }
.fb-opt-add { display: inline-flex; gap: 4px; } .fb-opt-add input { width: 150px; font-size: 11.5px; padding: 4px 8px; }

/* the enquiry, as it arrived */
.enq .kvrow b { text-align: right; max-width: 60%; overflow-wrap: anywhere; }
.enq-msg { margin-top: 10px; background: var(--bg-2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; }
.enq-msg span { display: block; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 4px; font-weight: 600; }
.enq-msg p { font-size: 12.5px; line-height: 1.65; white-space: pre-line; margin: 0; }

.fb-row .fb-label { width: 100%; }

.biz-ic { display:grid; place-items:center; }
.biz-ic .ic { color: var(--blue); }
.bizrow .ic { margin-right: 8px; color: var(--ink-2); }

/* ---------- settings: tabbed sections ---------- */
.settabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; margin: 0 0 16px; padding-bottom: 2px; }
.settabs::-webkit-scrollbar { display: none; }
.settab { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; font: inherit; font-size: 13px; padding: 9px 14px; border-radius: 10px; border: 1px solid transparent; color: var(--ink-2); background: none; cursor: pointer; }
.settab:hover { background: var(--card); }
.settab.on { background: var(--card); border-color: var(--line-2); color: var(--ink); font-weight: 600; }
.settab .ic { flex: none; opacity: .8; }
.settab.on .ic { color: var(--blue); opacity: 1; }
.set-card { max-width: 720px; }
.set-p { font-size: 12.5px; color: var(--ink-2); line-height: 1.65; margin: 0 0 14px; }
.set-foot { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.set-plans { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
.modgrp { margin: 4px 0 14px; }
.modgrp-h { font-size: 10.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); margin: 12px 0 6px; }
.modrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 10px; border-radius: 10px; cursor: pointer; }
.modrow:hover { background: var(--bg-2); }
.modrow-l { display: flex; align-items: center; gap: 10px; font-size: 13px; }
.modrow-l .ic { color: var(--ink-3); flex: none; }
.modrow-l em { display: block; font-style: normal; font-size: 10.5px; color: var(--ink-3); }

/* ---------- proposal builder (per couple, Surya-style) ---------- */
.pb { display: grid; grid-template-columns: minmax(360px, 1fr) minmax(400px, 1.05fr); gap: 14px; align-items: start; }
.pb-l { display: grid; gap: 10px; min-width: 0; }
.pb-r { position: sticky; top: 12px; }
.pb-ev { border: 1px solid var(--line); border-radius: 10px; padding: 12px 13px; margin-top: 10px; }
.pb-ev > b { font-size: 12.5px; }
.pb-ev > span { display: block; font-size: 11px; color: var(--ink-3); margin: 2px 0 8px; }
.pb-note { font-size: 11.5px; color: var(--ink-3); line-height: 1.5; margin: 4px 0 8px; }
.pb-gal { display: flex; flex-wrap: wrap; gap: 8px; }
.pb-gt { position: relative; width: 74px; height: 74px; border-radius: 9px; overflow: hidden; border: 1px solid var(--line-2); }
.pb-gt img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pb-gt button { position: absolute; top: 3px; right: 3px; width: 18px; height: 18px; border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; font-size: 10px; display: grid; place-items: center; }
.pb-gadd { width: 74px; height: 74px; border-radius: 9px; border: 1px dashed var(--line-2); display: grid; place-items: center; font-size: 11px; color: var(--ink-3); cursor: pointer; text-align: center; padding: 4px; }
.pb-gadd:hover { border-color: var(--blue); color: var(--ink-2); }
@media (max-width: 1100px) { .pb { grid-template-columns: 1fr; } .pb-r { position: static; } .pb-r iframe { height: 60vh !important; } }

/* ---------- proposal builder editor: premium ---------- */
.pb-l .card { border-radius: 14px; }
.pb-blk { padding: 0; overflow: hidden; }
.pb-blk-h { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-bottom: 1px solid var(--line); }
.pb-blk-ic { width: 30px; height: 30px; border-radius: 9px; background: linear-gradient(135deg, rgba(61,123,255,.16), rgba(139,92,246,.16)); display: grid; place-items: center; flex: none; }
.pb-blk-ic .ic { color: var(--blue); }
.pb-blk-h b { flex: 1; font-size: 13.5px; }
.pb-blk-body { padding: 14px; display: grid; gap: 10px; }
.pb-blk-body .field { margin: 0; }
.pb-tools { display: inline-flex; gap: 4px; }
.pb-tool { width: 28px; height: 28px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--ink-3); display: grid; place-items: center; cursor: pointer; }
.pb-tool:hover { color: var(--ink); border-color: var(--line-3); }
.pb-tool.danger:hover { color: var(--red); border-color: var(--red); }
.pb-tool .ic { width: 15px; height: 15px; }
.pb-tool[data-up] .ic { transform: rotate(-90deg); } .pb-tool[data-down] .ic { transform: rotate(90deg); }
.pb-note { font-size: 11.5px; color: var(--ink-3); line-height: 1.55; margin: 0; }
/* package cards */
.pb-pks { display: grid; gap: 10px; }
.pb-pk { background: var(--bg-2); border: 1px solid var(--line); border-radius: 12px; padding: 12px; display: grid; gap: 8px; position: relative; }
.pb-pk.hi { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(61,123,255,.18); }
.pb-pk-top { display: flex; align-items: center; gap: 8px; }
.pb-pk input { background: var(--card); border: 1px solid var(--line-2); border-radius: 9px; color: var(--ink); font: inherit; padding: 9px 11px; outline: none; min-width: 0; }
.pb-pk input:focus { border-color: var(--blue); }
.pb-pk-name { flex: 1; font-size: 14px; font-weight: 600; }
.pb-pk-price { display: flex; align-items: center; background: var(--card); border: 1px solid var(--line-2); border-radius: 9px; padding-left: 10px; }
.pb-pk-price span { color: var(--ink-3); font-size: 13px; }
.pb-pk-price input { border: 0 !important; width: 88px; padding-left: 4px; font-weight: 600; }
.pb-pk-desc, .pb-pk-inc { font-size: 12.5px; }
.pb-loved { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: var(--ink-2); cursor: pointer; width: max-content; }
.pb-loved input { accent-color: var(--blue); width: 15px; height: 15px; }
.pb-pk.hi .pb-loved span { color: var(--amber); font-weight: 600; }
/* add-on rows */
.pb-ads { display: grid; gap: 8px; }
.pb-ad2 { display: grid; grid-template-columns: 1.2fr 1.4fr auto auto; gap: 8px; align-items: center; }
.pb-ad2 input { background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 9px; color: var(--ink); font: inherit; font-size: 12.5px; padding: 9px 11px; outline: none; min-width: 0; }
.pb-ad2 input:focus { border-color: var(--blue); }
.pb-ad2 .pb-pk-price { background: var(--bg-2); } .pb-ad2 .pb-pk-price input { background: transparent; }
.pb-add { margin-top: 2px; display: inline-flex; align-items: center; gap: 6px; }
.pb-add .ic { color: var(--blue); }
/* gallery */
.pb-gadd { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; }
.pb-gadd .ic { color: var(--blue); }
/* add-section chips */
.pb-addsec { padding: 14px; }
.pb-chips { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.pb-chip { display: inline-flex; align-items: center; gap: 7px; font: inherit; font-size: 12.5px; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--ink-2); cursor: pointer; }
.pb-chip:hover { border-color: var(--blue); color: var(--ink); transform: translateY(-1px); }
.pb-chip .ic { color: var(--ink-3); } .pb-chip:hover .ic { color: var(--blue); }
@media (max-width: 640px) { .pb-ad2 { grid-template-columns: 1fr auto auto; } .pb-ad2 .pb-ad-desc { grid-column: 1 / -1; } }

/* ============================================================================
   Proposal builder — a warm editorial canvas, in Surya's own dress
   Serif headings (Cormorant Garamond), Jost body, champagne on ivory paper.
   Scoped to .pb-canvas so it never leaks into the rest of the app.
   ============================================================================ */
.pb-canvas {
  /* the old names, pointed at the app's theme — so every rule below follows dark, light and the studio's own colours */
  --ink: inherit; --line: inherit;
  --pbg: transparent; --paper: var(--card); --alt: var(--bg-2);
  --gold: var(--blue); --gold-deep: var(--blue); --gold-soft: var(--tint);
  --ink2: var(--ink-2); --ink3: var(--ink-3); --line2: var(--line-2);
  --serif: var(--sans); --sans2: var(--sans);
  color: var(--ink); font-family: var(--sans);
}
.pb-canvas .pb-head { border: 0; }
.pb-canvas .ws-back { color: var(--ink-2); font-size: 12px; }
.pb-canvas .page-title { font-size: 22px; font-weight: 700; letter-spacing: -.01em; color: var(--ink); }
.pb-canvas .page-sub { color: var(--ink3); font-size: 13px; }

.pb-canvas .card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--radius, 14px); box-shadow: none; }
.pb-canvas .card-h h3 { display: flex; align-items: center; gap: 8px; }
.pb-canvas .hint { color: var(--ink3); }
.pb-canvas .field label { color: var(--ink3); letter-spacing: .12em; font-size: 10px; }
.pb-canvas .field label small { color: var(--ink3); }
.pb-canvas input, .pb-canvas select, .pb-canvas textarea { background: var(--alt) !important; border: 1px solid var(--line) !important; color: var(--ink) !important; border-radius: 10px; font-family: var(--sans2); }
.pb-canvas input:focus, .pb-canvas select:focus, .pb-canvas textarea:focus { border-color: var(--gold) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--blue) 18%, transparent) !important; }
.pb-canvas input[type=color] { padding: 0; height: 40px; }

/* section cards */
.pb-canvas .pb-blk { box-shadow: 0 10px 34px -24px var(--shadow-c); }
.pb-canvas .pb-blk-h { border-bottom: 1px solid var(--line); padding: 14px 16px; }
.pb-canvas .pb-blk-ic { background: linear-gradient(135deg, var(--gold-soft), var(--tint)); }
.pb-canvas .pb-blk-ic .ic { color: var(--gold-deep); }
.pb-canvas .pb-blk-h b { font-family: var(--serif); font-size: 17px; font-weight: 600; letter-spacing: .01em; }
.pb-canvas .pb-blk-body { padding: 16px; }
.pb-canvas .pb-note { color: var(--ink3); font-style: italic; font-family: var(--serif); font-size: 14px; }
.pb-canvas .pb-tool { background: var(--alt); border: 1px solid var(--line); color: var(--ink3); border-radius: 9px; }
.pb-canvas .pb-tool:hover { border-color: var(--gold); color: var(--ink); }
.pb-canvas .pb-tool.danger:hover { color: var(--red); border-color: var(--red); }

/* collections */
.pb-canvas .pb-pk { background: var(--alt); border: 1px solid var(--line); border-radius: 14px; }
.pb-canvas .pb-pk.hi { border-color: var(--gold); box-shadow: 0 0 0 2px color-mix(in srgb, var(--blue) 24%, transparent); background: color-mix(in srgb, var(--blue) 9%, var(--card)); }
.pb-canvas .pb-pk input { background: var(--paper) !important; }
.pb-canvas .pb-pk-name { font-family: var(--serif); font-size: 18px; font-weight: 600; }
.pb-canvas .pb-pk-price { background: var(--paper); border: 1px solid var(--line); }
.pb-canvas .pb-pk-price span { color: var(--gold-deep); }
.pb-canvas .pb-loved { color: var(--ink2); } .pb-canvas .pb-loved input { accent-color: var(--gold); }
.pb-canvas .pb-pk.hi .pb-loved span { color: var(--gold-deep); }
.pb-canvas .pb-add { background: transparent; border: 1px dashed var(--line2); color: var(--gold-deep); }
.pb-canvas .pb-add:hover { border-color: var(--gold); }
.pb-canvas .pb-add .ic { color: var(--gold-deep); }
.pb-canvas .pb-ad2 input { background: var(--paper) !important; }
.pb-canvas .pb-ad2 .pb-pk-price { background: var(--paper); }

/* gallery + chips */
.pb-canvas .pb-gadd { border: 1px dashed var(--line2); color: var(--gold-deep); }
.pb-canvas .pb-gadd .ic { color: var(--gold-deep); }
.pb-canvas .pb-gt { border-color: var(--line2); }
.pb-canvas .pb-chip { background: var(--paper); border: 1px solid var(--line2); color: var(--ink2); }
.pb-canvas .pb-chip:hover { border-color: var(--gold); color: var(--ink); }
.pb-canvas .pb-chip .ic { color: var(--gold-deep); }
.pb-canvas .modrow:hover { background: var(--alt); }
.pb-canvas .modrow-l em { color: var(--ink3); }
.pb-canvas .sw input:checked + i { background: var(--gold); }
.pb-canvas .check { color: var(--ink2); } .pb-canvas .check input { accent-color: var(--gold); }
.pb-canvas .help { color: var(--ink3); }

/* ---------- proposals: the gallery of designs ---------- */
.tpl-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; }
.tpl-card { background: var(--card); border: 1px solid var(--line); border-radius: 14px; overflow: hidden; cursor: pointer; transition: border-color .15s, transform .15s, box-shadow .15s; text-align: left; display: flex; flex-direction: column; }
.tpl-card:hover { border-color: var(--line-2); transform: translateY(-2px); box-shadow: 0 14px 32px -18px rgba(0,0,0,.5); }
.tpl-card.def { border-color: rgba(245,166,35,.45); }
.tpl-thumb { position: relative; aspect-ratio: 16 / 10; background: linear-gradient(135deg, var(--acc, #3D7BFF), #141210 140%); overflow: hidden; }
.tpl-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tpl-thumb-veil { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(20,18,16,.35), rgba(20,18,16,.72)); }
.tpl-thumb-txt { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; color: #FAF6EE; font-family: 'Cormorant Garamond', Georgia, serif; text-shadow: 0 2px 14px rgba(0,0,0,.4); }
.tpl-thumb-txt span { font-family: Inter, system-ui, sans-serif; font-size: 8px; letter-spacing: .38em; text-transform: uppercase; color: color-mix(in srgb, var(--acc, #3D7BFF) 55%, #fff); }
.tpl-thumb-txt b { font-weight: 300; font-style: italic; font-size: 15px; margin-top: 4px; }
.tpl-thumb-txt i { font-weight: 300; font-size: 22px; line-height: 1.05; margin-top: 4px; }
.tpl-body { padding: 12px 13px 13px; display: grid; gap: 6px; }
.tpl-name { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.tpl-name b { font-size: 13.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tpl-meta { font-size: 11px; color: var(--ink-3); }
.tpl-actions { display: flex; gap: 6px; margin-top: 4px; }
.tpl-actions .btn { white-space: nowrap; }
.tpl-more { margin-left: auto; padding: 5px 9px; font-size: 14px; line-height: 1; }
.tpl-new { align-items: center; justify-content: center; text-align: center; gap: 6px; padding: 30px 16px; border-style: dashed; border-color: var(--line-2); background: transparent; color: var(--ink-2); min-height: 200px; }
.tpl-new span { width: 42px; height: 42px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--line-2); display: grid; place-items: center; color: var(--blue); }
.tpl-new b { font-size: 13.5px; color: var(--ink); } .tpl-new i { font-style: normal; font-size: 11px; color: var(--ink-3); }
.tpl-new:hover { border-color: var(--blue); }
.tpl-menu { display: grid; gap: 4px; }
.tpl-mi { display: flex; align-items: center; gap: 12px; text-align: left; padding: 10px 12px; border-radius: 10px; color: var(--ink-2); }
.tpl-mi:hover { background: var(--hover); color: var(--ink); }
.tpl-mi .ic { color: var(--blue); flex: none; } .tpl-mi.danger .ic { color: var(--red); }
.tpl-mi b { display: block; font-size: 13px; color: var(--ink); } .tpl-mi i { font-style: normal; font-size: 11px; color: var(--ink-3); }
.tpl-mi.danger:hover b { color: var(--red); }

/* ---------- the designer: the page is the editor ---------- */
.dz-head .quick { align-items: center; }
.dz-title input { background: transparent; border: 0; border-bottom: 1px dashed var(--line-2); color: var(--ink); font: inherit; font-size: 20px; font-weight: 700; letter-spacing: -.01em; min-width: 260px; padding: 2px 0; outline: none; margin-top: 4px; }
.dz-title input:focus { border-bottom-color: var(--blue); }
.dz-status { font-size: 11.5px; color: var(--ink-3); padding: 0 6px; min-width: 64px; text-align: right; }
.dz-status.ok { color: var(--green); } .dz-status.busy { color: var(--ink-3); }
.dz { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 14px; align-items: start; }
.dz-side { display: grid; gap: 10px; position: sticky; top: 12px; max-height: calc(100vh - 24px); overflow-y: auto; scrollbar-width: thin; }
.dz-tip { display: flex; gap: 12px; align-items: flex-start; background: linear-gradient(160deg, rgba(61,123,255,.10), rgba(139,92,246,.12)); }
.dz-tip .ic { color: var(--blue); flex: none; margin-top: 2px; }
.dz-tip b { display: block; font-size: 13px; margin-bottom: 3px; }
.dz-tip p { font-size: 11.5px; color: var(--ink-2); line-height: 1.55; margin: 0; }
.dz-secs { display: grid; gap: 3px; }
.dz-sec { display: flex; align-items: center; gap: 9px; padding: 7px 8px; border-radius: 9px; cursor: pointer; }
.dz-sec:hover { background: var(--hover); }
.dz-sec-ic { width: 26px; height: 26px; border-radius: 8px; background: var(--bg-2); border: 1px solid var(--line); display: grid; place-items: center; color: var(--ink-3); flex: none; }
.dz-sec b { flex: 1; font-size: 12.5px; font-weight: 500; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dz-sec .pb-tools { opacity: 0; transition: opacity .15s; } .dz-sec:hover .pb-tools { opacity: 1; }
.dz-sec .pb-tool { width: 24px; height: 24px; }
.dz-add { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); }
.dz-add .pb-chips { margin-top: 6px; }
.dz-stage { min-width: 0; position: sticky; top: 12px; }
.dz-bar { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 0 2px 10px; }
.dz-frame { background: #FAF7F1; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; height: calc(100vh - 150px); min-height: 520px; display: flex; justify-content: center; transition: background .2s; }
.dz-frame iframe { width: 100%; height: 100%; border: 0; display: block; background: #FAF7F1; transition: width .25s; }
.dz-frame.phone { background: var(--bg-2); padding: 14px 0; }
.dz-frame.phone iframe { width: 392px; border-radius: 22px; border: 6px solid #141210; box-shadow: 0 20px 50px -20px rgba(0,0,0,.6); }
@media (max-width: 1100px) { .dz { grid-template-columns: 1fr; } .dz-side, .dz-stage { position: static; max-height: none; } .dz-frame { height: 70vh; } }

/* ---------- the per-couple builder ---------- */
.pb-r .dz-frame { height: calc(100vh - 150px); }
.tpl-pick { display: grid; gap: 8px; }
.tpl-opt { display: flex; align-items: center; gap: 11px; width: 100%; text-align: left; padding: 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-2); color: var(--ink-2); transition: border-color .15s, background .15s; }
.tpl-opt:hover { border-color: var(--line-2); color: var(--ink); }
.tpl-opt.on { border-color: var(--blue); background: rgba(61,123,255,.08); color: var(--ink); box-shadow: 0 0 0 2px rgba(61,123,255,.16); }
.tpl-opt-th { width: 58px; height: 40px; border-radius: 8px; flex: none; overflow: hidden; background: linear-gradient(135deg, var(--acc, #3D7BFF), #141210 160%); }
.tpl-opt-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.tpl-opt-t { flex: 1; min-width: 0; }
.tpl-opt-t b { display: block; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tpl-opt-t i { display: block; font-style: normal; font-size: 11px; color: var(--ink-3); }
.tpl-opt-ck { width: 22px; height: 22px; border-radius: 50%; background: var(--grad); color: #fff; display: grid; place-items: center; flex: none; }
.pb-ev-h { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.pb-ev-n { width: 30px; height: 30px; border-radius: 9px; background: var(--grad); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; flex: none; }
.pb-ev-h b { display: block; font-size: 13px; } .pb-ev-h span { display: block; font-size: 11px; color: var(--ink-3); margin-top: 1px; }
.pb-ev-crew { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; }
.pb-chair { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; padding: 4px 10px; border-radius: 999px; background: var(--bg-2); border: 1px solid var(--line); color: var(--ink); }
.pb-chair .ic { color: var(--blue); } .pb-chair i { font-style: normal; color: var(--ink-3); }
.pb-chair.none { color: var(--ink-3); border-style: dashed; font-size: 11px; }

/* ---------- support ---------- */
.sp { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 12px; align-items: start; }
.sp-list { padding: 12px; }
.sp-list .card-h { padding: 2px 4px 0; }
.sp-row { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 10px; color: inherit; text-decoration: none; border: 1px solid transparent; }
.sp-row:hover { background: var(--hover); }
.sp-row.on { background: var(--card-2); border-color: var(--line-2); }
.sp-row .ic { color: var(--blue); flex: none; }
.sp-row > div { min-width: 0; flex: 1; }
.sp-row b { display: block; font-size: 12.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sp-row span { display: block; font-size: 10.5px; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sp-row.unread b { color: var(--ink); font-weight: 700; }
.sp-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--ink-3); flex: none; }
.sp-dot.open { background: var(--cyan); } .sp-dot.answered { background: var(--green); } .sp-dot.resolved { background: var(--ink-3); opacity: .5; }
.sp-new { font-style: normal; font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; background: var(--green); border-radius: 999px; padding: 2px 7px; flex: none; }
.sp-kind { display: inline-block; font-size: 10px; font-weight: 700; letter-spacing: .05em; border-radius: 999px; padding: 3px 10px; }
.sp-kind.bug { color: var(--red); background: rgba(244,83,107,.12); } .sp-kind.question { color: var(--blue); background: rgba(61,123,255,.12); } .sp-kind.idea { color: var(--amber); background: rgba(245,166,35,.12); }
.sp-anns { display: grid; gap: 14px; }
.sp-ann { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.sp-ann:last-child { border-bottom: 0; padding-bottom: 0; }
.sp-ann b { display: block; font-size: 13.5px; } .sp-ann p { font-size: 12.5px; color: var(--ink-2); line-height: 1.6; margin: 4px 0 4px; } .sp-ann span { font-size: 10.5px; color: var(--ink-3); }
.sp-ann-k { font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; border-radius: 6px; padding: 3px 8px; margin-top: 2px; white-space: nowrap; }
.sp-ann-k.new { color: var(--green); background: rgba(47,209,129,.12); } .sp-ann-k.improved { color: var(--blue); background: rgba(61,123,255,.12); } .sp-ann-k.fixed { color: var(--amber); background: rgba(245,166,35,.12); }
.sp-how { margin-top: 12px; }
.sp-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.sp-steps > div { background: var(--bg-2); border: 1px solid var(--line); border-radius: 12px; padding: 12px 13px; }
.sp-steps span { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--grad); color: #fff; font-size: 11px; font-weight: 700; margin-bottom: 8px; }
.sp-steps b { display: block; font-size: 12.5px; } .sp-steps p { font-size: 11.5px; color: var(--ink-2); line-height: 1.55; margin: 3px 0 0; } .sp-steps em { font-style: normal; font-weight: 600; color: var(--ink); }
.sp-thread { padding: 0; overflow: hidden; }
.sp-th-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 16px 18px 14px; border-bottom: 1px solid var(--line); }
.sp-th-head h3 { font-size: 16px; margin: 8px 0 4px; } .sp-th-head code { font-family: ui-monospace, monospace; font-size: 10.5px; background: var(--bg-2); padding: 1px 6px; border-radius: 5px; }
.sp-msgs { padding: 16px 18px; display: grid; gap: 12px; max-height: 52vh; overflow-y: auto; }
.sp-msg { display: flex; gap: 10px; align-items: flex-start; max-width: 86%; }
.sp-msg.me { margin-left: auto; flex-direction: row-reverse; }
.sp-av { width: 30px; height: 30px; border-radius: 50%; background: var(--grad); color: #fff; font-size: 11px; font-weight: 700; display: grid; place-items: center; flex: none; }
.sp-msg.them .sp-av { background: #141210; color: #F0C97E; }
.sp-bub { background: var(--card-2); border: 1px solid var(--line); border-radius: 13px; padding: 9px 13px; min-width: 0; }
.sp-msg.me .sp-bub { border-bottom-right-radius: 4px; } .sp-msg.them .sp-bub { border-bottom-left-radius: 4px; background: var(--bg-2); }
.sp-who { font-size: 11px; font-weight: 600; margin-bottom: 3px; } .sp-who span { font-weight: 400; color: var(--ink-3); margin-left: 6px; }
.sp-bub p { font-size: 12.5px; line-height: 1.6; margin: 0; white-space: pre-wrap; }
.sp-shots { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.sp-shots img { width: 120px; height: 84px; object-fit: cover; border-radius: 8px; border: 1px solid var(--line-2); display: block; }
.sp-reply { padding: 12px 18px 16px; border-top: 1px solid var(--line); }
.sp-reply textarea { width: 100%; background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 10px; color: var(--ink); font: inherit; font-size: 12.5px; padding: 10px 12px; outline: none; resize: vertical; }
.sp-reply textarea:focus { border-color: var(--blue); }
.sp-reply-bar { display: flex; align-items: center; gap: 10px; margin-top: 8px; }
.sp-kinds { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.sp-kopt { display: grid; justify-items: center; gap: 3px; text-align: center; padding: 10px 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-2); color: var(--ink-2); }
.sp-kopt .ic { color: var(--ink-3); } .sp-kopt b { font-size: 12.5px; color: var(--ink); } .sp-kopt i { font-style: normal; font-size: 10.5px; color: var(--ink-3); }
.sp-kopt.on { border-color: var(--blue); background: rgba(61,123,255,.08); box-shadow: 0 0 0 2px rgba(61,123,255,.16); } .sp-kopt.on .ic { color: var(--blue); }
@media (max-width: 900px) { .sp { grid-template-columns: 1fr; } .sp-steps { grid-template-columns: 1fr; } .sp-kinds { grid-template-columns: 1fr; } .sp-msg { max-width: 100%; } }

/* the canvas: the builder's new pieces read on cream too */
.pb-canvas .seg.sm { background: var(--alt); border-color: var(--line); }
.pb-canvas .seg.sm button { color: var(--ink3); }
.pb-canvas .seg.sm button.on { background: var(--paper); color: var(--ink); box-shadow: 0 1px 4px var(--shadow-c); }
.pb-canvas .tpl-opt { background: var(--alt); border-color: var(--line); color: var(--ink2); }
.pb-canvas .tpl-opt.on { border-color: var(--gold); background: color-mix(in srgb, var(--blue) 9%, var(--card)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--blue) 24%, transparent); color: var(--ink); }
.pb-canvas .tpl-opt-t b { font-family: var(--serif); font-size: 16px; font-weight: 600; }
.pb-canvas .tpl-opt-t i { color: var(--ink3); }
.pb-canvas .tpl-opt-ck, .pb-canvas .pb-ev-n { background: linear-gradient(135deg, var(--gold), var(--gold-deep)); }
.pb-canvas .pb-ev-h b { font-family: var(--serif); font-size: 17px; font-weight: 600; } .pb-canvas .pb-ev-h span { color: var(--ink3); }
.pb-canvas .pb-chair { background: var(--alt); border-color: var(--line); color: var(--ink); } .pb-canvas .pb-chair .ic { color: var(--gold-deep); } .pb-canvas .pb-chair i { color: var(--ink3); }
.pb-canvas .pb-chair.none { color: var(--ink3); background: transparent; border-color: var(--line2); }
.pb-canvas .dz-status { color: var(--ink3); } .pb-canvas .dz-status.ok { color: #3F7D4E; }
.pb-canvas .dz-frame { border-color: var(--line); background: #FAF7F1; } .pb-canvas .dz-frame.phone { background: var(--alt); }
.pb-canvas .link { color: var(--gold-deep); }
.pb-canvas .empty-note { color: var(--ink3); } .pb-canvas .empty-note b { color: var(--ink2); }
.pb-canvas .help, .pb-canvas .modrow-l em { color: var(--ink3); }

/* ---------- the builder: palette, settings, layers ---------- */
.dz-builder { grid-template-columns: 320px minmax(0, 1fr); }
.dz-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; padding: 3px; background: var(--card); border: 1px solid var(--line); border-radius: 11px; }
.dz-tabs button { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font: inherit; font-size: 12px; font-weight: 500; color: var(--ink-2); padding: 8px 6px; border-radius: 8px; transition: background .15s, color .15s; }
.dz-tabs button:hover { color: var(--ink); background: var(--hover); }
.dz-tabs button.on { background: var(--grad); color: #fff; box-shadow: 0 6px 16px -8px var(--blue); }
.dz-tabs .ic { color: inherit; }
.dz-panel { min-height: 300px; }
.dz-grp { margin-bottom: 16px; }
.dz-grp-h { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); margin: 0 0 8px; }
.dz-wgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 7px; }
.dz-w { display: grid; justify-items: center; gap: 6px; padding: 12px 6px 10px; border: 1px solid var(--line); border-radius: 11px; background: var(--bg-2); color: var(--ink-2); font: inherit; font-size: 11.5px; cursor: grab; transition: border-color .15s, color .15s, transform .15s, background .15s; text-align: center; }
.dz-w .ic { color: var(--ink-3); transition: color .15s; }
.dz-w:hover { border-color: var(--blue); color: var(--ink); transform: translateY(-1px); } .dz-w:hover .ic { color: var(--blue); }
.dz-w:active { cursor: grabbing; } .dz-w.dragging { opacity: .5; }
.dz-wlist { display: grid; gap: 5px; }
.dz-w.row { grid-template-columns: auto 1fr auto; justify-items: start; align-items: center; gap: 10px; padding: 8px 10px; text-align: left; }
.dz-w.row span { min-width: 0; } .dz-w.row b { display: block; font-size: 12.5px; color: var(--ink); } .dz-w.row i { display: block; font-style: normal; font-size: 10.5px; color: var(--ink-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dz-w.row.has { cursor: pointer; opacity: .75; border-style: dashed; } .dz-w.row.has > .ic:last-child { color: var(--green); }
.dz-eh { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.dz-eh b { font-size: 14px; } .dz-eh .hint { margin-left: auto; text-align: right; }
.dz-back { width: 26px; height: 26px; border-radius: 8px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--ink-3); display: grid; place-items: center; flex: none; } .dz-back .ic { transform: rotate(180deg); } .dz-back:hover { color: var(--ink); }
.dz-f { margin-bottom: 12px; }
.dz-f > label { display: block; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-3); margin-bottom: 6px; }
.dz-chips { display: flex; flex-wrap: wrap; gap: 5px; }
.dz-chip { font: inherit; font-size: 11.5px; padding: 6px 11px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--bg-2); color: var(--ink-2); transition: border-color .15s, color .15s, background .15s; }
.dz-chip:hover { color: var(--ink); border-color: var(--line-3, var(--line-2)); }
.dz-chip.on { background: var(--grad); border-color: transparent; color: #fff; }
.dz-f input[type=range] { width: 100%; accent-color: var(--blue); }
.dz-thumbs { display: flex; flex-wrap: wrap; gap: 6px; }
.dz-th { position: relative; width: 62px; height: 62px; border-radius: 9px; overflow: hidden; border: 1px solid var(--line-2); background: var(--bg-2); }
.dz-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dz-th button { position: absolute; top: 3px; right: 3px; width: 18px; height: 18px; border-radius: 50%; background: rgba(0,0,0,.6); color: #fff; font-size: 10px; line-height: 18px; text-align: center; opacity: 0; transition: opacity .15s; }
.dz-th:hover button { opacity: 1; }
.dz-th.add { display: grid; place-items: center; align-content: center; gap: 2px; border-style: dashed; color: var(--ink-3); font-size: 10px; cursor: pointer; } .dz-th.add .ic { color: var(--blue); } .dz-th.add:hover { border-color: var(--blue); color: var(--ink-2); }
.dz-foot { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.dz-sec.on { background: rgba(61,123,255,.1); box-shadow: inset 0 0 0 1px rgba(61,123,255,.35); }
.dz-sec.sub { margin-left: 22px; padding: 5px 8px; } .dz-sec.sub .dz-sec-ic { width: 22px; height: 22px; } .dz-sec.sub b { font-weight: 400; font-size: 12px; } .dz-sec b i { font-style: normal; color: var(--ink-3); font-weight: 400; }
@media (max-width: 1100px) { .dz-builder { grid-template-columns: 1fr; } }

/* ---------- the library of ready-made designs ---------- */
.tpl-lib { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 12px; }
.tpl-pre { border: 1px solid var(--line); border-radius: 13px; overflow: hidden; background: var(--bg-2); display: flex; flex-direction: column; transition: border-color .15s, transform .15s; }
.tpl-pre:hover { border-color: var(--line-2); transform: translateY(-2px); }
.tpl-pre-b { padding: 11px 12px 12px; display: grid; gap: 3px; }
.tpl-pre-b b { font-size: 13px; } .tpl-pre-b i { font-style: normal; font-size: 10.5px; color: var(--blue); }
.tpl-pre-b p { font-size: 11px; color: var(--ink-3); line-height: 1.5; margin: 2px 0 8px; }
.tpl-schem { aspect-ratio: 16 / 11; background: #FAF6EE; padding: 8px 14px; display: flex; flex-direction: column; gap: 3px; border-bottom: 1px solid var(--line); }
.tpl-schem.dark { background: #1E1B17; }
.tpl-schem i { display: block; border-radius: 2px; background: #E8DFCC; flex: 1 1 4px; min-height: 4px; }
.tpl-schem.dark i { background: #3A332C; }
.tpl-schem .s-nav { flex: 0 0 4px; background: #141210; opacity: .85; margin-bottom: 2px; }
.tpl-schem.dark .s-nav { background: #5A5148; }
.tpl-schem .s-cover { flex: 2 1 18px; background: linear-gradient(135deg, #9A8C74, #3A332C); }
.tpl-schem .s-cover.sm { flex: 1.4 1 12px; }
.tpl-schem .s-dark { background: #141210; }
.tpl-schem .s-cols, .tpl-schem .s-two, .tpl-schem .s-grid { display: grid; gap: 3px; background: transparent; }
.tpl-schem .s-cols { grid-template-columns: 1fr 1fr 1fr; flex: 1.6 1 12px; } .tpl-schem .s-cols b { background: #fff; border: 1px solid #E8DFCC; border-radius: 2px; } .tpl-schem .s-cols b:nth-child(2) { border-color: #9A8C74; }
.tpl-schem.dark .s-cols b { background: #2A2621; border-color: #3A332C; }
.tpl-schem .s-two { grid-template-columns: 1fr 1fr; flex: 1.3 1 10px; } .tpl-schem .s-two b { background: #E8DFCC; border-radius: 2px; } .tpl-schem .s-two b:first-child { background: #C9BCA3; }
.tpl-schem .s-grid { grid-template-columns: repeat(4, 1fr); flex: 1 1 8px; } .tpl-schem .s-grid b { background: #C9BCA3; border-radius: 2px; }
.tpl-schem .s-sign { background: #9A8C74; opacity: .7; }
.tpl-schem .s-foot { flex: 0 0 5px; background: #141210; margin-top: 2px; }
.tpl-schem.dark .s-foot { background: #5A5148; }

/* the builder: search, parts, undo */
.dz-search { display: flex; align-items: center; gap: 8px; background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 9px; padding: 0 10px; margin-bottom: 12px; }
.dz-search .ic { color: var(--ink-3); flex: none; }
.dz-search input { flex: 1; background: transparent; border: 0; color: var(--ink); font: inherit; font-size: 12.5px; padding: 8px 0; outline: none; min-width: 0; }
.dz-parts { display: grid; gap: 5px; margin: 4px 0 10px; }
.dz-in { width: 100%; background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 8px; color: var(--ink); font: inherit; font-size: 12px; padding: 7px 10px; margin-bottom: 6px; outline: none; }
.dz-in:focus { border-color: var(--blue); }
#tUndo:disabled { opacity: .45; }

/* ---------- support: the track, the stars ---------- */
.sp-th-track { padding: 12px 18px 4px; border-bottom: 1px solid var(--line); }
.sp-track { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; margin: 4px 0 12px; }
.sp-track::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 11px; height: 2px; background: var(--line-2); }
.sp-step { position: relative; text-align: center; padding-top: 30px; }
.sp-step i { position: absolute; top: 0; left: 50%; transform: translateX(-50%); width: 24px; height: 24px; border-radius: 50%; background: var(--card); border: 2px solid var(--line-2); color: var(--ink-3); font-size: 10.5px; font-weight: 700; font-style: normal; display: grid; place-items: center; z-index: 1; }
.sp-step b { display: block; font-size: 11.5px; color: var(--ink-3); }
.sp-step span { display: block; font-size: 10px; color: var(--ink-3); margin-top: 1px; }
.sp-step.done i { background: var(--green); border-color: var(--green); color: #fff; } .sp-step.done b { color: var(--ink-2); }
.sp-step.now i { background: var(--grad); border-color: transparent; color: #fff; box-shadow: 0 0 0 4px rgba(61,123,255,.18); } .sp-step.now b { color: var(--ink); font-weight: 700; } .sp-step.now span { color: var(--ink-2); }
.sp-step.done::after { content: ""; position: absolute; top: 11px; left: 50%; width: 100%; height: 2px; background: var(--green); }
.sp-step:last-child.done::after { display: none; }
.sp-track.sm { margin: 0 0 6px; padding: 0 10px; grid-template-columns: repeat(4, 1fr); }
.sp-track.sm::before { top: 5px; left: 12.5%; right: 12.5%; height: 2px; }
.sp-track.sm .sp-step { padding-top: 0; height: 12px; }
.sp-track.sm .sp-step i { width: 12px; height: 12px; font-size: 0; border-width: 2px; }
.sp-track.sm .sp-step b, .sp-track.sm .sp-step span { display: none; }
.sp-track.sm .sp-step.done::after { top: 5px; }
.sp-track.sm .sp-step.now i { box-shadow: 0 0 0 3px rgba(61,123,255,.18); }
.sp-row + .sp-track.sm { margin-top: -6px; margin-bottom: 8px; }
.sp-dot.in_progress { background: var(--amber); }
.sp-stage { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.sp-stars i { font-style: normal; color: var(--line-2); font-size: 15px; letter-spacing: 1px; } .sp-stars i.on { color: var(--amber); }
.sp-stars.sm i { font-size: 11px; letter-spacing: 0; }
.sp-fb { margin: 0 18px 14px; padding: 14px 16px; border: 1px solid rgba(245,166,35,.35); border-radius: 12px; background: rgba(245,166,35,.06); }
.sp-fb.done { border-color: var(--line); background: var(--bg-2); }
.sp-fb-h b { display: block; font-size: 13.5px; } .sp-fb-h span { display: block; font-size: 12px; color: var(--ink-2); margin-top: 3px; line-height: 1.55; }
.sp-fb-h q { font-style: italic; color: var(--ink); } .sp-fb-h small { color: var(--ink-3); }
.sp-rate { display: flex; align-items: center; gap: 2px; margin: 10px 0 8px; }
.sp-rate button { font-size: 26px; line-height: 1; color: var(--line-2); padding: 2px; transition: color .12s, transform .12s; }
.sp-rate button:hover, .sp-rate button.on { color: var(--amber); } .sp-rate button:hover { transform: scale(1.12); }
.sp-rate em { font-style: normal; font-size: 12px; color: var(--ink-2); margin-left: 8px; }
.sp-fb textarea { width: 100%; background: var(--card); border: 1px solid var(--line-2); border-radius: 10px; color: var(--ink); font: inherit; font-size: 12.5px; padding: 9px 11px; outline: none; resize: vertical; }
.sp-fb textarea:focus { border-color: var(--blue); }

/* the design picker as a dropdown */
.tpl-dd { position: relative; }
.tpl-dd-cur { display: flex; align-items: center; gap: 11px; width: 100%; text-align: left; padding: 8px 12px 8px 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-2); color: var(--ink); font: inherit; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.tpl-dd-cur:hover, .tpl-dd.open .tpl-dd-cur { border-color: var(--blue); box-shadow: 0 0 0 2px rgba(61,123,255,.16); }
.tpl-dd-caret { flex: none; display: grid; place-items: center; color: var(--ink-3); transition: transform .18s; transform: rotate(-90deg); } .tpl-dd.open .tpl-dd-caret { transform: rotate(90deg); }
.tpl-dd-list { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 30; background: var(--card); border: 1px solid var(--line); border-radius: 14px; box-shadow: 0 18px 50px rgba(0,0,0,.28); padding: 8px; }
.tpl-dd.open .tpl-dd-list { display: block; }
.tpl-dd-list .tpl-pick { max-height: 320px; overflow-y: auto; gap: 6px; padding-right: 2px; }
.tpl-dd-list .tpl-opt { padding: 6px 8px; border-radius: 10px; }
.tpl-dd-list .tpl-opt-th { width: 46px; height: 32px; border-radius: 6px; }
.tpl-dd-q { width: 100%; margin: 0 0 8px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--bg-2); color: var(--ink); font: inherit; font-size: 12.5px; outline: 0; }
.tpl-dd-q:focus { border-color: var(--blue); }
.pb-canvas .tpl-dd-cur { background: color-mix(in srgb, var(--blue) 9%, var(--card)); border-color: var(--line); }
.pb-canvas .tpl-dd-cur:hover, .pb-canvas .tpl-dd.open .tpl-dd-cur { border-color: var(--gold); box-shadow: 0 0 0 2px color-mix(in srgb, var(--blue) 24%, transparent); }
.pb-canvas .tpl-dd-cur .tpl-opt-t b { font-family: var(--serif); font-size: 16px; font-weight: 600; }
.pb-canvas .tpl-dd-list { background: var(--card); border-color: var(--line); box-shadow: 0 18px 50px var(--shadow-c); }
.pb-canvas .tpl-dd-q { background: var(--alt); border-color: var(--line); color: var(--ink); } .pb-canvas .tpl-dd-q:focus { border-color: var(--gold); }

/* Emails → Design */
.em-design { display: grid; grid-template-columns: minmax(340px, 420px) minmax(0, 1fr); gap: 16px; align-items: start; }
.em-design > .card { min-width: 0; }
.em-design .frow { grid-template-columns: 1fr; gap: 0; }
.em-design .field label small { display: block; margin: 2px 0 0; }
.em-design .dz-chips { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.em-design .dz-chips .dz-chip { text-align: center; padding: 9px 10px; white-space: normal; line-height: 1.3; }
.em-design .em-preview { position: sticky; top: 12px; }
.em-design .em-preview iframe { width: 100%; height: calc(100vh - 170px); min-height: 640px; border: 1px solid var(--line); border-radius: 12px; background: #F2EDE3; display: block; }
.em-design .ds-acc { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
@media (max-width: 1000px) { .em-design { grid-template-columns: 1fr; } .em-design .em-preview { position: static; } .em-design .em-preview iframe { height: 78vh; } }

/* the couple's builder: a form, a summary, and the page on demand */
.pb { grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; }
.pb-side { position: sticky; top: 12px; display: grid; gap: 10px; min-width: 0; align-self: start; }
.pb-side .card { border-radius: 14px; }
.pb-sum-eye { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--ink3, var(--ink-3)); margin-bottom: 8px; }
.pb-sum-big { font-family: var(--serif, inherit); font-size: 24px; line-height: 1.15; color: var(--ink); }
.pb-sum-row { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; padding: 8px 0; border-bottom: 1px solid var(--line); font-size: 13px; color: var(--ink2, var(--ink-2)); }
.pb-sum-row b { font-weight: 600; color: var(--ink); white-space: nowrap; } .pb-sum-row.on span { color: var(--ink); font-weight: 600; } .pb-sum-row.soft { font-size: 12px; }
.pb-sum-row i { font-style: normal; font-size: 9px; letter-spacing: .12em; text-transform: uppercase; color: var(--gold-deep, var(--blue)); margin-left: 6px; }
.pb-sum-total { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0 8px; } .pb-sum-total span { font-size: 10px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--ink3, var(--ink-3)); }
.pb-sum-total b { font-family: var(--serif, inherit); font-size: 30px; font-weight: 500; letter-spacing: .01em; color: var(--gold-deep, var(--ink)); }
.pb-side-acts { display: grid; gap: 8px; } .pb-side-acts .btn { justify-content: center; padding: 11px 14px; }
.pb-over { position: fixed; inset: 0; z-index: 1000; display: none; grid-template-rows: auto 1fr; background: rgba(12, 10, 8, .78); backdrop-filter: blur(6px); padding: 14px clamp(10px, 3vw, 40px) 18px; }
.pb-over.on { display: grid; animation: pbIn .18s ease-out; }
@keyframes pbIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.pb-over-bar { display: flex; align-items: center; gap: 12px; padding: 0 2px 12px; color: #fff; flex-wrap: wrap; } .pb-over-bar .hint { color: rgba(255,255,255,.72); } .pb-over-sp { flex: 1; }
.pb-over-bar .btn:not(.primary) { color: #fff; border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.08); }
.pb-over .dz-frame { height: 100%; min-height: 0; margin: 0 auto; width: 100%; max-width: 1500px; border-radius: 14px; overflow: hidden; box-shadow: 0 30px 90px -20px rgba(0,0,0,.7); }
.pb-over .dz-frame.phone { max-width: 420px; }
.pb-over .dz-frame iframe { width: 100%; height: 100%; border: 0; display: block; background: #fff; }
body.pb-noscroll { overflow: hidden; }
@media (max-width: 1100px) { .pb { grid-template-columns: 1fr; } .pb-side { position: static; } }
@media (prefers-reduced-motion: reduce) { .pb-over.on { animation: none; } }

.pb-head { flex-wrap: nowrap; align-items: flex-start; gap: 18px; } .pb-head > div:first-child { flex: 1 1 auto; min-width: 0; } .pb-head .page-sub { max-width: 78ch; } .pb-head .quick { flex: none; margin-top: 6px; }
@media (max-width: 900px) { .pb-head { flex-wrap: wrap; } }

/* collections: a tab each, a row per event */
.pb-pktabs { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.pb-pktab { display: grid; gap: 1px; text-align: left; padding: 9px 14px; border-radius: 11px; border: 1px solid var(--line); background: var(--card, #fff); color: var(--ink2, var(--ink-2)); font: inherit; cursor: pointer; min-width: 120px; transition: border-color .15s, box-shadow .15s; }
.pb-pktab b { font-family: var(--serif, inherit); font-size: 15px; font-weight: 600; color: var(--ink); } .pb-pktab i { font-style: normal; font-size: 11.5px; color: var(--ink3, var(--ink-3)); }
.pb-pktab:hover { border-color: var(--line-3, var(--gold)); } .pb-pktab.on { border-color: var(--gold, var(--blue)); box-shadow: 0 0 0 2px color-mix(in srgb, var(--blue) 24%, transparent); background: color-mix(in srgb, var(--blue) 9%, var(--card)); }
.pb-pktab.hi b::after { content: ' ★'; color: var(--gold-deep, var(--amber)); font-size: 12px; }
.pb-pktab.add { display: inline-flex; align-items: center; gap: 6px; min-width: 0; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 600; border-style: dashed; }
.pb-f { display: grid; gap: 5px; min-width: 0; } .pb-f.grow { flex: 1; } .pb-f label, .pb-price-l { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--ink3, var(--ink-3)); }
.pb-pk .pb-pk-top { align-items: end; gap: 12px; } .pb-pk .pb-pk-top .pb-loved { padding-bottom: 10px; } .pb-pk .pb-pk-top .pb-tool { margin-bottom: 5px; }
.pb-sub { font-family: var(--serif, inherit); font-size: 17px; color: var(--ink); margin: 10px 0 2px; display: flex; align-items: baseline; gap: 10px; } .pb-sub small { font-family: var(--sans, inherit); font-size: 11.5px; color: var(--ink3, var(--ink-3)); }
.pb-cv { display: grid; gap: 6px; }
.pb-cv-row { display: grid; grid-template-columns: 26px minmax(140px, 1.6fr) 84px 118px 112px 112px minmax(84px, .8fr); gap: 10px; align-items: center; padding: 9px 12px; border: 1px solid var(--line); border-radius: 11px; background: var(--card, #fff); opacity: .62; transition: opacity .15s, border-color .15s; }
.pb-cv-row.on { opacity: 1; border-color: var(--line-2, var(--line)); } .pb-cv-row.head { opacity: 1; border: 0; background: none; padding: 0 12px; font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--ink3, var(--ink-3)); }
.pb-cv-row .r { text-align: right; } .pb-cv-on input { width: 16px; height: 16px; accent-color: var(--gold-deep, var(--blue)); }
.pb-cv-ev { min-width: 0; } .pb-cv-ev b { display: block; font-family: var(--serif, inherit); font-size: 15px; font-weight: 600; color: var(--ink); } .pb-cv-ev i { display: block; font-style: normal; font-size: 11px; color: var(--ink3, var(--ink-3)); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-cv-row input[type=number], .pb-cv-row select { width: 100%; min-width: 0; background: var(--alt, var(--bg-2)); border: 1px solid var(--line-2, var(--line)); border-radius: 8px; padding: 8px 9px; font: inherit; font-size: 13px; color: var(--ink); outline: 0; }
.pb-cv-row input:focus, .pb-cv-row select:focus { border-color: var(--gold, var(--blue)); }
.pb-cv-money { display: flex; align-items: center; gap: 4px; } .pb-cv-money em { font-style: normal; color: var(--ink3, var(--ink-3)); font-size: 12px; }
.pb-cv-t { font-family: var(--serif, inherit); font-size: 16px; font-weight: 600; color: var(--ink); }
.pb-price { display: flex; align-items: center; justify-content: flex-end; gap: 12px; padding: 10px 2px 0; flex-wrap: wrap; } .pb-auto { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; color: var(--ink2, var(--ink-2)); margin-right: auto; cursor: pointer; } .pb-auto input { accent-color: var(--gold-deep, var(--blue)); }
.pb-price .pb-pk-price input { width: 120px; font-family: var(--serif, inherit); font-size: 18px; } .pb-price .pb-pk-price input[readonly] { color: var(--gold-deep, var(--ink)); background: transparent; }
.pb-lines { display: grid; gap: 6px; } .pb-line { display: grid; grid-template-columns: 22px 1fr 28px; gap: 8px; align-items: center; } .pb-line span { font-size: 11px; color: var(--ink3, var(--ink-3)); text-align: right; }
.pb-line input { width: 100%; font-size: 13px; }
@media (max-width: 1250px) { .pb-cv-row { grid-template-columns: 26px 1fr 1fr 1fr; } .pb-cv-row.head { display: none; } .pb-cv-ev { grid-column: 2 / -1; } .pb-cv-row .pb-cv-t { grid-column: 2 / -1; text-align: left; } .pb-cv-row input[type=number], .pb-cv-row select { grid-column: auto; } }

/* the builder in the app's own type */
.pb-canvas .pb-pk-name { font-size: 15px; font-weight: 600; }
.pb-canvas .tpl-opt-t b, .pb-canvas .tpl-dd-cur .tpl-opt-t b { font-size: 14px; font-weight: 600; }
.pb-sub { font-size: 14px; font-weight: 700; letter-spacing: -.005em; } .pb-sub small { font-weight: 400; }
.pb-pktab b { font-size: 13.5px; font-weight: 650; } .pb-pktab.on { background: color-mix(in srgb, var(--blue) 10%, var(--card)); border-color: var(--blue); box-shadow: 0 0 0 2px color-mix(in srgb, var(--blue) 22%, transparent); }
.pb-cv-ev b { font-size: 13.5px; font-weight: 600; } .pb-cv-t { font-size: 14px; font-weight: 700; font-variant-numeric: tabular-nums; }
.pb-cv-row { background: var(--card); } .pb-cv-row.on { border-color: var(--line-2); }
.pb-price .pb-pk-price input { font-size: 16px; font-weight: 700; font-variant-numeric: tabular-nums; } .pb-price .pb-pk-price input[readonly] { color: var(--blue); }
.pb-sum-big { font-size: 19px; font-weight: 700; letter-spacing: -.01em; }
.pb-sum-total b { font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); font-variant-numeric: tabular-nums; background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.pb-sum-row b, .pb-side .kvrow b { font-variant-numeric: tabular-nums; }
.pb-sum-row i { color: var(--blue); }
.pb-canvas .pb-ev { background: var(--bg-2); border-color: var(--line); }
.pb-canvas .pb-ev-h b { font-size: 14px; font-weight: 600; }
.pb-canvas .pb-ev-n { background: var(--grad); }
.pb-canvas .pb-chair { background: var(--card); border-color: var(--line-2); color: var(--ink-2); }
.pb-canvas .sw input:checked + i { background: var(--blue); }
.pb-canvas .pb-ev-n { color: #fff; font-weight: 700; font-size: 11px; display: grid; place-items: center; }

.dz.dz-full { grid-template-columns: 1fr; } .dz.dz-full > .dz-side { display: none; }
.dz-bar .hint { margin-right: auto; }

/* settings: tabs in groups */
.settabs.grouped { display: flex; flex-wrap: wrap; gap: 6px 18px; overflow: visible; }
.settab-g { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; padding: 4px 6px 4px 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg-2); }
.settab-gl { font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--ink-3); margin-right: 6px; }
.et-list { display: grid; gap: 6px; max-width: 520px; } .et-row { display: grid; grid-template-columns: 1fr 30px; gap: 8px; align-items: center; } .et-row input { width: 100%; }
.et-row input { background: var(--bg-2); border: 1px solid var(--line-2); border-radius: 9px; color: var(--ink); font: inherit; font-size: 13px; padding: 8px 11px; outline: 0; } .et-row input:focus { border-color: var(--blue); }
/* ---- the builder's event boxes: edit, crew, what the studio brings ---- */
.pb-ev-h { position: relative; } .pb-ev-acts { margin-left: auto; flex: none; }
.pb-ev-cov { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin: 0 0 10px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--card, #fff); }
.pb-ev-covl { font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--ink3, var(--ink-3)); }
.pb-ev-cov label { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; } .pb-ev-cov label i { font-style: normal; color: var(--ink3, var(--ink-3)); }
.pb-ev-cov select, .pb-ev-cov input { width: 64px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg-2, #fff); color: inherit; font: inherit; font-size: 12.5px; }
.pb-chair.add { cursor: pointer; border-style: dashed; color: var(--gold-deep, var(--blue)); background: transparent; font: inherit; font-size: 11.5px; }
.pb-chair.add:hover { border-style: solid; }
.pb-sum-np { font-size: 12px; font-weight: 600; color: var(--ink3, var(--ink-3)); letter-spacing: .04em; }
/* ---- the builder's event box, tightened: one line for crew and what we bring, one for the photograph ---- */
.pb-ev-cov { display: none; }
.pb-ev-line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 0 0 8px; padding: 7px 10px; border: 1px solid var(--line); border-radius: 10px; background: var(--card, #fff); }
.pb-ev-line label { display: inline-flex; align-items: center; gap: 5px; font-size: 11.5px; } .pb-ev-line label i { font-style: normal; color: var(--ink3, var(--ink-3)); }
.pb-ev-line select, .pb-ev-line input[type=number] { width: 58px; padding: 4px 6px; border: 1px solid var(--line); border-radius: 7px; background: var(--bg-2, #fff); color: inherit; font: inherit; font-size: 12px; }
.pb-ev-sep { width: 1px; height: 18px; background: var(--line); margin: 0 2px; }
.pb-ev-shot { display: flex; align-items: center; gap: 8px; }
.pb-ev-shot .pic-thumb { width: 36px; height: 36px; border-radius: 8px; }
.pb-ev-add { width: 36px; height: 36px; border-radius: 8px; border: 1.5px dashed var(--line-2, var(--line)); display: grid; place-items: center; color: var(--ink3, var(--ink-3)); cursor: pointer; flex: none; }
.pb-ev-add:hover { border-color: var(--gold-deep, var(--blue)); color: var(--gold-deep, var(--blue)); }
.pb-ev-shot input { min-width: 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--card, #fff); color: inherit; font: inherit; font-size: 12.5px; }
.pb-ev-shot .pb-ev-url { flex: 0 1 34%; } .pb-ev-shot .pb-ev-cap { flex: 1 1 50%; }
.pb-ev-h > div span + span { margin-top: 0; }
.pb-canvas .pb-ev-n { background: var(--gold-deep, var(--blue)); color: #fff; }
.pb-canvas .pb-ev { padding: 12px 14px; margin-top: 10px; }
.pb-cv-row { grid-template-columns: 26px minmax(160px, 1.8fr) 84px 124px minmax(84px, .8fr); }
@media (max-width: 720px) { .pb-ev-shot { flex-wrap: wrap; } .pb-ev-shot .pb-ev-url, .pb-ev-shot .pb-ev-cap { flex: 1 1 100%; } }
.pb-canvas .pb-ev-n { color: #fff !important; background: var(--gold-deep, var(--blue)) !important; }
/* ---- the builder, made plain: design in the head, numbered sections, price first ---- */
.pb-design { display: flex; align-items: center; gap: 10px; margin-top: 10px; max-width: 460px; }
.pb-design-l { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--ink3, var(--ink-3)); flex: none; }
.pb-design .tpl-dd { flex: 1; min-width: 0; } .pb-design .tpl-dd-cur { padding: 5px 10px 5px 6px; } .pb-design .tpl-opt-th { width: 38px; height: 28px; }
.pb-design .tpl-dd-cur .tpl-opt-t i { display: none; } .pb-design-e { flex: none; font-size: 12px; white-space: nowrap; }
.pb-canvas .card-h h3 em { font-style: normal; display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--gold-deep, var(--blue)); color: #fff; font-size: 11px; font-weight: 700; margin-right: 4px; }
.pb-ev-hint { margin: 10px 0 0; }
.pb-pk .pb-price { margin: 0 0 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--card, #fff); }
.pb-pk.manual .pb-cv-money, .pb-pk.manual .pb-cv-t, .pb-pk.manual .pb-cv-row.head span:nth-child(4), .pb-pk.manual .pb-cv-row.head span:nth-child(5) { display: none; }
.pb-pk.manual .pb-cv-row { grid-template-columns: 26px 1fr 84px; }
/* ---- quote format, costs & margin ---- */
.pb-format { margin-top: 6px; } .pb-format .help { font-size: 11.5px; }
.pb-costs .pb-cost { display: grid; grid-template-columns: 1fr 110px 26px; gap: 6px; align-items: center; margin-bottom: 6px; }
.pb-costs .pb-cost input { min-width: 0; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--card, #fff); color: inherit; font: inherit; font-size: 12.5px; }
.pb-costs .pb-pk-price { display: flex; align-items: center; gap: 4px; } .pb-costs .pb-pk-price > span { color: var(--ink3, var(--ink-3)); font-size: 12px; }
.pb-costs .pb-add { margin: 2px 0 10px; }
.pb-pk.byevent .pb-auto { display: none; }
.ev-where { grid-template-columns: 1fr 1.4fr; }
/* ---- catalogue items on an event; extras from the catalogue ---- */
.pb-ev-inc { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 4px; }
.pb-chip { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--card, #fff); font-size: 11.5px; cursor: pointer; }
.pb-chip input { width: 13px; height: 13px; accent-color: var(--gold-deep, var(--blue)); margin: 0; }
.pb-chip.on { border-color: var(--gold-deep, var(--blue)); background: color-mix(in srgb, var(--gold-deep, var(--blue)) 10%, var(--card, #fff)); }
.pb-chip i { font-style: normal; color: var(--ink3, var(--ink-3)); }
.pb-ad-acts { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.pb-adcat { padding: 6px 10px; border: 1px solid var(--line); border-radius: 8px; background: var(--card, #fff); color: inherit; font: inherit; font-size: 12px; }
.pb-mg { display: grid; gap: 4px; margin: 4px 0 8px; }
.pb-mg-r { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 6px; font-size: 12px; padding: 6px 0; border-bottom: 1px solid var(--line); align-items: center; }
.pb-mg-r.head { font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--ink3, var(--ink-3)); border-bottom: 0; padding-bottom: 0; }
.pb-mg-r span { text-align: right; font-variant-numeric: tabular-nums; } .pb-mg-r span:first-child { text-align: left; }
.pb-mg-r b { display: block; font-size: 12.5px; } .pb-mg-r i { font-style: normal; font-size: 10.5px; color: var(--ink3, var(--ink-3)); }
.pb-mg-r span.bad { color: var(--red, #d33); }
.pb-mg { display: grid; gap: 2px; margin: 4px 0 8px; }
.pb-mg-r { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 6px; font-size: 12px; padding: 6px 0; border-bottom: 1px solid var(--line); align-items: center; }
.pb-mg-r.head { font-size: 9.5px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; color: var(--ink3, var(--ink-3)); border-bottom: 0; padding-bottom: 0; }
.pb-mg-r span { text-align: right; font-variant-numeric: tabular-nums; } .pb-mg-r span:first-child { text-align: left; }
.pb-mg-r b { display: block; font-size: 12.5px; } .pb-mg-r i { font-style: normal; font-size: 10.5px; color: var(--ink3, var(--ink-3)); }
.pb-mg-r span.bad { color: var(--red, #d33); }
/* ---- the collection's event boxes: everything about an event in one place ---- */
.pb-cev-l { display: grid; gap: 8px; }
.pb-cev { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; background: var(--card, #fff); opacity: .6; transition: opacity .15s, border-color .15s; }
.pb-cev.on { opacity: 1; border-color: var(--line-2, var(--line)); }
.pb-cev-h { display: flex; align-items: center; gap: 10px; }
.pb-cev-t { flex: 1; min-width: 0; } .pb-cev-t b { display: block; font-family: var(--serif, inherit); font-size: 15px; font-weight: 600; } .pb-cev-t i { display: block; font-style: normal; font-size: 11px; color: var(--ink3, var(--ink-3)); }
.pb-cev-h .pb-cv-t { font-size: 15px; font-weight: 700; font-variant-numeric: tabular-nums; }
.pb-cev-c { display: grid; grid-template-columns: 90px 130px 1fr 1fr; gap: 8px; margin: 10px 0 8px; }
.pb-cev-c label { display: grid; gap: 3px; } .pb-cev-c label > span:first-child { font-size: 9.5px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--ink3, var(--ink-3)); }
.pb-cev-c input, .pb-cev-c select { width: 100%; padding: 7px 9px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg-2, #fff); color: inherit; font: inherit; font-size: 12.5px; }
.pb-cev-c .pb-cv-money { display: flex; align-items: center; gap: 4px; } .pb-cev-c .pb-cv-money em { font-style: normal; color: var(--ink3, var(--ink-3)); font-size: 12px; }
.pb-cev .pb-ev-inc { margin: 0; }
.pb-pk.manual .pb-cev-c label.rate, .pb-pk.manual .pb-cev-h .pb-cv-t { display: none; }
@media (max-width: 700px) { .pb-cev-c { grid-template-columns: 1fr 1fr; } }
