.wedding-designer{width:min(1240px,96vw);max-width:96vw;max-height:94vh;border:1px solid #d8cbed;border-radius:24px;padding:24px;color:#25203e;background:#fcfaf7}.wedding-designer::backdrop{background:#211a3a99}.designer-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.designer-top h2{margin:6px 0}.designer-top p{max-width:700px;margin:8px 0 20px}.designer-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);gap:28px}.wedding-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wedding-template{padding:5px;background:white;color:#29213e;border:2px solid #e6dff0;border-radius:12px;text-align:left;min-width:0}.wedding-template[aria-pressed=true]{border-color:#7152e8;box-shadow:0 0 0 2px #e7dfff}.wedding-template strong{font-size:12px;display:block;margin:7px 3px 3px}.wedding-template small{font-size:10px;display:block;margin:0 3px 6px;color:#635a70;line-height:1.5}.template-mini{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:var(--paper);color:var(--text);height:146px;border:1px solid var(--accent);border-radius:8px;padding:20px 6px 8px;overflow:hidden}.template-mini img{position:absolute;right:5px;top:5px;width:30px;background:#fff;padding:2px;border-radius:3px}.template-motif{font-size:24px;color:var(--accent)}.template-title{font:14px Georgia,serif}.template-lines{font-size:9px;line-height:1.6;color:var(--accent)}.layout-double{border:4px double var(--accent)}.layout-arch{border-radius:60px 60px 8px 8px}.layout-band{border-top:10px solid var(--accent)}.layout-editorial{border-left:7px solid var(--accent);align-items:flex-start}.layout-letter{align-items:flex-start;border-radius:0}.layout-garden:after{content:'❧';position:absolute;bottom:3px;right:5px;color:var(--accent);font-size:32px}.designer-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.designer-colors input{display:block;width:100%;height:44px;padding:4px}.designer-custom{margin:22px 0}.designer-custom summary{cursor:pointer;font-weight:700}.designer-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.designer-toolbar button{padding:7px 12px;background:#eee8f8;color:#362d50;font-size:13px}.wedding-rich-editor,.wedding-html-editor{border:1px solid #c9badc;border-radius:12px;padding:18px;min-height:180px;max-height:380px;overflow:auto;background:white;line-height:1.8;overflow-wrap:anywhere}.wedding-html-editor{width:100%;font:13px/1.7 monospace}.wedding-design-frame{border:0;width:100%;height:850px;background:#f7f4ee;border-radius:18px;display:block}.designer-preview{min-width:0}.designer-status{color:#a22646;min-height:24px}.designer-preview [data-save]{width:100%;margin:8px 0}.wedding-dialog .wedding-design-frame{min-width:0}.wedding-rsvp .wedding-design-frame{height:960px}.designer-controls h3,.designer-preview h3{font-size:18px}.wedding-rich-editor[hidden],.wedding-html-editor[hidden]{display:none!important}
@media(max-width:850px){.designer-columns{grid-template-columns:1fr}.wedding-template-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.wedding-designer{padding:16px}.designer-preview{border-top:1px solid #ddd3e8;padding-top:12px}.wedding-design-frame{height:930px}}
@media(max-width:480px){.wedding-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.designer-colors{gap:8px}.designer-colors label{font-size:13px}}
.wedding-designer .wedding-template[aria-pressed=true]{background:#f3edff;color:#29213e}.wedding-template-grid{max-height:560px;overflow-y:auto;padding:3px;scrollbar-width:thin}.template-mini img{background:#33214e}.designer-preview{align-self:start}.designer-custom .help{overflow-wrap:anywhere}
@media(max-width:850px){.wedding-template-grid{max-height:440px}}
.layout-arch img{top:26px;right:10px}
.invitation-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.invitation-counts span{padding:14px;border-radius:14px;background:#f5f0fc;font-size:13px}.invitation-counts strong{display:block;font-size:26px;margin-top:6px;color:#5134b1}.invitation-warning{padding:14px;border-radius:12px;background:#fff3dc;color:#744c18}.guest-selection-tools{display:flex;align-items:end;gap:16px;flex-wrap:wrap;margin:16px 0}.guest-selection-tools>label:first-child{flex:1;min-width:180px}.guest-filter-check{display:flex;align-items:center;gap:8px}.guest-filter-check input{width:20px;height:20px}.invitation-draft-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px 0 18px}.invitation-draft-actions span{font-size:13px;color:#6a5b79}.invitation-status{display:inline-block;padding:5px 9px;border-radius:8px;background:#f3eff8;font-size:13px}.status-Sent{background:#e6f5eb;color:#245b38}.status-Unknown{background:#fff0d8;color:#774311}.status-Queued,.status-Sending{background:#ece5ff;color:#5532af}.invitation-readiness h3{margin-top:0}#guest-send{margin:14px 0}#guest-table td{vertical-align:top}#guest-selection-status{font-weight:600}
@media(max-width:600px){.invitation-counts{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-selection-tools{align-items:stretch;flex-direction:column}.guest-selection-tools button{align-self:flex-start}.invitation-counts span{padding:10px}}
.confirmation-recipients{max-height:220px;overflow:auto;border:1px solid #e3d9ef;border-radius:12px;padding:14px 14px 14px 36px;overflow-wrap:anywhere}.confirmation-card{margin:18px 0}.confirmation-card summary{cursor:pointer;color:#6242c3;font-weight:600;padding:12px 0}.invitation-confirm-actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:0;padding:16px 0;background:#fffdf9}.wedding-send-dialog{max-height:90vh;width:min(720px,94vw)}
.paperless-quote{margin:16px 0;padding:18px 22px;border-left:3px solid #7152e8;background:#f5f0fc;color:#594471;border-radius:0 12px 12px 0;font-size:16px;line-height:1.8}.support-form{max-width:620px;margin:18px auto}.support-qr-preview{text-align:center;background:#f8f6fb;border-radius:16px;padding:16px;margin:14px 0}.support-qr-preview:empty{display:none}.support-qr-preview img{max-width:min(100%,320px);max-height:400px;object-fit:contain;background:#fff;padding:16px}.support-status{color:#705d81}#wedding-support-editor summary{cursor:pointer;font-weight:600;color:#6242c3}

.template-tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.template-tools label{font-size:13px}.template-tools input,.template-tools select{width:100%;min-width:0}.wedding-template[hidden]{display:none!important}.template-mini .template-art{position:static;display:block;width:100%;height:52px;object-fit:contain;background:transparent;padding:0;border-radius:0}.template-mini:has(.template-art){gap:5px}.template-mini:has(.template-art) .template-title{font-size:12px}.template-mini:has(.template-art).layout-garden:after{display:none}@media(max-width:480px){.template-tools{grid-template-columns:1fr}}

.wedding-template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.template-mini.layout-couture{height:auto;aspect-ratio:2/3;background-size:100% 100%;border:0;border-radius:2px;padding:28% 22% 22%;gap:9px}.layout-couture .template-title{font:16px/1.15 Georgia,serif;text-align:center}.layout-couture .template-title i{font-size:13px}.layout-couture .template-lines{font-size:7px}.layout-couture img{width:25px;top:8px;right:6px}.wedding-template strong{font-size:13px;margin-top:10px}.wedding-template small{font-size:11px}.wedding-template{border-radius:8px}.wedding-template-grid{max-height:680px}@media(max-width:850px){.wedding-template-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:570px}}@media(max-width:480px){.wedding-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:560px}.layout-couture .template-title{font-size:14px}}

.invitation-upload{padding:18px 0;border-bottom:1px solid #e2d8e9}.invitation-upload-current{width:100%;max-height:260px;object-fit:contain}.invitation-upload .crop-canvas{max-height:360px;object-fit:contain}.invitation-upload .actions{display:flex;gap:8px;flex-wrap:wrap}

.template-mini img:not(.template-art):not(.template-backdrop){width:15px;padding:1px}.layout-couture img:not(.template-art):not(.template-backdrop){width:12.5px}

.template-mini .template-backdrop{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:fill;background:none;border:0;border-radius:0;padding:0}.layout-couture .template-title,.layout-couture .template-lines{position:relative;z-index:1}.layout-couture img:not(.template-backdrop){z-index:2}.wedding-ai-guide{padding:18px 0}.wedding-ai-guide ol{padding-left:22px;line-height:1.8}.wedding-ai-guide textarea{width:100%;font-size:13px;line-height:1.6}.wedding-ai-guide .actions{display:flex;flex-wrap:wrap;gap:8px}

.template-mini.layout-couture.template-upper{justify-content:flex-start;padding:20% 15% 10%;gap:5px}.template-upper .template-title{font-size:14px}.template-upper .template-lines{font-size:5px}

[data-template-sentinel]{grid-column:1/-1;height:1px}[data-template-more]{display:block;margin:12px auto}[data-template-more][hidden]{display:none}

.wedding-designer .wedding-template:hover,.wedding-designer .wedding-template:focus-visible{color:#29213e;background:#f3edff}

.designer-inline-toolbar{padding:12px;background:#f2edf9;border:1px solid #ded3ef;border-radius:12px;align-items:center}.designer-inline-toolbar label{display:flex;align-items:center;gap:6px;font-size:12px;margin:0}.designer-inline-toolbar select{width:auto;padding:6px;margin:0}.designer-inline-toolbar input[type=color]{width:36px;height:32px;padding:2px;margin:0}.designer-inline-toolbar button{background:#fff;color:#392858}.designer-inline-toolbar button:hover{background:#e0d4f8;color:#392858}.designer-inline-toolbar [data-edit-card]{background:#7152e8;color:white}

.designer-inline-toolbar{position:sticky;top:0;z-index:3;box-shadow:0 4px 12px #25163b12}
.guest-send-feedback{margin:18px 0 8px;padding:16px 18px;border-radius:12px;background:#edf5ee;color:#274a32;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.guest-send-feedback.is-blocked{background:#fff5e6;color:#714819;border:1px solid #edd6b3}.guest-send-feedback ul{margin:8px 0;padding-left:22px}.guest-send-feedback .actions{margin-top:12px}.guest-send-feedback button{font-size:13px}#guest-preview-cancel{margin:8px 0}

.wedding-card-preview .preview-top{position:sticky;top:-24px;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;background:#fff;padding:12px 0;border-bottom:1px solid #e6dff0}.preview-top h2{font-size:20px;margin:0}.preview-top p{font-size:13px;margin:6px 0;color:#70657c;overflow-wrap:anywhere}.preview-top>div{min-width:0}.preview-top button{flex-shrink:0;font-size:13px;padding:10px 14px}.preview-placeholder{min-height:320px;border-radius:18px;background:linear-gradient(145deg,#f7f4ee,#eee7fa);display:grid;place-items:center}.preview-placeholder span{font-size:64px;color:#7152e8}.wedding-card-preview [data-preview-status]{font-size:14px;color:#655374;line-height:1.6}@media(max-width:720px){.wedding-card-preview .preview-top{top:-16px}.preview-top h2{font-size:18px}}

.template-editorial .template-title{left:42%;right:7%;top:7%;width:auto;font-family:Georgia,serif;font-size:15px;line-height:1.1;text-align:right;transform:none}.template-editorial .template-lines{display:none}.template-mini-date{position:absolute;left:9%;top:9%;font:16px/1.05 Georgia,serif;color:var(--text);border-left:1px solid currentColor;padding-left:5px}

.template-mini.template-bloom .template-backdrop{top:15%;height:55%;object-fit:contain}.template-mini.template-bloom .template-title{position:absolute;top:auto;bottom:15%;left:8%;right:8%;width:auto;transform:none;text-align:center;font:800 15px/1.4 "Tiqqet Sans","Tiqqet Thai",Tahoma,sans-serif}.template-bloom .template-lines{position:absolute;top:auto;bottom:6%;font-size:6px}.template-bloom .template-title i{font-style:normal}

/* Our Frame photographic invitations: full-bleed photos and white signature lettering. */
@font-face{font-family:FrameScript;src:url(/fonts/GreatVibes-Regular.ttf) format("truetype");font-display:swap}
.template-mini.template-photo{aspect-ratio:3/4;color:white}.template-photo .template-backdrop{width:100%;height:100%;object-fit:cover}.template-photo .template-title{font-family:FrameScript,Georgia,serif!important;top:auto!important;bottom:8%;left:6%;width:88%;font-size:25px!important;line-height:1!important;color:white!important;text-shadow:0 1px 5px #000;background:#15263188;padding:8px 0}.template-photo .template-title br{display:none}.template-photo .template-title i{font-size:18px;padding:0 4px}.template-photo .template-lines{display:none}.template-photo-top .template-title{bottom:auto!important;top:20%!important}

.template-storybook .template-title{top:16%!important;font-family:Georgia,serif!important;font-size:22px!important;line-height:1.25!important}.template-storybook .template-lines{top:46%!important}

.template-happy .template-title{top:16%!important;font-family:'Noto Sans Thai',Tahoma,Arial,sans-serif!important;font-weight:900!important;font-size:24px!important;line-height:1.25!important}.template-happy .template-lines{top:35%!important}
