.invitation-editor-shell { min-height:100svh;padding:1rem;color:var(--ink,#3f4740);background:radial-gradient(circle at 100% 0%,rgb(203 221 225 / 58%),transparent 26rem),var(--cream,#fbf7ef) }
.invitation-editor-nav,.invitation-editor-header,.invitation-editor-layout,.invitation-editor-page-alert,.invitation-editor-shell>.invitation-editor-success{width:min(100%,88rem);margin-right:auto;margin-left:auto}
.invitation-editor-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.8rem}.invitation-editor-nav strong{display:block;margin-top:.15rem;color:var(--sage-deep,#586c56);font:1.2rem Georgia,serif}.invitation-editor-eyebrow{color:var(--sage-deep,#586c56);font-size:.68rem;font-weight:750;letter-spacing:.18em;text-transform:uppercase}
.invitation-editor-secondary,.invitation-editor-primary{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;padding:.65rem .95rem;border-radius:999px;font-size:.82rem;font-weight:700;text-decoration:none}.invitation-editor-secondary{border:1px solid #bcc1bd;color:var(--ink,#3f4740);background:rgb(255 253 249 / 78%)}.invitation-editor-primary{border:1px solid var(--sage-deep,#586c56);color:#fff;background:var(--sage-deep,#586c56);gap:.5rem}.invitation-editor-secondary:hover,.invitation-editor-secondary:focus-visible{border-color:var(--sage-deep,#586c56);color:var(--sage-deep,#586c56);background:#fff}.invitation-editor-primary:hover,.invitation-editor-primary:focus-visible{color:#fff;background:#485c47}.invitation-editor-primary:disabled{cursor:wait;opacity:.62}
.invitation-editor-header{display:grid;margin-bottom:1rem;padding:1.2rem;border:1px solid rgb(183 185 184 / 65%);border-radius:1.15rem;background:var(--warm-white,#fffdf9);box-shadow:0 1rem 3rem rgb(63 71 64 / 7%);gap:1rem}.invitation-editor-header h1{margin:.45rem 0 .35rem;color:var(--sage-deep,#586c56);font:400 clamp(2rem,9vw,3.4rem)/1 Georgia,serif;letter-spacing:-.045em}.invitation-editor-header div>p{margin:0;color:#657067;font-size:.82rem;font-weight:650}.invitation-editor-header>p{margin:0;padding-top:.85rem;border-top:1px solid #e2e4e2;color:#6d776f;font-size:.82rem;line-height:1.5}
.invitation-editor-success{margin-bottom:1rem;border-color:rgb(135 155 130 / 45%);color:var(--sage-deep,#586c56);background:rgb(135 155 130 / 15%)}.invitation-editor-page-alert{margin-bottom:1rem}.invitation-editor-layout,.invitation-editor-workspace{display:grid;gap:1rem}.invitation-editor-panel,.invitation-editor-preview-panel{padding:1.15rem;border:1px solid rgb(183 185 184 / 65%);border-radius:1.15rem;background:var(--warm-white,#fffdf9);box-shadow:0 1rem 3rem rgb(63 71 64 / 7%)}
.invitation-editor-section-heading{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:1rem;gap:.7rem}.invitation-editor-section-heading h2{margin:.25rem 0 0;color:var(--sage-deep,#586c56);font:400 clamp(1.4rem,7vw,1.9rem) Georgia,serif}.invitation-editor-unsaved,.invitation-editor-preview-badge{flex:0 0 auto;padding:.28rem .5rem;border-radius:999px;color:#755f50;background:#eee2d6;font-size:.64rem;font-weight:750}.invitation-editor-preview-badge{color:#536a70;background:rgb(203 221 225 / 48%)}
.invitation-editor-panel .form-label,.invitation-editor-rich-field>label,.invitation-editor-media-types legend,.invitation-editor-recipient label{display:block;margin-bottom:.38rem;color:#505a52;font-size:.8rem;font-weight:750}.invitation-editor-panel .form-label span{color:#858d87;font-size:.68rem;font-weight:500}.invitation-editor-panel .form-control,.invitation-editor-preview-panel .form-select{min-height:2.8rem;border-color:#c9cdca;border-radius:.68rem;color:var(--ink,#3f4740);background:#fffefa;font-size:.84rem}.invitation-editor-panel textarea.form-control{resize:vertical}.invitation-editor-field-meta{display:flex;justify-content:space-between;margin-top:.3rem;color:#818982;font-size:.65rem;gap:.5rem}
.invitation-editor-toolbar{display:flex;flex-wrap:wrap;padding:.35rem;border:1px solid #c9cdca;border-bottom:0;border-radius:.72rem .72rem 0 0;background:#f3f4f1;gap:.25rem}.invitation-editor-toolbar button{min-width:2.55rem;min-height:2.55rem;padding:.4rem .55rem;border:1px solid transparent;border-radius:.45rem;color:#536057;background:transparent;font-size:.72rem}.invitation-editor-toolbar button:hover{border-color:#d4d8d4;background:#fff}.invitation-editor-contenteditable{min-height:13rem;padding:.9rem;border:1px solid #c9cdca;border-radius:0 0 .72rem .72rem;outline:0;color:#4f5951;background:#fffefa;font-family:Georgia,serif;line-height:1.65}.invitation-editor-contenteditable.is-invalid{border-color:#dc3545}.invitation-editor-contenteditable a{color:var(--sage-deep,#586c56)}.invitation-editor-contenteditable img,.invitation-editor-contenteditable video,.invitation-editor-contenteditable iframe,.invitation-editor-contenteditable script,.invitation-editor-contenteditable style{display:none!important}.invitation-editor-field-error{margin-top:.35rem;color:#b02a37;font-size:.76rem}.invitation-editor-notice{margin:.45rem 0 0;color:#566b70;font-size:.72rem}
.invitation-editor-media-types{display:grid;margin:0 0 1rem;padding:0;border:0;gap:.45rem}.invitation-editor-media-types legend{float:none;width:auto}.invitation-editor-media-types label{display:flex;min-height:3rem;align-items:center;padding:.55rem .7rem;border:1px solid #dfe2df;border-radius:.7rem;cursor:pointer;background:#fcfbf7;gap:.55rem}.invitation-editor-media-types label.is-selected{border-color:rgb(135 155 130 / 65%);color:var(--sage-deep,#586c56);background:rgb(135 155 130 / 10%)}.invitation-editor-media-types input{margin:0}.invitation-editor-media-types span{font-size:.76rem;font-weight:700}.invitation-editor-file-field{margin-bottom:1rem}.invitation-editor-media-preview{overflow:hidden;border:1px solid #dde0dd;border-radius:.85rem;background:#faf9f5}.invitation-editor-media-preview img,.invitation-editor-media-preview video{display:block;width:100%;max-height:20rem;object-fit:cover}.invitation-editor-media-preview>div{display:flex;align-items:center;justify-content:space-between;padding:.65rem;gap:.6rem}.invitation-editor-media-preview>div>span{overflow:hidden;color:#657067;font-size:.7rem;text-overflow:ellipsis;white-space:nowrap}.invitation-editor-no-media{display:flex;min-height:5rem;align-items:center;justify-content:center;padding:1rem;border:1px dashed #cfd4d0;border-radius:.8rem;color:#79827b;background:#fbfaf6;gap:.55rem}.invitation-editor-no-media p{margin:0;font-size:.75rem}
.invitation-editor-text-button{min-height:2.35rem;padding:.3rem;border:0;border-radius:.3rem;color:var(--sage-deep,#586c56);background:transparent;font-size:.69rem;font-weight:700;text-decoration:underline;text-underline-offset:.18rem}.invitation-editor-text-button.is-danger{color:#945f5a}.invitation-editor-resource-section+ .invitation-editor-resource-section{margin-top:1.4rem;padding-top:1.2rem;border-top:1px solid #e3e5e3}.invitation-editor-resource-section>h3{margin:0 0 .65rem;color:#59655b;font-size:.78rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.invitation-editor-empty-copy{margin:0;color:#7c847e;font-size:.76rem}.invitation-editor-template-list,.invitation-editor-placeholder-list{display:grid;gap:.55rem}.invitation-editor-template-list article,.invitation-editor-placeholder-list article{display:grid;align-items:center;padding:.7rem;border:1px solid #dfe2df;border-radius:.75rem;background:#fffefa;gap:.55rem}.invitation-editor-template-list article{grid-template-columns:minmax(0,1fr) auto}.invitation-editor-template-list h4,.invitation-editor-placeholder-list h4{margin:0;color:var(--sage-deep,#586c56);font:400 1rem Georgia,serif}.invitation-editor-template-list p,.invitation-editor-placeholder-list p{margin:.15rem 0 0;color:#78817a;font-size:.68rem;line-height:1.4}.invitation-editor-placeholder-list article{grid-template-columns:minmax(6.5rem,.7fr) minmax(0,1.4fr)}.invitation-editor-placeholder-list code{overflow:auto;padding:.45rem;border-radius:.45rem;color:#52656a;background:rgb(203 221 225 / 35%);font-size:.67rem}.invitation-editor-placeholder-list small{color:#818982;font-size:.62rem}.invitation-editor-placeholder-list article>div:last-child{display:flex;grid-column:1/-1;gap:.55rem}
.invitation-editor-recipient{margin-bottom:.75rem}.invitation-editor-preview-hint{margin:.6rem 0;color:#7b847d;font-size:.68rem;line-height:1.4}.invitation-editor-preview-panel iframe{display:block;width:100%;height:38rem;border:1px solid #d5d9d5;border-radius:.85rem;background:#fbf7ef}.invitation-editor-preview-panel>.invitation-editor-primary{width:100%;margin-top:.7rem}.invitation-editor-saving{margin:.55rem 0 0;color:#66736a;font-size:.7rem;text-align:center}
.invitation-editor-toolbar button:focus-visible,.invitation-editor-contenteditable:focus,.invitation-editor-panel .form-control:focus,.invitation-editor-preview-panel .form-select:focus,.invitation-editor-media-types label:focus-within,.invitation-editor-text-button:focus-visible,.invitation-editor-secondary:focus-visible,.invitation-editor-primary:focus-visible{border-color:var(--ice-blue-deep,#7999a1);outline:3px solid rgb(121 153 161 / 28%);outline-offset:2px;box-shadow:none}.invitation-editor-panel input[type=radio]:checked{border-color:var(--sage-deep,#586c56);background-color:var(--sage-deep,#586c56)}
@media(min-width:576px){.invitation-editor-shell{padding:1.5rem}.invitation-editor-header,.invitation-editor-panel,.invitation-editor-preview-panel{padding:1.55rem}.invitation-editor-media-types{grid-template-columns:repeat(3,minmax(0,1fr))}.invitation-editor-media-types label{justify-content:center}.invitation-editor-placeholder-list article{grid-template-columns:minmax(8rem,.7fr) minmax(0,1.4fr) auto}.invitation-editor-placeholder-list article>div:last-child{grid-column:auto;flex-direction:column;align-items:flex-end}}
@media(min-width:768px){.invitation-editor-header{grid-template-columns:minmax(0,1fr) minmax(17rem,.75fr);align-items:center;gap:2rem}.invitation-editor-header>p{padding:0 0 0 2rem;border-top:0;border-left:1px solid #e2e4e2}}
@media(min-width:1100px){.invitation-editor-shell{padding:2.5rem}.invitation-editor-nav{margin-bottom:1.5rem}.invitation-editor-layout{grid-template-columns:minmax(0,1.35fr) minmax(23rem,.65fr);align-items:start;gap:1.5rem}.invitation-editor-preview-panel{position:sticky;top:1.5rem}}
@media(prefers-reduced-motion:reduce){.invitation-editor-shell *,.invitation-editor-shell *::before,.invitation-editor-shell *::after{scroll-behavior:auto!important;transition:none!important}}
