/* Structural bridges only. The controls and their theme come directly from
   save-the-date-mobile.css, save-the-date-mobile-controls.js and upload-card. */
body.wb-active{overflow:hidden}
/* The URL tradition remains part of the brief without taking up viewport space. */
main>[data-invite-tradition]{display:none!important}
.wb-active #root>nav,.wb-active #root>footer,.wb-active #root>div.fixed[class*="bottom-5"],.wb-active main>section:first-child{display:none!important}
.wb-active main{min-height:0!important;background:transparent!important}
.wb-active #wedding-brief-form{display:flex;flex-direction:column;width:100%;height:var(--wb-viewport-height,100dvh);padding:0!important;margin:0!important;overflow:hidden}
.wb-active .wb-header{flex:none;width:100%;max-width:none;box-sizing:border-box}
.wb-active .wb-flex-chain{display:flex!important;flex-direction:column!important;flex:1!important;min-height:0!important;max-width:none!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;gap:0!important}
.wb-active .wb-flex-chain> :not(.wb-flex-chain):not(.wb-host){display:none!important}
.wb-active #wedding-brief-form .wb-host{display:flex!important;flex-direction:column;flex:1;min-height:0!important;min-width:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;color:var(--sdt-ink)!important;overflow:hidden!important;font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
.wb-active #wedding-brief-form .wb-host :is(input,select,textarea,button){font-family:inherit}
.wb-active #wedding-brief-form .wb-host label,.wb-active #wedding-brief-form .wb-host legend{font-size:12px;font-weight:500;color:var(--sdt-ink)}
.wb-active #wedding-brief-form .wb-host :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not(.sdt-date-segment),textarea,select):not(.sdt-native-select){box-sizing:border-box;min-width:0;max-width:100%;border-color:var(--sdt-line)!important;color:var(--sdt-ink)!important;background:#fff!important}
.wb-active #wedding-brief-form .wb-host textarea{display:block;width:100%;min-height:96px;padding:12px 14px;margin-top:7px;border:1px solid var(--sdt-line);border-radius:12px;font-size:16px;resize:vertical}
.wb-active #wedding-brief-form .wb-host :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--sdt-accent);outline-offset:3px}
.wb-active #wedding-brief-form .wb-host h3.sdt-step-title{font:400 29px/1.2 Georgia,serif;letter-spacing:-.5px;margin:6px 0 24px;color:var(--sdt-ink)}
.wb-active #wedding-brief-form .wb-host :is(h3,h2)[tabindex="-1"]:focus{outline:0}
.wb-active .wb-host .wb-eyebrow{font-size:10px;letter-spacing:.18em;color:var(--sdt-accent);margin-bottom:8px}
/* Match the form's accent on labels inherited from the older brief. */
.wb-active #wedding-brief-form .wb-host :is(.text-rose-500,.text-rose-600,.text-rose-700){color:var(--sdt-accent)}
.wb-active .wb-host :is(.scene-brief-muted,.wb-hint){color:var(--sdt-muted);font-size:12px;line-height:1.7}
.wb-active #wedding-brief-form .wb-host :is(.step-indicator-row,.scene-brief-steps,.zari-brief>nav,.wb-flat-progress){flex:none;flex-wrap:nowrap;gap:0;width:100%;box-sizing:border-box}
.wb-active #wedding-brief-form .wb-host .wb-step{position:relative;display:flex!important;justify-content:center;align-items:center;flex:none;min-width:32px;margin:0;padding:0;border:0;background:none;color:transparent;font-size:0;line-height:0;cursor:pointer}
.wb-active #wedding-brief-form .wb-host :is(.scene-brief-steps,.zari-brief>nav,.wb-flat-progress) .wb-step{flex:1}
.wb-active #wedding-brief-form .wb-host .wb-step .step-indicator-inner{display:flex!important;align-items:center;justify-content:center;padding:0;border:0;flex:none;line-height:1}
.wb-active #wedding-brief-form .wb-host :is(.scene-brief-steps,.zari-brief>nav,.wb-flat-progress){position:relative}
.wb-active #wedding-brief-form .wb-host :is(.scene-brief-steps,.zari-brief>nav,.wb-flat-progress):before{content:'';position:absolute;left:15%;right:15%;top:34px;height:1px;background:var(--sdt-line)}
.wb-active #wedding-brief-form .wb-host :is(.scene-brief-steps,.zari-brief>nav,.wb-flat-progress) .step-indicator-inner{box-shadow:0 0 0 8px #fff}
.wb-active #wedding-brief-form .wb-host .wb-panel-current{position:relative!important;inset:auto!important;transform:none!important;opacity:1!important;width:100%}
.wb-active #wedding-brief-form .wb-host .wb-panel-leaving{display:none!important}
.wb-active .wb-host .step-default>div{padding:0}
.wb-active #wedding-brief-form .wb-host :is(.signature-step,.wb-page){flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ddcdd8 transparent;scroll-margin:0}
.wb-active .wb-signature>form{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}
.wb-active .wb-host :is(.scene-brief-heading,.scene-brief-variants,.wb-original-title,.wb-original-variants,.wb-side-native){display:none!important}
.wb-active .wb-signature>.signature-family{display:none}
.wb-active .wb-photo-toggle{margin:24px 0;padding:18px;border:1px solid var(--sdt-line);border-radius:16px;background:#fdfbfc}
.wb-active .wb-side-control{margin:24px 0}
.wb-active .wb-host .wb-side-track{max-width:430px}
.wb-active .wb-host .wb-photo-toggle .wb-side-track{height:62px}
.wb-active .wb-host .wb-photo-toggle .sdt-side-help{font-size:11px;margin-top:14px}
.wb-active .wb-host .wb-choice-price{display:block;font-size:10px;line-height:1.2;margin-top:3px}
.wb-active .wb-host .signature-card{border-color:var(--sdt-line);box-shadow:none}
.wb-active .wb-host :is(.signature-card-bar,.native-event-head){background:#faf7f9;border-color:var(--sdt-line)}
.wb-active .wb-host .signature-card-body{padding:18px;gap:20px}
.wb-active .wb-host .signature-art-column{position:static}
.wb-active .wb-host :is(.signature-fields,.native-event-body){border:0;margin:0}
.wb-active .wb-host .signature-switch[aria-checked=true] span,.wb-active .wb-host .native-event-toggle[aria-checked=true] i{background:var(--sdt-accent)}
.wb-active .wb-host :is(.signature-card button,.signature-add button,.signature-preview-link,.native-event-remove){color:var(--sdt-accent);border-color:var(--sdt-line);background:#fff}
.wb-active .wb-host :is(.signature-family,.signature-add,.signature-photos,.native-event-card,.wb-event-card){border-color:var(--sdt-line)!important;background:#fdfbfc!important;border-radius:16px}
.wb-active .wb-host :is(.zari-fields,.scene-brief-grid){display:grid;grid-template-columns:1fr;gap:0 20px}
.wb-active .wb-zari>h2,.wb-active .wb-zari>p:not([role=status]),.wb-active .wb-zari .wb-page>p{display:none!important}
.wb-active .wb-zari fieldset{padding:16px;border:1px solid var(--sdt-line);border-radius:16px;background:#fdfbfc;margin:20px 0}
.wb-active .wb-zari fieldset legend{padding:0 8px}
.wb-active .wb-host :is(.wb-page-heading,.wb-flat-heading){margin:0 0 24px}
.wb-active .wb-zari .wb-page-heading .wb-hint{margin:18px 0 0}
.wb-active .wb-host :is(.footer-container,.scene-brief-actions,.wb-actions,.wb-flat-actions){flex:none;display:flex;justify-content:space-between;gap:12px;width:100%;box-sizing:border-box;margin:0;background:#fff}
.wb-active .wb-host .scene-brief-actions>span{display:none}
.wb-active .wb-host .footer-nav{width:100%}
.wb-active .wb-host :is(.scene-brief-actions,.wb-actions,.wb-flat-actions)>button{margin:0}
.wb-active .wb-host [role=status]:not(:empty),.wb-active .wb-host [role=alert]:not(:empty){flex:none;max-height:110px;overflow:auto;margin:0;padding:10px 24px;background:#fff5f7;border-top:1px solid #ecdfe5;font-size:12px;color:#8b3c5b}
.wb-active .wb-host :is([role=status],[role=alert]):empty{display:none}
.wb-active #wedding-brief-form .wb-host.wb-flat{display:block!important;position:relative;overflow-y:auto!important;padding:80px 24px 100px!important}
.wb-active #wedding-brief-form .wb-host.wb-flat>.wb-flat-progress{position:sticky;top:-80px;margin-top:-80px;z-index:3;background:var(--wb-nav-solid,#fff)}
.wb-active .wb-flat>.wb-flat-actions{position:fixed;bottom:0;left:0;right:0;width:100%;margin:0;z-index:5}
.wb-active .wb-host :is(.wb-native-submit,.wb-flat-hidden),.wb-active .wb-flat .wb-flat-actions>[hidden]{display:none!important}
.wb-active .wb-flat .ks-fields{grid-template-columns:1fr}
.wb-active .wb-native-upload,.wb-active .wb-native-file{display:none!important}
.wb-active .wb-shared-uploads{display:grid;gap:16px;margin:18px 0}
.wb-active .wb-host .wb-shared-uploads :is(input[type=file],button){font-family:inherit}
.wb-active .wb-host .wb-shared-uploads h3{font:inherit!important}
.wb-active .wb-host .sdt-native-date-label{display:none!important}
.wb-active .wb-host .sdt-date-picker{display:block;margin:14px 0 22px;max-width:410px}
.wb-active #wedding-brief-form .wb-host .sdt-date-segment{margin:0;padding:6px 3px;border:0!important;box-shadow:none;background:transparent!important;font-size:16px;min-height:36px;height:36px;max-width:61px}
.wb-active #wedding-brief-form .wb-host .sdt-dropdown-trigger{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(150deg,#fff,#fbf6f9);color:#795369;border:1px solid #e8dbe3}
.wb-active .wb-review-list{display:grid;grid-template-columns:1fr 1.5fr;gap:12px 16px;font-size:13px}
.wb-active .wb-review-list dt{color:var(--sdt-muted)}.wb-active .wb-review-list dd{margin:0;overflow-wrap:anywhere;white-space:pre-line}
.wb-dialog:not([open]){display:none}
.wb-dialog{color:#45313b;border:1px solid #eadde5;border-radius:24px;background:#fcfafb;width:min(94vw,600px);max-height:86dvh;padding:0 24px 24px;overflow-y:auto;overscroll-behavior:contain}
.wb-dialog::backdrop{background:#35172580;backdrop-filter:blur(5px)}
.wb-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;padding:20px 0;background:#fcfafb;z-index:2}
.wb-dialog h2{font:400 25px/1.2 Georgia,serif;margin:0}
.wb-close{width:44px;height:44px;flex:none;border:1px solid #ecd9df;border-radius:50%;font:26px Arial,sans-serif;background:#fff;color:#45313b;cursor:pointer}
.wb-design-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.wb-design-option{padding:18px 14px;min-height:70px;text-align:left;font-size:13px;border:1px solid #e8dde3;border-radius:14px;background:#fff;color:#735463;cursor:pointer}
.wb-design-option[aria-pressed=true]{border-color:#98536d;background:#f6edf2}
.wb-preview-slot{max-width:320px;margin:auto}.wb-preview-full{display:block;text-align:center;color:#98536d;text-decoration:underline;margin:18px 0 0}
.wb-share-dialog input{display:block;width:100%;padding:14px 12px;border:1px solid #e8dde3;border-radius:12px;background:#fff;color:#45313b;font-size:14px;margin:16px 0}
.wb-active #wedding-brief-form .wb-host.wb-success{padding:32px!important;overflow:auto!important;display:block!important}
.wb-active .scene-brief-success{flex:1;overflow:auto;margin:24px;padding:24px}
.wb-active [aria-label="Scroll to top"],.wb-active [aria-label="Back to top"]{display:none!important}
@media(min-width:768px){
 .wb-active #wedding-brief-form{max-width:1180px;margin:0 auto!important;padding:0 36px 28px!important;background:transparent}
 .wb-active .wb-host :is(.zari-fields,.scene-brief-grid){grid-template-columns:1fr 1fr}
 .wb-active #wedding-brief-form .wb-host h3.sdt-step-title{font-size:36px}
 .wb-active #wedding-brief-form .wb-host :is(.scene-brief-steps,.zari-brief>nav,.wb-flat-progress):before{top:42px}
 .wb-active .wb-host :is(.scene-brief-actions,.wb-actions,.wb-flat-actions){padding-left:max(48px,calc((100% - 804px)/2));padding-right:max(48px,calc((100% - 804px)/2))}
 .wb-active .wb-host .next-button{margin-left:auto}
 .wb-active #wedding-brief-form .wb-host.wb-flat{padding:90px max(48px,calc((100% - 804px)/2)) 110px!important}
 .wb-active #wedding-brief-form .wb-host.wb-flat>.wb-flat-progress{top:-90px;margin-top:-90px}
 .wb-active .wb-flat>.wb-flat-actions{left:max(36px,calc((100vw - 1108px)/2));right:max(36px,calc((100vw - 1108px)/2));width:auto;bottom:28px;border-radius:0 0 28px 28px}
 .wb-active .wb-flat .ks-fields{grid-template-columns:1fr 1fr}
 .wb-active .wb-shared-uploads{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){.wb-active .wb-host .signature-card-body{grid-template-columns:1fr}.wb-active .wb-host .signature-art-column{max-width:120px;width:120px;justify-self:center}.wb-active .wb-host .signature-card-bar{gap:6px}.wb-active .wb-host .signature-add{flex-direction:column}.wb-active .wb-host .native-event-body{grid-template-columns:1fr}.wb-active .wb-host .step-default .grid{grid-template-columns:1fr!important}.wb-active .wb-flat>div[style*="grid"]{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.wb-host *{scroll-behavior:auto!important}}
/* Neutralise the individual templates' button/span rules inside shared widgets. */
.wb-active #wedding-brief-form .wb-host .step-indicator-row{margin:0 auto!important}
.wb-active #wedding-brief-form .wb-host .sdt-status-symbol{padding:0!important;border:0!important;box-shadow:none!important}
.wb-active #wedding-brief-form .wb-host button.sdt-side-choice{margin:0;padding:0;border:0;background:transparent;color:#8e7885;font-size:13px;font-weight:400;line-height:normal;border-radius:0}
.wb-active #wedding-brief-form .wb-host button.sdt-side-choice[aria-pressed=true]{font-weight:600;color:#715166;text-shadow:0 1px #fff}
.wb-active #wedding-brief-form .wb-host .sdt-side-thumb{padding:0;border-radius:999px;background:linear-gradient(#fff,#faf6f9)}
.wb-active #wedding-brief-form .wb-host{font-family:inherit!important}
.wb-active #wedding-brief-form .wb-host{font-family:Inter,sans-serif!important}
.wb-active #wedding-brief-form .wb-host :is(.signature-step,.wb-page){width:100%;box-sizing:border-box}
@media(min-width:768px){
 .wb-active #wedding-brief-form .wb-host :is(.scene-brief-actions,.wb-actions,.wb-flat-actions){padding-left:max(48px,calc((100% - 804px)/2));padding-right:max(48px,calc((100% - 804px)/2))}
 .wb-active #wedding-brief-form .wb-host .next-button{margin-left:auto!important}
}
.wb-active #wedding-brief-form .wb-host{font-size:16px!important}
.wb-active #wedding-brief-form>.wb-header{width:100%;max-width:none;margin:0}
.wb-active #wedding-brief-form .wb-host :is(.scene-brief-steps,.zari-brief>nav,.wb-flat-progress):before{content:none}
.wb-active #wedding-brief-form .wb-host :is(.scene-brief-steps,.zari-brief>nav,.wb-flat-progress) .wb-step{flex:0 0 auto}
.wb-active #wedding-brief-form{height:var(--wb-viewport-height,100dvh)!important}
.wb-active .wb-flat>.wb-flat-actions{bottom:var(--wb-keyboard-inset,0px)}
@media(min-width:768px){.wb-active .wb-flat>.wb-flat-actions{bottom:calc(28px + var(--wb-keyboard-inset,0px))}}
/* Consistent geometry and frosted navigation, shared by every wedding form. */
.wb-active #wedding-brief-form .wb-host{--wb-progress-height:88px;--wb-footer-height:88px}
.wb-active #wedding-brief-form .wb-host .step-indicator-row{height:var(--wb-progress-height);min-height:var(--wb-progress-height);display:flex;align-items:flex-start;padding:16px 34px 38px!important;position:relative;z-index:6;background:var(--wb-progress-bg,rgba(252,250,251,.78))!important;border-bottom:1px solid var(--wb-nav-line,rgba(232,220,227,.65));box-shadow:0 6px 24px #69455a05;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
.wb-active #wedding-brief-form .wb-host .wb-step{width:34px;min-width:34px;height:34px;box-sizing:border-box;text-align:center!important;align-self:flex-start}
.wb-active #wedding-brief-form .wb-host .wb-step:after{left:50%;top:42px;transform:translateX(-50%);width:74px;white-space:normal;text-align:center;line-height:1.25;font-size:10px;letter-spacing:0;font-weight:500}
.wb-active #wedding-brief-form .wb-host .step-indicator-inner{width:34px;height:34px;min-width:34px;min-height:34px;box-sizing:border-box;box-shadow:none!important;margin:0!important}
.wb-active #wedding-brief-form .wb-host .sdt-status-symbol{display:grid;place-items:center;width:100%;height:100%;margin:0!important;font-size:13px;line-height:1!important}
.wb-active #wedding-brief-form .wb-host .step-connector{align-self:flex-start;flex:1;min-width:5px;margin:17px 8px 0;height:1px}
.wb-active #wedding-brief-form .wb-host:not(.wb-flat) .step-indicator-row{margin-bottom:calc(-1 * var(--wb-progress-height))!important}
.wb-active #wedding-brief-form .wb-host:not(.wb-flat) :is(.step-content-default,.signature-step,.wb-page){scroll-padding-top:calc(var(--wb-progress-height) + 20px);scroll-padding-bottom:calc(var(--wb-footer-height) + 20px)}
.wb-active #wedding-brief-form .wb-host:not(.wb-flat) :is(.signature-step,.wb-page),.wb-active #wedding-brief-form .wb-host:not(.wb-flat) .step-content-default .step-default{padding-top:calc(var(--wb-progress-height) + 18px)!important;padding-bottom:calc(var(--wb-footer-height) + 26px)!important}
.wb-active #wedding-brief-form .wb-host .footer-container{position:relative;z-index:7;min-height:var(--wb-footer-height);background:var(--wb-actions-bg,rgba(252,250,251,.8))!important;border-top:1px solid var(--wb-nav-line,rgba(232,220,227,.7));box-shadow:0 -8px 28px #69455a06;backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
.wb-active #wedding-brief-form .wb-host:not(.wb-flat) .footer-container{margin-top:calc(-1 * var(--wb-footer-height))!important}
.wb-active #wedding-brief-form .wb-host .footer-nav{align-items:center}
.wb-active #wedding-brief-form .wb-host.wb-flat>.wb-flat-actions{position:fixed}
.wb-active .wb-couple-options{display:grid;gap:18px;margin:24px 0!important;align-items:stretch}
.wb-active #wedding-brief-form .wb-host :is(.wb-side-control,.wb-photo-toggle){margin:0;padding:18px;border:1px solid var(--sdt-line);border-radius:18px;background:linear-gradient(145deg,#fdfbfc,#faf6f9);min-width:0;box-sizing:border-box}
.wb-active #wedding-brief-form .wb-host .wb-side-control:not(.wb-couple-options>*){margin:24px 0}
.wb-active #wedding-brief-form .wb-host .wb-side-track{width:100%;max-width:none;height:62px;margin-top:12px}
.wb-active #wedding-brief-form .wb-host :is(.wb-side-control,.wb-photo-toggle) .wb-hint{font-size:11px;line-height:1.6;margin:12px 0 0}
.wb-active #wedding-brief-form .wb-host .wb-control-label{display:block;min-height:20px;font-size:12px}
.wb-active #wedding-brief-form .wb-host .wb-family-card{border:1px solid var(--sdt-line);border-radius:18px;padding:18px;margin:20px 0;background:#fdfbfc}
.wb-active #wedding-brief-form .wb-host .wb-family-card legend{padding:0 8px}
.wb-active #wedding-brief-form .wb-host .signature-family{padding:12px 14px;margin-top:18px}
.wb-active #wedding-brief-form .wb-host .signature-family summary{min-height:24px;cursor:pointer}
.wb-active #wedding-brief-form .wb-host .wb-family-step>div:empty{display:none}
.wb-active #wedding-brief-form .wb-host .sdt-calendar-day{display:grid!important;place-items:center!important;padding:0!important;margin:0!important;line-height:1!important;text-align:center!important;min-height:0!important;min-width:0!important;box-sizing:border-box;font-variant-numeric:tabular-nums}
@media(min-width:768px){
 .wb-active .wb-couple-options{grid-template-columns:1fr 1fr;gap:22px}
 .wb-active #wedding-brief-form .wb-host{--wb-progress-height:104px;--wb-footer-height:90px}
 .wb-active #wedding-brief-form .wb-host .step-indicator-row{max-width:none;padding:22px max(62px,calc((100% - 730px)/2)) 42px!important}
 .wb-active #wedding-brief-form .wb-host .wb-step:after{font-size:12px;width:100px}
}
@media(max-width:360px){.wb-active #wedding-brief-form .wb-host .step-indicator-row{padding-left:25px!important;padding-right:25px!important}.wb-active #wedding-brief-form .wb-host .wb-step:after{font-size:9px;width:62px}.wb-active #wedding-brief-form .wb-host .step-connector{margin-left:5px;margin-right:5px}}
@media(prefers-reduced-transparency:reduce){.wb-active #wedding-brief-form .wb-host :is(.step-indicator-row,.footer-container){background:var(--wb-nav-solid,#fcfafb)!important}}
/* Native labels are text nodes: a template gap would offset the circle by 4px. */
.wb-active #wedding-brief-form .wb-host .wb-step{gap:0!important}
.wb-active #wedding-brief-form .wb-host.wb-flat{--wb-flat-gutter:22px;padding:0 var(--wb-flat-gutter) 120px!important}
.wb-active #wedding-brief-form .wb-host.wb-flat>.wb-flat-progress{top:0;width:calc(100% + 2 * var(--wb-flat-gutter));margin:0 calc(-1 * var(--wb-flat-gutter))!important}
.wb-active #wedding-brief-form .wb-host.wb-flat>.wb-flat-heading{margin-top:22px}
@media(min-width:768px){.wb-active #wedding-brief-form .wb-host.wb-flat{--wb-flat-gutter:max(48px,calc((100% - 804px)/2))}}
/* One family-control language, including the older native forms. */
.wb-active .wb-order-native{display:none!important}
.wb-active #wedding-brief-form .wb-host .wb-order-control .wb-side-track{height:56px}
.wb-active #wedding-brief-form .wb-host .wb-event-draft{margin:20px 0;padding:18px;border:1px solid var(--sdt-line);border-radius:18px;background:#fdfbfc}
.wb-active #wedding-brief-form .wb-host .wb-event-draft h4{margin:0 0 10px;font:400 22px/1.3 Georgia,serif;color:var(--sdt-ink)}
.wb-active #wedding-brief-form .wb-host .wb-event-draft .native-event-body{padding:0}
.wb-active #wedding-brief-form .wb-host .native-event-add{display:block;width:100%;min-height:48px;margin:16px 0 0;padding:12px 18px;border:1px solid #e5d4df;border-radius:14px;background:linear-gradient(145deg,#fff,#faf4f8);color:#795369;font:500 14px/1.4 Inter,sans-serif;cursor:pointer}
.wb-active #wedding-brief-form .wb-host .wb-event-move{margin:0;padding:6px 10px;border:1px solid var(--sdt-line);border-radius:9px;background:white;color:var(--sdt-accent);font-size:16px}
.wb-active #wedding-brief-form .wb-host .wb-event-move:disabled{opacity:.35;cursor:default}
.wb-active #wedding-brief-form .wb-host .wb-event-composer label{font-size:12px}
.wb-active #wedding-brief-form .wb-host .wb-event-composer .native-event-body{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;min-width:0;border:0}
.wb-active #wedding-brief-form .wb-host .wb-event-composer .native-event-field.full{grid-column:1/-1}
@media(max-width:600px){.wb-active #wedding-brief-form .wb-host .wb-event-composer .native-event-body{grid-template-columns:1fr}}

.wb-active #wedding-brief-form .wb-host .wb-event-composer .native-event-field{display:block;margin:10px 0;min-width:0}
.wb-active #wedding-brief-form .wb-host .wb-event-composer .native-event-field :is(input,textarea){display:block;width:100%;box-sizing:border-box}
.wb-active #wedding-brief-form .wb-host .wb-event-composer .sdt-date-picker{margin:10px 0;max-width:none}
.wb-active #wedding-brief-form .wb-host :is(.wb-side-control,.wb-photo-toggle){width:100%;max-width:none!important}
/* Shared wheel time picker and simplified uploads. */
.wb-active input.wb-native-time{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;padding:0!important}
.wb-time-trigger{display:block;width:100%;margin-top:7px;padding:13px 16px;border:1px solid #e9d4dc;border-radius:12px;text-align:left;background:#fff;color:#571c30;font:inherit;cursor:pointer}
.wb-time-dialog{padding:26px;max-width:380px}.wb-time-dialog h2{font:500 26px Georgia;margin:0 0 10px}.wb-time-dialog p{font:14px/1.6 system-ui;color:#856572}.wb-wheel{position:relative;display:flex;justify-content:center;user-select:none;background:#fff;border:1px solid #eadde5;border-radius:16px;padding:0 12px}.wb-wheel-band{position:absolute;inset:calc(50% - 18px) 8px auto;height:36px;border-radius:8px;background:#f4edf1}.wb-wheel-column{position:relative;width:76px;cursor:grab;touch-action:none;outline:none;border-radius:9px}.wb-wheel-column:focus-visible{box-shadow:inset 0 0 0 2px #98536d}.wb-wheel-column:active{cursor:grabbing}.wb-wheel-fade{position:absolute;inset:0;mask-image:linear-gradient(to bottom,transparent,#000 34%,#000 66%,transparent)}.wb-wheel-projection{position:absolute;inset:0;pointer-events:none;color:#b5a5ae}.wb-wheel-projection.is-selected{color:#571c30;font-weight:600}.wb-wheel-drum{position:absolute;left:0;right:0;top:50%;transform-style:preserve-3d}.wb-wheel-option{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:center;font:inherit;font-size:22px;font-variant-numeric:tabular-nums;backface-visibility:hidden}.wb-time-manual{display:block;margin:18px 0;font:13px system-ui}.wb-time-manual input{display:block;width:100%;margin-top:8px;padding:10px;border:1px solid #eadde5;border-radius:10px;box-sizing:border-box;font:16px system-ui}.wb-time-actions{display:flex;justify-content:space-between;gap:16px}.wb-time-actions button{padding:12px 18px;border:1px solid #d9b9c7;border-radius:30px;background:#fff;color:#571c30;cursor:pointer}.wb-time-actions button:last-child{background:#98536d;color:white}
.wb-watermarked-preview{position:relative;isolation:isolate;overflow:hidden;border-radius:16px}.wb-preview-watermarks{position:absolute;inset:0;z-index:5;pointer-events:none;display:grid;grid-template-columns:repeat(3,1fr);align-content:space-around;gap:24px 8px;overflow:hidden}.wb-preview-watermarks span{font:600 13px/1.5 system-ui;letter-spacing:.8px;color:rgba(83,52,66,.35);text-shadow:0 1px 1px #ffffffb3;transform:rotate(-28deg);white-space:nowrap}.wb-active .wb-shared-uploads:empty{display:none}.wb-active .wb-shared-uploads.is-multiple .ls-drop-zone{display:none!important}
.wb-event-tabs{display:flex;gap:8px;margin:16px 0}.wb-event-tabs button{flex:1;padding:12px;border:1px solid #e7d2dc;border-radius:12px;background:#fff;color:#805565;font:600 13px system-ui;cursor:pointer}.wb-event-tabs button[aria-selected=true]{background:#98536d;color:#fff}.wb-event-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wb-event-option{padding:14px;border:1px solid #e7d2dc;border-radius:16px;background:#fff;color:#571c30;text-align:left;cursor:pointer}.wb-event-option[aria-pressed=true]{border-color:#98536d;background:#f9edf2}.wb-event-options img{max-width:100%;height:130px;object-fit:cover;border-radius:10px}.signature-details-only .signature-art-column{display:none!important}.wb-active .signature-details-only .signature-card-body{display:block}.wb-event-dialog{max-width:650px}.wb-event-dialog .wb-event-options{max-height:55dvh;overflow:auto}.wb-event-dialog footer{padding-top:16px;display:flex;justify-content:flex-end}.wb-event-options .signature-art{height:145px;width:82px;margin:0 auto 10px;overflow:hidden}.wb-event-options .signature-art img{height:auto}.wb-active .signature-card.is-selection .signature-card-body{display:block}.signature-card.is-selection .signature-fields{display:none}.wb-active .signature-card.is-selection .signature-art-column{max-width:120px;margin:auto}.wb-event-selection-list{display:grid;gap:10px}.wb-event-selection-row{display:flex;gap:10px;align-items:center;padding:14px;border:1px solid #eadde5;border-radius:14px}.wb-event-selection-row strong{flex:1}.wb-event-selection-row button{border:1px solid #eadde5;background:white;border-radius:8px;padding:7px;cursor:pointer}

.signature-details-only .signature-grip,.signature-details-only .signature-card-bar>button:not([role=switch]){display:none!important}

/* One shared upload card, with real previews below it. */
.wb-active #wedding-brief-form .wb-host .wb-bulk-upload{display:block;margin:16px 0;background:none;padding:0;border:0}
.wb-active #wedding-brief-form .wb-host .wb-bulk-upload .ls-upload-card{box-sizing:border-box;width:100%}
.wb-active .wb-upload-preview{display:block;width:100%;height:190px;object-fit:contain;box-sizing:border-box;padding:8px;background:#f5f0f6;border-radius:14px;margin-bottom:12px}
.wb-active #wedding-brief-form .wb-host .wb-event-draft{margin:10px 0;padding:14px 16px}
.wb-active .wb-event-optional{grid-column:1/-1;margin:8px 0 12px;border:1px solid #eadde5;border-radius:12px;padding:0 14px;background:#fff}
.wb-active .wb-event-optional>summary{padding:13px 0;cursor:pointer;color:#805565;font:600 13px/1.4 system-ui}
.wb-active .wb-event-optional .native-event-field{margin:0 0 12px}

.wb-active #wedding-brief-form .wb-bulk-upload.is-filled .ls-drop-zone{min-height:0;padding:0;border:0;background:none;margin:0;text-align:left}
.wb-active .wb-bulk-upload.is-filled .ls-drop-zone>svg,.wb-active .wb-bulk-upload.is-filled .ls-drop-zone>b,.wb-active .wb-bulk-upload.is-filled .ls-drop-zone>span{display:none}
.wb-active #wedding-brief-form .wb-bulk-upload.is-filled .ls-browse-button{margin:0!important}
.wb-active #wedding-brief-form .wb-bulk-upload.is-filled .ls-upload-head{margin-bottom:8px}
/* Name-only, reorderable event lists and a common On/Off control. */
.wb-active .wb-event-selection-row{background:#fff;transition:background .2s,border-color .2s;min-width:0}
.wb-active .wb-event-selection-row.is-off,.wb-active .native-event-card.is-off,.wb-active .signature-card.is-disabled{background:#f0eff0!important;border-color:#d7d3d5!important;filter:grayscale(1)}
.wb-active .wb-event-selection-row.is-off strong{color:#969096;text-decoration:none}
.wb-active .wb-event-grip{touch-action:none;cursor:grab;border:0;background:none;color:#b18b9f;padding:8px;font-size:24px;line-height:1}
.wb-active .wb-event-grip:active{cursor:grabbing}
.wb-active .wb-event-switch{display:inline-flex;flex-shrink:0;align-items:center;gap:7px;border:0;background:none;color:#856270;font:500 12px system-ui;padding:6px;cursor:pointer;white-space:nowrap}
.wb-active .wb-event-switch>span{position:relative;width:34px;height:20px;border-radius:20px;background:#b7b1b6}
.wb-active .wb-event-switch>span:after{content:'';position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:white;box-shadow:0 1px 3px #0002;transition:transform .2s}
.wb-active .wb-event-switch[aria-checked=true]>span{background:#98536d}.wb-active .wb-event-switch[aria-checked=true]>span:after{transform:translateX(14px)}
.wb-active .wb-event-selection-list{margin:14px 0}.wb-active .native-event-add{margin:10px 0}
.wb-active .wb-date-time-row{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:12px;grid-column:1/-1;align-items:start;min-width:0}
.wb-active .wb-date-time-row>label{min-width:0!important;width:auto!important}
.wb-active .wb-time-input-group{display:flex;align-items:center;box-sizing:border-box;gap:2px;width:100%;height:58px;margin-top:7px;padding:6px 8px;border:1px solid #e3d6de;border-radius:16px;background:linear-gradient(#fff,#fffdfe);box-shadow:0 2px 5px #6a435b05}
.wb-active .wb-time-input-group:focus-within{border-color:#bd91a6;box-shadow:0 0 0 3px #f8eef3}
.wb-active #wedding-brief-form input.wb-native-time{display:block!important;position:static!important;width:100%!important;min-width:0!important;max-width:100%!important;height:36px!important;min-height:36px!important;opacity:1!important;pointer-events:auto!important;margin:0!important;padding:4px 1px!important;border:0!important;background:transparent!important;box-shadow:none!important;font:14px system-ui!important;flex:1}
.wb-active input.wb-native-time::-webkit-calendar-picker-indicator{display:none}
.wb-active .wb-time-input-group .wb-time-trigger{display:grid;place-items:center;flex:0 0 30px;width:30px;height:34px;border:0;border-radius:10px;background:#f5eff4;padding:6px;margin:0;color:#98536d;cursor:pointer}
.wb-time-trigger svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.wb-active #wedding-brief-form .wb-date-time-row .sdt-date-picker{margin-top:7px!important;width:100%;max-width:100%}
.wb-active #wedding-brief-form .wb-date-time-row .sdt-date-input-group{box-sizing:border-box;padding:6px 8px;gap:0}
.wb-active #wedding-brief-form .wb-date-time-row input.sdt-date-segment{width:25px!important;padding:4px 0!important;font-size:13px!important;flex:0 1 25px;min-width:0!important}
.wb-active #wedding-brief-form .wb-date-time-row input.sdt-date-segment[aria-label$="year"]{width:40px!important;flex-basis:40px}
.wb-active .wb-date-time-row .sdt-date-separator{font-size:12px}
.wb-active #wedding-brief-form .wb-host :is(.sdt-calendar-trigger,.wb-time-trigger){display:grid;place-items:center;box-sizing:border-box;flex:0 0 30px;width:30px;min-width:30px;height:34px;margin:0 0 0 auto;padding:0;border:0;border-radius:10px;background:#f5eff4;color:var(--sdt-accent)}
.wb-active #wedding-brief-form .wb-host :is(.sdt-calendar-trigger,.wb-time-trigger) svg{display:block;width:18px;height:18px}
.wb-active #wedding-brief-form :is(.wb-grandparents-details,.signature-family)>summary{list-style:none}
.wb-active #wedding-brief-form :is(.wb-grandparents-details,.signature-family)>summary::-webkit-details-marker{display:none}
.wb-active #wedding-brief-form :is(.wb-grandparents-details,.signature-family)>summary::after,
.wb-active #wedding-brief-form .ls-grandparents-toggle::after{content:"";display:inline-block;width:7px;height:7px;margin:0 3px 2px 12px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.wb-active #wedding-brief-form details[open]>summary::after,
.wb-active #wedding-brief-form .ls-grandparents-toggle[aria-expanded=true]::after{transform:rotate(225deg)}
.wb-active .wb-grandparents-details{margin-top:12px}.wb-active .wb-grandparents-details>summary,.wb-active .signature-family>summary{cursor:pointer;color:#98536d;font:600 13px/1.5 system-ui;padding:10px 0}
.wb-active #wedding-brief-form .wb-date-time-row>.sdt-date-picker,.wb-active #wedding-brief-form .wb-date-time-row>label{margin:0!important;line-height:20px;font-size:13px}
.wb-active #wedding-brief-form .wb-date-time-row .sdt-control-label{display:block;line-height:20px;margin:0 0 7px;font-size:13px}
.wb-active #wedding-brief-form .wb-date-time-row .wb-time-caption+.wb-time-input-group{margin-top:0}
.wb-active .wb-host .signature-details-only>.signature-card-bar{flex-wrap:nowrap;padding:14px 16px;gap:10px}
.wb-active .wb-host .signature-details-only .signature-card-hint{flex:1 1 auto;font-size:14px;font-weight:600;color:#571c30}
.wb-active .wb-host .signature-card-bar>.wb-event-switch{margin-left:auto;padding:6px;border:0;background:none;border-radius:0;font:500 12px system-ui}

/* Calendar opens across the available event row, independently of its compact input. */
.wb-active #wedding-brief-form .wb-date-time-row .sdt-date-picker{min-width:0;overflow:visible}
.wb-active #wedding-brief-form .wb-date-time-row .sdt-calendar{position:relative;z-index:20;width:min(var(--wb-calendar-width,calc(100vw - 80px)),380px);max-width:none;box-sizing:border-box}
.wb-active #wedding-brief-form .wb-date-time-row .sdt-calendar-head .sdt-dropdown-trigger{font-size:13px}

.wb-active .wb-day-mode .wb-event-tabs button[aria-pressed=true]{background:#98536d;color:white}
.wb-active .wb-shared-event-date{max-width:380px;margin-bottom:20px}
/* Custom-event cards also work without the preset-events stylesheet. */
.wb-active .wb-event-composer .native-event-card{margin:16px 0;border:1px solid #eadde5;border-radius:18px;overflow:hidden;background:#fff}
.wb-active .wb-event-composer .native-event-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #eadde5}
.wb-active .wb-event-composer .native-event-head strong{flex:1;font-size:14px}
.wb-active .wb-event-composer .native-event-number{font-size:12px;color:#b3788e}
.wb-active .wb-event-composer .native-event-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}
.wb-active .wb-event-composer .native-event-field{display:block;min-width:0;font-size:13px;margin:0}
.wb-active .wb-event-composer .native-event-field.full{grid-column:1/-1}
.wb-active .wb-event-composer .native-event-add{width:100%;padding:14px;border:1px dashed #d7a5b9;border-radius:14px;color:#9c3459;background:#fff6fa;font:600 14px system-ui;cursor:pointer}
@media(max-width:600px){.wb-active .wb-event-composer .native-event-body{grid-template-columns:minmax(0,1fr)}}

.wb-active #wedding-brief-form .wb-host .step-connector.sdt-connector-complete{height:3px;margin-top:16px}
.wb-active #wedding-brief-form .wb-host [data-progress-state=active] .sdt-status-symbol{width:11px;height:11px;min-width:0;min-height:0;border-radius:50%;background:#fff}
/* A shared single-day date and each event time use the same content width. */
.wb-active .wb-shared-event-date{box-sizing:border-box;width:100%;max-width:none;padding-inline:17px}
.wb-active .wb-event-composer .native-event-body>label:has(> .wb-time-input-group){grid-column:1/-1}
.wb-active #wedding-brief-form .wb-date-time-row>.sdt-date-picker,
.wb-active #wedding-brief-form .wb-date-time-row>label:not(.sdt-native-date-label){box-sizing:border-box;width:100%!important;min-width:0!important;max-width:none!important;justify-self:stretch}
.wb-active #wedding-brief-form .wb-date-time-row :is(.sdt-date-input-group,.wb-time-input-group){box-sizing:border-box;width:100%;min-width:0;max-width:none}
.wb-active #wedding-brief-form .wb-shared-event-date .sdt-date-picker{width:100%;max-width:none}

.wb-active .wb-azure{max-width:1108px;margin:auto}.wb-azure .zari-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.wb-azure label{display:block;margin:16px 0;font-size:13px}.wb-azure input,.wb-azure textarea,.wb-azure select{width:100%;box-sizing:border-box;padding:14px;border:1px solid #e3d6de;border-radius:16px;background:white;color:inherit;display:block;margin-top:7px}.wb-azure fieldset{min-width:0;border:1px solid #eee0e7;border-radius:18px;padding:18px;margin:18px 0}.wb-azure details>summary{cursor:pointer;color:#98536d;font-size:13px}.wb-azure textarea{min-height:100px}.wb-azure .wb-actions{display:flex;justify-content:space-between}@media(max-width:600px){.wb-azure .zari-fields{grid-template-columns:1fr;gap:0}}

.wb-design-picker-trigger::after { content: ''; border: solid currentColor; border-width: 0 1.5px 1.5px 0; width: 7px; height: 7px; transform: rotate(45deg); margin-left: 9px; flex: 0 0 auto; }
.wb-design-picker { position: fixed; inset: auto; margin: 0; box-sizing: border-box; flex-direction: column; padding: 8px; border: 1px solid #e6d4dd; border-radius: 15px; background: #fffafc; color: #502536; box-shadow: 0 12px 36px #50253626; }
.wb-design-picker:popover-open { display: flex; }
.wb-design-picker input { flex: 0 0 auto; width: 100%; box-sizing: border-box; min-height: 42px; border: 1px solid #decbd4; border-radius: 9px; padding: 8px 10px; background: white; color: inherit; font-size: 16px; }
.wb-design-results { min-height: 0; overflow: auto; overscroll-behavior: contain; touch-action: pan-y; margin-top: 5px; }
.wb-design-results button { display: block; width: 100%; text-align: left; border: 0; border-radius: 8px; padding: 10px; min-height: 42px; color: inherit; font-size: 14px; }
.wb-design-results button:is(:hover,:focus-visible,[aria-pressed="true"]) { background: #f2e4ec; }
.wb-design-picker p { padding: 10px; font-size: 14px; }
.wb-design-control select[hidden] { display: none !important; }

/* The form and photo picker use the same palette in each theme. */
.wb-active .wb-theme-button{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;padding:0}
.wb-theme-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.wb-theme-button .wb-sun,.wb-theme-button[aria-pressed=true] .wb-moon{display:none}
.wb-theme-button[aria-pressed=true] .wb-sun{display:block}
.wb-photo-picker{--background:#fcf7fa;--card:#fffafc;--foreground:#45313b;--muted:#f5ecf2;--muted-foreground:#755c6b;--border:#ddcbd6;--primary:#98536d;position:relative;margin:16px 0;color:var(--foreground)}
.wb-active .wb-host .wb-photo-picker label{color:inherit}
.wb-active .wb-host .wb-photo-picker [role=alert]:not(:empty){max-height:none;background:none;border:0;padding:0;color:inherit}
.wb-active .wb-host .wb-legacy-photo-label{margin-bottom:0}

body.wb-active.wb-dark{
 color-scheme:dark;
 --sdt-ink:#f3e5ee;
 --sdt-muted:#c1a8b9;
 --sdt-accent:#e3a6c4;
 --sdt-line:#543b4b;
 --sdt-paper:#211820;
 --wb-page-bg:#171117;
 --wb-surface:#271c26;
 --wb-raised:#372632;
 --wb-nav-solid:#2b1f29;
 --wb-progress-bg:var(--wb-nav-solid);
 --wb-actions-bg:var(--wb-nav-solid);
 --wb-nav-line:var(--sdt-line);
 background:var(--wb-page-bg)!important;color:var(--sdt-ink);
}
.wb-dark #wedding-brief-form,.wb-dark #wedding-brief-form .wb-host{color:var(--sdt-ink)!important}
.wb-dark #wedding-brief-form .wb-host{background:var(--sdt-paper)!important;border-color:var(--sdt-line)!important;box-shadow:none}
.wb-dark #wedding-brief-form :is(.wb-header,.wb-compact-row,.wb-header-details,.wb-details-inner,.wb-design-card){background:var(--wb-page-bg)!important;border-color:var(--sdt-line)!important;color:var(--sdt-ink)!important;box-shadow:none}
.wb-dark #wedding-brief-form :is(.wb-design-name,.wb-brand a,.wb-pill,.wb-preview-open,.wb-text-button,.wb-design-picker-trigger){color:var(--sdt-ink)!important}
.wb-dark #wedding-brief-form :is(.wb-pill,.wb-design-picker-trigger){background:var(--wb-surface)!important;border-color:var(--sdt-line)!important;box-shadow:none}
.wb-dark #wedding-brief-form .wb-host :is(.footer-nav,.wb-actions,.scene-brief-actions,.wb-flat-actions){background:var(--wb-nav-solid)!important;border-color:var(--sdt-line)!important;box-shadow:none}
.wb-dark #wedding-brief-form .wb-host :is(.wb-name-fields,.wb-family-fields,.sdt-side-card,.wb-side-control,.wb-order-control,.wb-photo-toggle,.signature-card,.signature-card-bar,.signature-add,.signature-photos,.native-event-head,.native-event-card,.wb-event-card,.wb-parent-card,.wb-family-card,.wb-event-draft,.wb-event-optional,.wb-event-selection-row,fieldset){background:var(--wb-surface)!important;border-color:var(--sdt-line)!important;box-shadow:none}
.wb-dark #wedding-brief-form .wb-host :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not(.sdt-date-segment),select,textarea,.sdt-dropdown-trigger,.sdt-date-input-group,.wb-time-input-group){background:var(--wb-page-bg)!important;color:var(--sdt-ink)!important;border-color:var(--sdt-line)!important;box-shadow:none}
.wb-dark #wedding-brief-form .wb-host :is(input,textarea)::placeholder{color:var(--sdt-muted)!important;opacity:1}
.wb-dark #wedding-brief-form .wb-host :is(.sdt-calendar-trigger,.wb-time-trigger,.sdt-side-track,.wb-event-tabs button,.native-event-add,.native-event-remove,.signature-card button,.signature-add button,.signature-preview-link,.next-button,.prev-button,.previous-button,.wb-event-move,.wb-event-selection-row button){background:var(--wb-raised)!important;color:var(--sdt-ink)!important;border-color:var(--sdt-line)!important;box-shadow:none}
.wb-dark #wedding-brief-form .wb-host .sdt-side-thumb{background:#62455a!important;box-shadow:none}
.wb-dark #wedding-brief-form .wb-host button.sdt-side-choice{background:transparent!important;color:var(--sdt-muted)!important;text-shadow:none}
.wb-dark #wedding-brief-form .wb-host button.sdt-side-choice[aria-pressed=true]{color:var(--sdt-ink)!important}
.wb-active.wb-dark #wedding-brief-form .wb-host .step-connector{background:var(--sdt-line)}
.wb-active.wb-dark #wedding-brief-form .wb-host .sdt-connector-complete .step-connector-inner{background:var(--sdt-accent)!important}
.wb-dark #wedding-brief-form .wb-host .wb-step:after{color:var(--sdt-muted)!important}
.wb-dark #wedding-brief-form .wb-host [data-progress-state=active]:after{color:var(--sdt-accent)!important}
.wb-dark #wedding-brief-form .wb-host :is([class*="bg-white"],[class*="bg-rose-"],[class*="bg-stone-"],[class*="bg-gray-"]):not(.wb-photo-picker *){background:var(--wb-surface)!important;border-color:var(--sdt-line)!important}
.wb-dark #wedding-brief-form .wb-host :is([class*="text-gray-"],[class*="text-stone-"],[class*="text-slate-"]):not(.wb-photo-picker *){color:var(--sdt-muted)!important}
.wb-dark #wedding-brief-form .wb-host :is([class*="text-rose-"],.sdt-side-help,.wb-hint):not(.wb-photo-picker *){color:var(--sdt-accent)!important}
.wb-dark :is(.wb-dialog,.wb-dialog-heading,.wb-close,.wb-design-option,.wb-share-dialog input,.wb-design-picker,.wb-design-picker input,.wb-wheel,.wb-time-actions button,.sdt-calendar,.sdt-dropdown-menu){background:var(--wb-surface)!important;color:var(--sdt-ink)!important;border-color:var(--sdt-line)!important}
.wb-dark :is(.wb-design-results button:is(:hover,:focus-visible,[aria-pressed=true]),.wb-wheel-band){background:var(--wb-raised)}
.wb-dark #wedding-brief-form .wb-host :is(.wb-event-optional>summary,.wb-event-switch,.wb-event-selection-row.is-off strong,.wb-event-grip){color:var(--sdt-muted)}
.wb-active.wb-dark #wedding-brief-form .wb-host :is(.wb-event-selection-row.is-off,.native-event-card.is-off,.signature-card.is-disabled){background:var(--wb-page-bg)!important;border-color:var(--sdt-line)!important}
.wb-dark .wb-dialog :is(.wb-event-option,.wb-event-tabs button){background:var(--wb-raised);color:var(--sdt-ink);border-color:var(--sdt-line)}
.wb-dark .wb-dialog :is(.wb-event-option[aria-pressed=true],.wb-event-tabs button[aria-selected=true]){border-color:var(--sdt-accent)}
.wb-active.wb-dark #wedding-brief-form .wb-host [role=alert]:not(:empty):not(.wb-photo-picker *),
.wb-active.wb-dark #wedding-brief-form .wb-host [role=status]:not(:empty):not(.wb-photo-picker *){background:var(--wb-surface);border-color:var(--sdt-line);color:var(--sdt-accent)}
.wb-dark :is(.wb-time-dialog p,.wb-wheel-projection){color:var(--sdt-muted)}
.wb-dark :is(.wb-wheel-projection.is-selected,.wb-preview-full){color:var(--sdt-accent)}
.wb-dark .wb-photo-picker{--background:#160f16;--card:#211622;--foreground:#f8edf5;--muted:#2e202f;--muted-foreground:#c0a9bb;--border:#49364a;--primary:#e879ab}
@media(max-width:600px){.wb-active .wb-header-actions{gap:5px}.wb-active .wb-theme-button{width:34px;height:34px;flex-basis:34px}.wb-active .wb-header-actions .wb-pill:not(.wb-theme-button){padding-inline:9px}}
.wb-active #wedding-brief-form .wb-theme-button{border:1px solid var(--sdt-line);border-radius:50%;background:var(--sdt-paper);color:var(--sdt-ink)}
.wb-active.wb-dark #wedding-brief-form .wb-host :is(.next-button,.back-button){background:var(--wb-raised)!important;border-color:#775366!important;color:var(--sdt-ink)!important;text-shadow:none;box-shadow:none}
.wb-active.wb-dark #wedding-brief-form .wb-host .next-button::before{background:linear-gradient(#493344,#372632);box-shadow:none}
.wb-active.wb-dark #wedding-brief-form .wb-host :is(.sdt-mobile-preview,.wb-preview-open)::before{background:var(--wb-raised);box-shadow:none}
.wb-active.wb-dark #wedding-brief-form .wb-host .step-indicator:not([data-progress-state=active]) .step-indicator-inner{background:var(--wb-raised)!important;color:var(--sdt-muted)!important;box-shadow:none}
.wb-active.wb-dark #wedding-brief-form .wb-host [data-progress-state=pending] .step-indicator-inner{color:#f0c494!important}
.wb-active.wb-dark #wedding-brief-form .wb-host [data-progress-state=complete] .step-indicator-inner{color:var(--sdt-accent)!important}
.wb-active.wb-dark #wedding-brief-form .wb-host button.sdt-side-choice[aria-pressed=true]{text-shadow:none}
.wb-active.wb-dark #wedding-brief-form .wb-host input{color-scheme:dark}
.wb-dark :is(.sdt-calendar-day,.sdt-calendar-nav){background:var(--wb-raised);color:var(--sdt-ink)}


/* The heading itself opens the optional card. */
.wb-active #wedding-brief-form .wb-host .wb-grandparents-card-heading{
 padding:16px;color:var(--sdt-accent);font-size:12px;font-weight:600;
 letter-spacing:.22em;text-transform:uppercase;
}
.wb-active #wedding-brief-form .wb-host .ls-grandparents-toggle.wb-grandparents-card-heading{
 border:1px solid var(--sdt-line);border-radius:16px;background:var(--sdt-paper);
}
.wb-active #wedding-brief-form .wb-host .wb-grandparents-details:has(>.wb-grandparents-card-heading){
 border:1px solid var(--sdt-line);border-radius:1.75rem;background:var(--sdt-paper);
}
.wb-active #wedding-brief-form .wb-host .wb-grandparents-card-heading+div{
 border:0;background:transparent!important;box-shadow:none;padding-top:0;
}

/* Keep form text and design controls readable on the shared dark surfaces. */
.wb-active.wb-dark #wedding-brief-form .wb-host :is(h4,.wb-event-selection-row:not(.is-off) strong,[class*="text-emerald-9"],[class*="text-sage-dark"]):not(.wb-photo-picker *) {
 color:var(--sdt-ink)!important;
}
.wb-active.wb-dark #wedding-brief-form .wb-host .wb-event-selection-row.is-off {
 background:var(--wb-surface)!important;
 filter:none;
}
.wb-active.wb-dark #wedding-brief-form .wb-host .wb-event-tabs button:is([aria-selected=true],[aria-pressed=true]) {
 background:#62455a!important;
 border-color:var(--sdt-accent)!important;
}
.wb-active.wb-dark #wedding-brief-form .wb-preview-open {
 background:var(--wb-raised)!important;
 border-color:var(--sdt-line);
 box-shadow:none;
 text-shadow:none;
}
.wb-active.wb-dark #wedding-brief-form .wb-preview-open::before {
 background:var(--wb-raised);
 box-shadow:none;
}
body.wb-active.wb-dark .wb-dialog :is(.sdt-design-dialog-heading,.sdt-design-close,.sdt-design-option,.sdt-design-choose,.sdt-design-preview) {
 background:var(--wb-surface);
 color:var(--sdt-ink);
 border-color:var(--sdt-line);
}
body.wb-active.wb-dark .wb-dialog :is(.sdt-design-action,.sdt-design-preview) {
 color:var(--sdt-accent);
}
body.wb-active.wb-dark .wb-dialog .sdt-design-choose[aria-pressed=true] {
 background:var(--wb-raised);
 box-shadow:inset 0 0 0 2px var(--sdt-accent);
}
body.wb-active.wb-dark .wb-dialog .sdt-design-choose[aria-pressed=true] .sdt-design-action {
 color:var(--sdt-accent);
}

/* Traditional Envelop's field geometry, shared by every wedding brief. */
.wb-active #wedding-brief-form .wb-host :is(.wb-name-fields,.wb-family-grid,.wb-family-fields) {
 display:grid;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 align-items:start;
 gap:16px!important;
 min-width:0;
}
.wb-active #wedding-brief-form .wb-host :is(.wb-name-fields,.wb-family-fields) {
 background:transparent!important;
}
.wb-active #wedding-brief-form .wb-host .wb-couple-options {
 grid-template-columns:minmax(0,1fr);
}
.wb-active #wedding-brief-form .wb-host .wb-couple-options>.wb-side-control {
 margin:0!important;
}
@media(min-width:768px) {
 .wb-active #wedding-brief-form .wb-host .wb-couple-options:has(>:nth-child(2)) {
  grid-template-columns:repeat(2,minmax(0,1fr));
 }
}
.wb-active #wedding-brief-form .wb-host .wb-name-fields:not(:has(>.wb-detail-field)) {
 row-gap:7px!important;
}
.wb-active #wedding-brief-form .wb-host .wb-name-fields>[data-wb-name] {
 grid-column:2;
 grid-row:1;
}
.wb-active #wedding-brief-form .wb-host :is(.wb-name-fields[data-wb-first=bride]>[data-wb-name=bride],.wb-name-fields[data-wb-first=groom]>[data-wb-name=groom]) {
 grid-column:1;
}
.wb-active #wedding-brief-form .wb-host .wb-name-fields>input[data-wb-name] {grid-row:2}
.wb-active #wedding-brief-form .wb-host :is(.wb-detail-field,.wb-detail-label):not([hidden],.wb-flat-hidden) {
 display:grid!important;
 align-content:start;
 gap:7px;
 margin:0!important;
 padding:0;
 min-width:0;
 color:var(--sdt-ink)!important;
 font:500 13px/20px system-ui,sans-serif!important;
}
.wb-active #wedding-brief-form .wb-host .wb-family-fields>.wb-detail-field {
 font-size:0!important;
 line-height:0!important;
 gap:0;
}
.wb-active #wedding-brief-form .wb-host .wb-detail-input {
 display:block;
 width:100%!important;
 height:52px!important;
 min-height:52px;
 margin:0!important;
 padding:0 14px!important;
 border:1px solid var(--sdt-line)!important;
 border-radius:12px!important;
 background:var(--sdt-paper)!important;
 color:var(--sdt-ink)!important;
 font:400 16px/1.4 system-ui,sans-serif;
 box-shadow:none!important;
}
.wb-active #wedding-brief-form .wb-host .wb-detail-input::placeholder {
 color:var(--sdt-muted)!important;
 opacity:1;
}
.wb-active #wedding-brief-form .wb-host .wb-parent-card {
 min-width:0;
 margin:0!important;
 padding:16px!important;
 border:1px solid var(--sdt-line)!important;
 border-radius:20px!important;
 background:var(--sdt-paper)!important;
 box-shadow:none!important;
}
.wb-active #wedding-brief-form .wb-host :is(.wb-parent-heading,.wb-grandparents-card-heading) {
 margin:0;
 color:var(--sdt-accent)!important;
 font:600 12px/1.5 system-ui,sans-serif;
 letter-spacing:.14em;
 text-transform:uppercase;
}
.wb-active.wb-dark #wedding-brief-form .wb-host .wb-parent-card .wb-parent-heading {
 color:var(--sdt-accent)!important;
}
.wb-active #wedding-brief-form .wb-host .wb-parent-heading {
 margin:0 0 12px;
 padding:0;
}
.wb-active #wedding-brief-form .wb-host legend.wb-parent-heading {float:left;width:100%;padding:0}
.wb-active #wedding-brief-form .wb-host legend.wb-parent-heading+.wb-family-fields {clear:both}
.wb-active #wedding-brief-form .wb-host .wb-family-grid>.wb-grandparents-details {margin:0}
.wb-active #wedding-brief-form .wb-host .wb-grandparents-details>.wb-family-fields,
.wb-active #wedding-brief-form .wb-host .signature-family>.wb-family-fields {padding:0 16px 16px}
.wb-active #wedding-brief-form .wb-host .wb-parent-card details>summary {
 color:var(--sdt-accent)!important;
 cursor:pointer;
}
.wb-active #wedding-brief-form .wb-host .wb-family-grid>.wb-parent-card:has(details) {
 align-self:stretch;
}
.wb-active #wedding-brief-form .wb-host .wb-family-grid>.wb-parent-card:has(>.wb-grandparents-details) {
 display:grid;
 grid-column:1/-1;
 grid-template-columns:repeat(2,minmax(0,1fr));
 grid-template-rows:auto 1fr;
 column-gap:16px;
 position:relative;
 padding:0!important;
 border:0!important;
 background:transparent!important;
}
.wb-active #wedding-brief-form .wb-host .wb-family-grid>.wb-parent-card:has(>.wb-grandparents-details)::before {
 content:"";
 grid-area:1/1/3/2;
 align-self:stretch;
 border:1px solid var(--sdt-line);
 border-radius:20px;
 background:var(--sdt-paper);
}
.wb-active #wedding-brief-form .wb-host .wb-family-grid>.wb-parent-card:has(>.wb-grandparents-details)>.wb-parent-heading {
 grid-area:1/1;
 position:relative;
 justify-self:start;
 width:auto;
 margin:16px 16px 12px;
}
.wb-active #wedding-brief-form .wb-host .wb-family-grid>.wb-parent-card:has(>.wb-grandparents-details)>.wb-family-fields {
 grid-area:2/1;
 position:relative;
 padding:0 17px 17px;
}
.wb-active #wedding-brief-form .wb-host .wb-family-grid>.wb-parent-card>.wb-grandparents-details {
 grid-area:1/2/3/3;
 align-self:start;
 margin:0;
}
.wb-active #wedding-brief-form .wb-host .wb-parent-card>.wb-grandparents-details>label {
 padding:0 16px 16px;
}
@media(max-width:640px){
 .wb-active #wedding-brief-form .wb-host :is(.wb-name-fields,.wb-family-grid) {
  grid-template-columns:minmax(0,1fr)!important;
 }
 .wb-active #wedding-brief-form .wb-host .wb-name-fields>[data-wb-name],
 .wb-active #wedding-brief-form .wb-host .wb-name-fields>input[data-wb-name] {
  grid-column:1!important;
  grid-row:auto;
 }
 .wb-active #wedding-brief-form .wb-host .wb-name-fields[data-wb-first=bride]>[data-wb-name=groom],
 .wb-active #wedding-brief-form .wb-host .wb-name-fields[data-wb-first=groom]>[data-wb-name=bride] {
  order:1;
 }
 .wb-active #wedding-brief-form .wb-host .wb-family-grid>.wb-parent-card:has(>.wb-grandparents-details) {
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:auto auto auto;
 }
 .wb-active #wedding-brief-form .wb-host .wb-family-grid>.wb-parent-card>.wb-grandparents-details {
  grid-area:3/1;
  margin-top:16px;
 }
}
