/* DZ Inspirations — scoped to its own components. No global theme overrides. */
.dzi-library,.dzi-modal{--dzi-accent:#e4007d;--dzi-text:#29232b;--dzi-muted:#6f6872;--dzi-line:#eddfe6;--dzi-soft:#fff7fb;color:var(--dzi-text);font-family:inherit}
.dzi-library{max-width:1170px;margin:18px auto 0;padding:0 18px 38px}
.dzi-library-heading{text-align:center;margin:0 auto 21px;max-width:850px}
.dzi-eyebrow{font-size:11px!important;font-weight:800!important;color:var(--dzi-accent)!important;letter-spacing:.16em;margin:0 0 8px!important}
.dzi-library-heading h2,.dzi-modal-top h2{font-size:clamp(25px,3vw,35px);line-height:1.18;letter-spacing:-.025em;color:var(--dzi-text);margin:0 0 12px;font-weight:700}
.dzi-library-heading>p:last-child{font-size:15px;color:var(--dzi-muted);line-height:1.65;margin:0}
.dzi-widget{font-size:14px}
.dzi-kicker{font-size:12px;font-weight:800;letter-spacing:.05em;margin:20px 0 11px;text-transform:uppercase}
.dzi-event-list,.dzi-section-list{display:flex;flex-wrap:wrap;gap:9px}
.dzi-widget button{font-family:inherit;cursor:pointer}
.dzi-widget button:focus-visible,.dzi-product-entry button:focus-visible,.dzi-modal-close:focus-visible,.dzi-widget input:focus-visible{outline:3px solid #fb83bf;outline-offset:2px}
.dzi-event,.dzi-section{font-size:13px;font-weight:650;background:#fff;border:1px solid #ded1d9;color:var(--dzi-text);border-radius:100px;padding:11px 17px;line-height:1.2;transition:background .14s,border-color .14s,color .14s}
.dzi-event:hover,.dzi-section:hover{border-color:var(--dzi-accent);color:var(--dzi-accent)}
.dzi-event.is-active,.dzi-section.is-active{background:var(--dzi-accent);color:white;border-color:var(--dzi-accent)}
.dzi-tools{display:block;max-width:760px;margin:17px 0 14px}
.dzi-tools label{display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:6px;min-width:0}
.dzi-tools label[hidden]{display:none!important}
.dzi-tools input{appearance:auto;min-width:0;width:100%;height:43px;border:1px solid #ddd0d8;border-radius:8px;background:white;color:var(--dzi-text);padding:9px 12px;font-size:14px;font-family:inherit;box-shadow:none}
.dzi-tools input:focus{border-color:var(--dzi-accent);box-shadow:0 0 0 2px #fae4f1}
.dzi-results-head{display:flex;gap:10px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:15px 0}
.dzi-results-head p{margin:0;font-size:12px}
.dzi-results-head [data-dzi-counter]{font-weight:700}
.dzi-results-head .dzi-hint{color:var(--dzi-muted)}
.dzi-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.dzi-card{min-width:0;position:relative;background:white;border:1px solid var(--dzi-line);border-radius:12px;padding:18px;box-shadow:0 2px 5px rgba(90,20,50,.025)}
.dzi-card-heading{display:flex;align-items:start;gap:11px;margin-bottom:12px}
.dzi-card-heading h3{font-size:15px;line-height:1.45;font-weight:700;margin:1px 0 0;color:var(--dzi-text);overflow-wrap:anywhere}
.dzi-card-num{background:#ffe5f2;color:#c8006a;border-radius:7px;font-weight:800;min-width:29px;height:29px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.dzi-card-body{white-space:pre-line;font-size:13px;line-height:1.75;overflow-wrap:anywhere;color:#383138;text-align:center}
.dzi-card-category{margin:15px 0 0;font-size:11px;color:var(--dzi-muted);font-weight:600;text-align:center}
.dzi-rebus{display:block;max-width:100%;height:auto;max-height:240px;object-fit:contain;margin:8px auto 13px}
.dzi-font-card{min-height:100px;padding:6px;display:flex;align-items:center;justify-content:center}
.dzi-font-card img{width:100%;height:auto;object-fit:contain;display:block}
/* Font images already carry a pink number corner. No overlay or second number. */
.dzi-empty,.dzi-loading{grid-column:1/-1;text-align:center;border:1px solid var(--dzi-line);background:var(--dzi-soft);border-radius:12px;padding:28px 16px;color:var(--dzi-muted);font-size:14px}
.dzi-actions{text-align:center;margin:22px 0 7px}
.dzi-more{font-family:inherit;display:inline-flex;align-items:center;justify-content:center;gap:10px;background:white;border:1px solid var(--dzi-accent);border-radius:100px;font-size:13px;font-weight:700;padding:12px 23px;color:var(--dzi-accent)}
.dzi-more:hover{background:var(--dzi-soft)}
.dzi-more[hidden]{display:none!important}
.dzi-widget[aria-busy="true"] .dzi-results{opacity:.7}
/* Product callout */
/* Clear, compact pre-purchase guidance. Scoped to invitation product pages. */
.dzi-product-entry{box-sizing:border-box;display:block;max-width:100%;margin:16px 0 20px;padding:13px 16px;border:1px solid #f0cbdc;border-left:4px solid #e4007d;border-radius:10px;background:linear-gradient(110deg,#fff3f9 0%,#fffafd 100%);box-shadow:0 5px 18px rgba(157,19,91,.055);color:#2f2430}
.dzi-product-entry-lead{display:flex;align-items:flex-start;gap:10px;min-width:0}
.dzi-product-entry-icon{box-sizing:border-box;display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#ffe0ef;color:#c6006a}
.dzi-product-entry-icon svg{width:19px;height:19px}
.dzi-product-entry-text{min-width:0;flex:1}
.dzi-product-entry-text strong{display:block;margin:0 0 4px;font-size:15px;line-height:1.35;font-weight:750;color:#231a22}
.dzi-product-entry-text p{margin:0 0 4px;font-size:12.5px;line-height:1.5;color:#433741}
.dzi-product-entry-text p b{font-weight:750;color:#2e202a}
/* Native details/summary: a clear affordance even without JavaScript. */
.dzi-product-disclosure{margin:8px 0 0;max-width:100%}
.dzi-product-disclosure summary{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 11px;min-height:46px;cursor:pointer;list-style:none;border:1px solid #edadd0;border-radius:9px;background:#fff;color:#b90066;transition:background-color .14s,border-color .14s}
.dzi-product-disclosure summary::-webkit-details-marker{display:none}
.dzi-product-disclosure summary::marker{content:''}
.dzi-product-disclosure summary:hover{border-color:#de0079;background:#fff2f9}
.dzi-product-disclosure summary:focus-visible{outline:3px solid #fa94c8;outline-offset:3px}
.dzi-product-disclosure-copy{display:flex;flex-direction:column;gap:2px;min-width:0}
.dzi-product-disclosure-title{font-size:13px;line-height:1.35;font-weight:800}
.dzi-product-disclosure-hint{font-size:11px;line-height:1.35;font-weight:600;color:#866476}
.dzi-product-disclosure .dzi-open-hint{display:none}
.dzi-product-disclosure[open] .dzi-open-hint{display:block}
.dzi-product-disclosure[open] .dzi-closed-hint{display:none}
.dzi-product-disclosure-icon{display:flex;align-items:center;justify-content:center;flex:0 0 27px;width:27px;height:27px;border-radius:50%;background:#ffe4f1;color:#c8006e}
.dzi-product-disclosure-icon::before{content:'';display:block;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .16s}
.dzi-product-disclosure[open] .dzi-product-disclosure-icon::before{transform:translateY(3px) rotate(225deg)}
.dzi-product-disclosure[open] summary{border-color:#e79dbf;border-radius:9px 9px 0 0;background:#fff0f8}
.dzi-product-disclosure-content{padding:10px 12px 8px;border:1px solid #edadd0;border-top:0;border-radius:0 0 9px 9px;background:#fff;color:#433741;font-size:12px;line-height:1.55}
.dzi-product-entry-text .dzi-product-disclosure-content p{font-size:12px;margin:0 0 7px}
.dzi-product-disclosure-content ul{padding-left:19px;margin:0 0 3px;list-style:disc}
.dzi-product-disclosure-content li{padding:0 0 4px}
.dzi-product-entry-actions{display:flex;justify-content:flex-start;margin:9px 0 0 44px}
.dzi-show-modal{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:39px;max-width:100%;padding:8px 16px;background:#e4007d;border:1px solid #e4007d;border-radius:100px;color:#fff;font-family:inherit;font-size:12px;font-weight:750;line-height:1.3;text-align:center;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.dzi-show-modal:hover{background:#c9006e;border-color:#c9006e;color:#fff}
.dzi-show-modal:focus-visible{outline:3px solid #fa94c8;outline-offset:3px}
@media(max-width:560px){.dzi-product-entry{padding:12px 12px 13px;margin:15px 0 19px}.dzi-product-entry-lead{gap:9px}.dzi-product-entry-icon{width:32px;height:32px;flex-basis:32px;border-radius:9px}.dzi-product-entry-text strong{font-size:14px}.dzi-product-entry-text p{font-size:12px;line-height:1.5}.dzi-product-entry-actions{margin:9px 0 0}.dzi-show-modal{width:100%;min-height:44px}}
/* Preview modal */
.dzi-modal[hidden]{display:none!important}
.dzi-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:16px}
.dzi-backdrop{position:absolute;inset:0;background:rgba(30,22,29,.68)}
.dzi-dialog{position:relative;background:white;border-radius:16px;width:min(1040px,100%);max-height:calc(100dvh - 32px);overflow:auto;overscroll-behavior:contain;padding:24px 28px;box-shadow:0 22px 80px rgba(0,0,0,.23)}
.dzi-modal-top{display:flex;align-items:start;justify-content:space-between;gap:16px}
.dzi-modal-top h2{font-size:25px!important;margin-bottom:6px}
.dzi-modal-top .dzi-eyebrow{margin-bottom:3px!important}
.dzi-modal-lead{color:var(--dzi-muted);font-size:13px;line-height:1.55;margin:0 0 19px}
.dzi-modal-close{background:#fff;border:1px solid #e6dce2;border-radius:50%;width:38px;height:38px;font-size:27px;line-height:28px;flex-shrink:0;cursor:pointer;color:#4d3d48}
.dzi-modal-close:hover{border-color:#e4007d;color:#e4007d}
.dzi-modal-foot{text-align:center;padding:15px 0 0;margin:25px 0 0;border-top:1px solid var(--dzi-line);font-size:13px}
.dzi-modal-foot a{color:#c00069;text-decoration:underline}
@media(max-width:800px){.dzi-results{grid-template-columns:repeat(2,minmax(0,1fr))}.dzi-dialog{padding:20px}}
@media(max-width:560px){.dzi-library{padding:0 12px 20px}.dzi-results{grid-template-columns:1fr;gap:11px}.dzi-show-fonts .dzi-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.dzi-font-card{min-height:100px}.dzi-font-card img{max-height:none}.dzi-corner{top:4px;left:4px;min-width:29px;min-height:29px;font-size:12px;line-height:17px}.dzi-tools{grid-template-columns:1fr}.dzi-card{padding:14px}.dzi-event,.dzi-section{font-size:12px;padding:9px 13px}.dzi-event-list,.dzi-section-list{gap:7px}.dzi-modal{padding:7px}.dzi-dialog{max-height:calc(100dvh - 14px);padding:17px 13px;border-radius:12px}.dzi-results-head .dzi-hint{width:100%}}
@media(prefers-reduced-motion:reduce){.dzi-event,.dzi-section,.dzi-show-modal{transition:none}}

/* v1.1: prominent category chips, as in the existing personalization forms. */
.dzi-category-filter{margin:21px 0 0}
.dzi-category-filter[hidden],.dzi-example-note[hidden],.dzi-section[hidden]{display:none!important}
.dzi-category-title{font-size:13px;font-weight:750;margin-bottom:10px}
.dzi-category-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-width:850px}
.dzi-category-tile{border:1px solid #e4007d;background:#fff;color:#d00070;border-radius:24px;min-height:40px;padding:9px 14px;font-size:12px;font-weight:750;line-height:1.2;text-align:center;transition:background .14s,border-color .14s,color .14s}
.dzi-category-tile:hover{background:#fff1f8}
.dzi-category-tile.is-active{background:#e4007d;color:white;border-color:#e4007d;box-shadow:0 2px 6px #e4007d20}
.dzi-example-note{font-size:12px;line-height:1.5;color:#756b75;background:#fff8fc;border-left:3px solid #e4007d;padding:10px 13px;margin:0 0 16px}
.dzi-quote-card .dzi-card-heading{margin-bottom:12px}
.dzi-quote-card .dzi-card-body{font-size:14px;line-height:1.7;white-space:pre-line;color:#302832;text-align:center}
.dzi-card-body{white-space:pre-line}
@media(max-width:800px){.dzi-category-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.dzi-category-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.dzi-category-tile{min-height:38px;font-size:12px;padding:8px 10px}}

/* v1.2: clearly identified, read-only examples of feminine/masculine invitations. */
.dzi-gender-selector{margin:19px 0 0}
.dzi-gender-selector[hidden]{display:none!important}
.dzi-gender-label{font-size:13px;font-weight:750;margin-bottom:9px}
.dzi-gender-options{display:flex;gap:8px;flex-wrap:wrap}
.dzi-gender-button{background:#fff;border:1px solid #e4007d;border-radius:24px;color:#cc006b;padding:9px 17px;min-height:40px;font-size:12px;font-weight:750}
.dzi-gender-button:hover{background:#fff1f8}
.dzi-gender-button.is-active{background:#e4007d;color:#fff}
.dzi-gender-button:focus-visible{outline:3px solid #fb83bf;outline-offset:2px}
