/* Scoped styles: the existing font, sound, background and stamp inventories remain authoritative. */
#ecard.ec-composer{--ec-ink:#003366;--ec-line:#cbd8e5;--ec-soft:#f1f6fb;color:var(--ec-ink);max-width:1160px;margin-inline:auto;text-align:left}
#ecard.ec-composer *{box-sizing:border-box;min-width:0}
.ec-composer [hidden]{display:none!important}
.ec-composer .ec-compose-heading{margin-bottom:1.25rem}
.ec-composer .ec-eyebrow{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 .4rem;color:#51687d}
.ec-composer .ec-compose-heading h1{font-size:1.65rem;line-height:1.25;margin:0 0 .5rem;font-weight:700;color:var(--ec-ink)}
.ec-composer .ec-compose-heading>p:not(.ec-eyebrow){font-size:.95rem;margin:.35rem 0;color:#51687d}
.ec-composer .ec-compose-heading>a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem}
.ec-composer .ec-compose-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:1.25rem;align-items:start}
.ec-composer .ec-compose-main{display:grid;gap:1rem}
.ec-composer .ec-panel{border:1px solid var(--ec-line);border-radius:.85rem;background:#fff;padding:1.1rem;color:var(--ec-ink)}
.ec-composer .ec-panel>h2{display:flex;align-items:center;gap:.6rem;font-size:1.1rem;font-weight:700;margin:0 0 1rem;color:inherit}
.ec-composer .ec-step{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--ec-soft);font-size:.85rem;flex:0 0 auto}
.ec-composer .ec-field-label{display:block;font-weight:600;font-size:.9rem;margin:0 0 .4rem;color:var(--ec-ink)}
.ec-composer .ec-field-label>span{font-weight:400;color:#51687d}
#ecard.ec-composer input[type=text],#ecard.ec-composer input[type=email],#ecard.ec-composer input[type=date],#ecard.ec-composer select{display:block;width:100%;max-width:100%;min-height:44px;padding:.6rem .7rem;font:inherit;font-size:16px;border:1px solid var(--ec-line);border-radius:.5rem;background:#fff;color:var(--ec-ink)}
.ec-composer button{font:inherit;cursor:pointer}
.ec-composer .ec-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;gap:.4rem;border:1px solid var(--ec-line);border-radius:.55rem;padding:.6rem .8rem;background:#fff;color:var(--ec-ink);font-size:.9rem;line-height:1.35;text-align:center;text-decoration:none}
.ec-composer .ec-button-primary{background:#ffcc66;border-color:#ffcc66;font-weight:600}
.ec-composer .ec-help{font-size:.78rem;line-height:1.45;color:#51687d;margin:.5rem 0 0;overflow-wrap:anywhere}
.ec-composer .ec-editor{margin-top:1rem;border:1px solid var(--ec-line);border-radius:.65rem;overflow:hidden;background:#fff}
.ec-composer .ec-editor-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:6px;background:var(--ec-soft);border-bottom:1px solid var(--ec-line)}
.ec-composer .ec-editor-tools button{min-height:44px;border:0;border-radius:.45rem;background:#fff;color:var(--ec-ink);padding:.5rem .25rem;font-size:.9rem;white-space:nowrap}
.ec-composer .ec-editor-tools button[aria-expanded=true]{background:#336699;color:#fff}
.ec-composer .ec-tool-panel{padding:.85rem;background:#fff;border-bottom:1px solid var(--ec-line)}
.ec-composer .ec-panel-title{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.7rem}
.ec-composer .ec-panel-title h3{font-size:.95rem;margin:0;font-weight:600;color:var(--ec-ink)}
.ec-composer .ec-panel-title>button{border:0;background:var(--ec-soft);color:var(--ec-ink);border-radius:.5rem;min-width:44px;min-height:44px;font-size:1.35rem}
.ec-composer .ec-emoji-groups{display:flex;gap:.35rem;flex-wrap:wrap;margin-bottom:.65rem}
.ec-composer .ec-emoji-groups button{min-height:44px;border:0;border-radius:.4rem;background:var(--ec-soft);color:var(--ec-ink);padding:.4rem .6rem;font-size:.8rem}
.ec-composer .ec-emoji-groups [aria-pressed=true]{background:#336699;color:#fff}
.ec-composer .ec-emoji-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.3rem}
.ec-composer .ec-emoji-grid button{display:grid;place-items:center;min-height:44px;padding:.2rem 0;background:#fff;border:1px solid var(--ec-line);border-radius:.4rem;font-size:1.4rem}
.ec-composer .ec-font-fields{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:.6rem}
.ec-composer .ec-text-label{display:block;font-size:.8rem;color:#51687d;padding:.7rem .8rem 0}
#ecard.ec-composer #ec_text{display:block;width:100%;max-width:100%;min-height:210px;border:0;resize:vertical;background:#fff;color:var(--ec-ink);padding:.6rem .8rem .9rem;font-size:16px;line-height:1.6;overflow:hidden;text-align:left}
.ec-composer .ec-editor-foot{display:flex;justify-content:space-between;gap:.5rem;flex-wrap:wrap;font-size:.75rem;color:#51687d;margin-top:.5rem}
.ec-composer [data-ec-character-count]{white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto;align-self:center}
.ec-composer .ec-text-button{background:none;border:0;color:#336699;text-decoration:underline;min-height:36px;padding:0 .2rem;font-size:.8rem}
.ec-composer .ec-check{display:flex;gap:.5rem;align-items:center;min-height:44px;font-size:.9rem;margin:.4rem 0;color:var(--ec-ink)}
.ec-composer .ec-check input{width:18px;height:18px;flex:0 0 auto;accent-color:#336699}
.ec-composer [data-ec-source-field]{margin-top:.7rem}
.ec-composer .ec-quote-results{list-style:none;padding:0;margin:.75rem 0 0}
.ec-composer .ec-quote-results li{display:grid;gap:.5rem;padding:.8rem 0;border-top:1px solid var(--ec-line)}
.ec-composer .ec-quote-results p{white-space:pre-line;font-size:.9rem;line-height:1.5;margin:0;color:var(--ec-ink)}
.ec-composer .ec-quote-results button{justify-self:end}
.ec-composer .ec-settings{padding:0}
.ec-composer .ec-settings>summary{display:flex;align-items:center;gap:.6rem;list-style:none;min-height:62px;padding:1rem;cursor:pointer;color:var(--ec-ink);font-weight:600}
.ec-composer .ec-settings>summary::-webkit-details-marker{display:none}
.ec-composer .ec-settings summary small{display:block;font-size:.75rem;color:#51687d;font-weight:400;margin-top:.15rem}
.ec-composer .ec-chevron{margin-left:auto;font-size:1.2rem;flex:0 0 auto}
.ec-composer .ec-settings[open] .ec-chevron{transform:rotate(180deg)}
.ec-composer .ec-settings-body{padding:0 1rem 1rem;display:grid;gap:1rem}
.ec-composer .ec-background-choice{padding:0;margin:0;border:0}
.ec-composer .ec-background-choice legend{font-size:.9rem;font-weight:600;padding:0}
.ec-composer .ec-background-modes{display:flex;gap:1rem;flex-wrap:wrap}
.ec-composer .ec-background-image-choice{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.1rem 0 .8rem}
.ec-composer .ec-color-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ec-composer .ec-color-field{display:flex;justify-content:space-between;gap:.65rem;align-items:center;min-height:48px;font-size:.85rem;color:var(--ec-ink)}
.ec-composer .ec-color-field input[type=color]{width:48px;height:44px;min-width:48px;padding:3px;border:1px solid var(--ec-line);border-radius:.5rem;background:#fff;cursor:pointer}
.ec-composer .ec-color-field input::-webkit-color-swatch-wrapper{padding:0}
.ec-composer .ec-color-field input::-webkit-color-swatch{border:0;border-radius:.3rem}
.ec-composer .ec-stamp-choice{display:flex;justify-content:space-between;align-items:center;gap:1rem;border-top:1px solid var(--ec-line);padding-top:1rem}
.ec-composer .ec-stamp-choice img{width:64px;height:64px;object-fit:contain;flex:0 0 auto}
.ec-composer .ec-mini-page{border:1px solid var(--ec-line);border-radius:.6rem;padding:13px;background-position:center top}
.ec-composer .ec-mini-card{display:grid;grid-template-columns:42px minmax(0,1fr) 28px;gap:.65rem;align-items:center;padding:.7rem;border-radius:.4rem;overflow-wrap:anywhere}
.ec-composer .ec-mini-card>img{display:block;width:42px;height:64px;object-fit:contain}
.ec-composer .ec-mini-card>img:last-child{width:28px;height:28px;align-self:start}
.ec-composer .ec-mini-card p{margin:0 0 .25rem;font-size:.8rem;color:inherit!important}
.ec-composer .ec-recipient-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ec-composer .ec-recipient-fields h3,.ec-composer .ecard-recipient-pair h3{font-size:.9rem;font-weight:600;margin:0 0 .6rem;color:var(--ec-ink)}
.ec-composer .ec-extra-recipients>summary{min-height:44px;cursor:pointer;font-size:.9rem;color:var(--ec-ink)}
.ec-composer .ecard-recipient-pair{border-top:1px solid var(--ec-line);padding-top:1rem;margin-top:.8rem}
.ec-composer .ec-compose-actions{display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:.6rem}
.ec-composer .ec-compose-actions .ec-button{min-height:48px}
.ec-composer .ec-live-preview{position:sticky;top:6rem}
.ec-composer .ec-live-preview>h2{font-size:.95rem;margin:0 0 .7rem;font-weight:600;color:var(--ec-ink)}
.ec-composer .ec-page-preview{padding:18px;border:1px solid var(--ec-line);border-radius:.8rem;background-position:center top}
.ec-composer .ec-live-card{border-radius:.65rem;padding:1.1rem;overflow-wrap:anywhere;text-align:center;box-shadow:0 2px 8px #00000014}
.ec-composer .ec-live-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:.72rem;margin-bottom:.8rem;color:inherit!important}
.ec-composer .ec-live-card-header img{width:46px;height:46px;object-fit:contain}
.ec-composer .ec-live-card .ec-live-names{font-size:.8rem;margin:0 0 .7rem;color:inherit!important}
.ec-composer .ec-live-card h3{font-size:1.15rem;line-height:1.4;margin:0 0 .8rem;white-space:pre-wrap;color:inherit!important}
.ec-composer .ec-live-image{display:block;width:100%;max-width:240px;height:auto;margin:0 auto 1rem;border-radius:.4rem;object-fit:contain}
.ec-composer .ec-live-message{text-align:left;white-space:pre-wrap;line-height:1.6;margin:0;color:inherit!important}
.ec-composer .ec-live-audio{font-size:.75rem;border-top:1px solid currentColor;margin:1rem 0 0;padding-top:.7rem;color:inherit!important}
#ngx_ecard[data-ecard-card] [data-ecard-output]{color:var(--ecard-text-color,currentColor)!important}
.ec-composer .ec-media .media-selector{display:grid;grid-template-columns:100px minmax(0,1fr);gap:.75rem}
.ec-composer .ec-media .media-selector-preview{grid-column:1;grid-row:1/span 2}
.ec-composer .ec-media .media-selector-controls{display:contents;position:static;padding:0}
.ec-composer .ec-media [data-choice-kind]{grid-column:2;grid-row:1}
.ec-composer .ec-media [data-choice-layout]{grid-column:2;grid-row:2}
.ec-composer .ec-media .media-audio-choice,.ec-composer .ec-media .ec-music-choice,.ec-composer .ec-media [data-media-status]{grid-column:1/-1}
.ec-composer .ec-media .media-choice{min-height:44px;padding:.4rem;font-size:.8rem}
.ec-composer .ec-media fieldset{margin:0}
.ec-composer .ec-media legend{font-size:.85rem;margin-bottom:.35rem}
.ec-composer .ec-media [data-video-fullscreen]{display:none}
.ec-composer .ec-media .media-playback{display:block;margin-top:.4rem}
.ec-composer .ec-media [data-video-toggle]{width:100%;min-height:44px;padding:.35rem;font-size:.8rem}
.ec-composer .ec-music-choice{padding:.85rem;background:#fff5df;border-radius:.6rem}
.ec-composer .ec-music-preview:empty{display:none}
.ec-composer .ec-music-preview audio{width:100%;max-width:100%;height:44px;margin-top:.7rem}
.ec-composer .ec-music-choice select{background:#fff}
.ec-composer .ec-picker-dialog{width:min(720px,calc(100% - 24px));max-height:85vh;max-height:85dvh;padding:1rem;border:1px solid var(--ec-line);border-radius:.8rem;background:#fff;color:var(--ec-ink);overflow:auto}
.ec-composer .ec-picker-dialog::backdrop{background:#0008}
.ec-composer .ec-dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.ec-composer .ec-dialog-heading h2{font-size:1.15rem;margin:0;color:var(--ec-ink)}
.ec-composer .ec-asset-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin-bottom:1rem}
.ec-composer .ec-asset-grid>h3{grid-column:1/-1;margin:.5rem 0 0;font-size:1rem;color:var(--ec-ink)}
.ec-composer .ec-asset-choice{display:grid;place-items:center;align-content:start;gap:.35rem;border:1px solid var(--ec-line);border-radius:.5rem;background:#fff;padding:.45rem;min-height:92px;font-size:.75rem;color:var(--ec-ink);overflow-wrap:anywhere}
.ec-composer .ec-asset-choice img{display:block;width:100%;height:72px;object-fit:cover;border-radius:.25rem}
.ec-composer .ec-stamp-grid .ec-asset-choice img{width:64px;height:64px;object-fit:contain}
.ec-composer .ec-asset-choice[aria-pressed=true]{border:2px solid #336699;background:#edf5fd}
@media(max-width:900px){.ec-composer .ec-compose-grid{grid-template-columns:minmax(0,1fr)}.ec-composer .ec-live-preview{display:none;position:static}.ec-composer.is-preview-open .ec-live-preview{display:block}}
@media(max-width:520px){#ecard.ec-composer{padding-inline:.65rem}.ec-composer .ec-panel{padding:.9rem}.ec-composer .ec-settings{padding:0}.ec-composer .ec-recipient-fields{grid-template-columns:minmax(0,1fr)}.ec-composer .ec-color-fields{grid-template-columns:minmax(0,1fr);gap:.4rem}.ec-composer .ec-font-fields{grid-template-columns:minmax(0,1fr)}.ec-composer .ec-media .media-selector{grid-template-columns:82px minmax(0,1fr);gap:.6rem}.ec-composer .ec-asset-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ec-composer .ec-compose-heading h1{font-size:1.4rem}.ec-composer .ec-settings>summary{font-size:.95rem}.ec-composer .ec-page-preview{padding:.8rem}.ec-composer .ec-live-card{padding:1rem}}
@media(max-width:350px){.ec-composer .ec-editor-tools button{font-size:.8rem}.ec-composer .ec-settings-body{padding-inline:.75rem}.ec-composer .ec-tool-panel{padding:.65rem}.ec-composer .ec-asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ec-composer .ec-button{padding:.55rem .45rem;font-size:.83rem}}
