.modal.modal-visualizer .modal-dialog{display:block!important;height:90vh!important;margin:5vh auto!important;max-height:90vh!important;max-width:1200px!important;min-height:90vh!important}.modal.modal-visualizer .modal-content{border-radius:20px;display:flex!important;flex-direction:column!important;height:100%!important;max-height:100%!important;overflow:hidden;padding:24px 20px 0}.visualizer-modal-loading{align-items:center;display:flex;flex:1 1 auto;flex-direction:column;gap:16px;justify-content:center;min-height:50vh}.visualizer-modal-loading .spinner-border{height:3rem;width:3rem}.visualizer-modal-loading .text-muted{font-size:14px;letter-spacing:.02em}.modal-visualizer .visualizer-root{display:flex;flex-direction:column;min-height:100%}.modal-visualizer .visualizer-content{flex:1 1 auto;min-height:0;overflow:hidden;position:relative}.modal-visualizer .visualizer-font-view,.modal-visualizer .visualizer-main-view{inset:0;overflow-x:hidden;overflow-y:auto;position:absolute;transition:transform .3s ease}.modal-visualizer .visualizer-main-view{transform:translateX(0)}.modal-visualizer .visualizer-main-view.is-exit-left{transform:translateX(-100%)}.modal-visualizer .visualizer-font-view{transform:translateX(100%)}.modal-visualizer .visualizer-font-view.is-active{transform:translateX(0)}.modal-visualizer .visualizer-actions{flex:0 0 auto;margin-top:auto}@media (min-width:992px){.modal-visualizer .modal-content{padding:32px 32px 0}}.modal-visualizer .modal-heading{flex-shrink:0}.modal-visualizer .modal-main{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;padding:16px 16px 0}@media (min-width:992px){.modal-visualizer .modal-main{padding:24px 16px 0}}.modal-visualizer .visualizer-svg-stage{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;height:50vh;justify-content:center;overflow:hidden;padding:24px}.modal-visualizer .visualizer-svg-stage svg{display:block;height:auto;max-height:100%;max-width:100%;user-select:none;-webkit-user-select:none;width:auto}.modal-visualizer .visualizer-svg-stage svg [data-zone-text]{cursor:pointer}@keyframes visualizer-textarea-flash{0%,to{box-shadow:none}50%{box-shadow:0 0 0 3px rgba(179,45,45,.35)}}.visualizer-text-flash{animation:visualizer-textarea-flash .5s ease}.modal-visualizer .visualizer-actions{background:#fff;border-top:1px solid #e9ecef;bottom:0;margin-top:16px;padding:16px 0;position:sticky;z-index:5}.modal-visualizer .visualizer-actions .btn-add-to-cart{min-width:220px}.modal-visualizer .visualizer-variants .visualizer-variant-btn{align-items:center;background:transparent;border:3px solid transparent;border-radius:50%;cursor:pointer;display:inline-flex;height:64px;justify-content:center;overflow:hidden;padding:0;transition:transform .15s ease,border-color .15s ease;width:64px}.modal-visualizer .visualizer-variants .visualizer-variant-btn:hover{border-color:rgba(0,0,0,.15);transform:scale(1.06)}.modal-visualizer .visualizer-variants .visualizer-variant-btn.active{border-color:var(--primary,#b32d2d)}.modal-visualizer .visualizer-variants .visualizer-variant-btn .swatch-hex,.modal-visualizer .visualizer-variants .visualizer-variant-btn img{border-radius:50%;display:block;height:52px;object-fit:cover;width:52px}.modal-visualizer .visualizer-variants .visualizer-variant-btn .swatch-hex{border:1px solid rgba(0,0,0,.1)}.btn-configure{letter-spacing:.02em}.btn-configure .icon{font-size:18px}@keyframes visualizer-attention-pulse{0%,to{box-shadow:0 0 0 0 rgba(179,45,45,.85),0 0 0 0 rgba(179,45,45,.5);transform:scale(1)}50%{box-shadow:0 0 0 22px rgba(179,45,45,0),0 6px 24px rgba(179,45,45,.35);transform:scale(1.05)}}.is-attention{animation:visualizer-attention-pulse 1.6s ease-in-out 6}.visualizer-customization-saved{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-top:16px;padding:16px}.visualizer-customization-thumb{background:#fff;border:1px solid #dee2e6;border-radius:8px;display:block;flex-shrink:0;height:96px;overflow:hidden;transition:border-color .15s ease;width:96px}.visualizer-customization-thumb:hover{border-color:var(--primary,#b32d2d)}.visualizer-customization-thumb img{display:block;height:100%;object-fit:contain;width:100%}@media (max-width:767.98px){.modal.modal-visualizer .modal-dialog{height:calc(100vh - 16px)!important;margin:8px!important;max-height:calc(100vh - 16px)!important;min-height:calc(100vh - 16px)!important}.modal.modal-visualizer .modal-content{border-radius:16px;padding:0}.modal-visualizer .modal-main{padding:20px!important}.modal-visualizer .visualizer-header{margin-bottom:12px;padding:0 16px 12px}.modal-visualizer .visualizer-svg-stage{height:auto;margin-bottom:12px;padding:12px}.modal-visualizer .visualizer-variants{flex-wrap:nowrap!important;gap:4px!important;justify-content:flex-start!important;margin-bottom:16px!important;overflow-x:auto;padding-bottom:2px;-webkit-overflow-scrolling:touch}.modal-visualizer .visualizer-variants .visualizer-variant-btn{border-width:2px;flex:0 0 auto;height:40px;width:40px}.modal-visualizer .visualizer-variants .visualizer-variant-btn .swatch-hex,.modal-visualizer .visualizer-variants .visualizer-variant-btn img{height:32px;width:32px}.modal-visualizer .visualizer-actions{padding-bottom:0}.visualizer-disclaimer--mobile{font-size:11px;line-height:1.25}}.visualizer-root [data-debug-zone-overlay],.visualizer-root [data-original-text],.visualizer-root [data-wp-role=text_area]{display:none}.visualizer-root.visualizer-debug [data-wp-role=text_area]{display:inline;fill:rgba(153,0,204,.06)!important;stroke:#90c!important;stroke-dasharray:6 4!important;stroke-width:2!important}.visualizer-root.visualizer-debug [data-debug-zone-overlay]:not([data-debug-zone-label]){display:inline;fill:rgba(40,167,69,.08);pointer-events:none;stroke:#28a745;stroke-dasharray:4 3;stroke-width:1.5}.visualizer-root.visualizer-debug [data-debug-zone-label]{display:inline;fill:#28a745;font-family:monospace;font-size:14px;font-weight:600;pointer-events:none}@media (max-width:767px){.visualizer-root.visualizer-debug [data-debug-zone-label],.visualizer-root.visualizer-debug [data-debug-zone-overlay],.visualizer-root.visualizer-debug [data-wp-role=text_area]{display:none!important}}.visualizer-font-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.visualizer-font-card{align-items:center;background:#fff;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:6px;height:96px;justify-content:center;overflow:hidden;padding:12px 10px;text-align:center;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.visualizer-font-card:hover{border-color:rgba(0,0,0,.2);box-shadow:0 2px 8px rgba(0,0,0,.08);transform:translateY(-1px)}.visualizer-font-card.active{background:rgba(179,45,45,.04);border-color:var(--primary,#b32d2d)}.visualizer-font-card-preview{color:#212529;font-size:20px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.visualizer-font-card-label{color:#6c757d;font-family:system-ui,-apple-system,sans-serif;font-size:10px;letter-spacing:.02em;text-transform:uppercase}.visualizer-templates .tf-btn.active,.visualizer-templates .tf-btn.active:not(:hover){background:var(--text);border-color:var(--text);color:var(--white)}.modal-visualizer .visualizer-header{border-bottom:1px solid var(--line);flex:0 0 auto;margin-bottom:16px;padding:0 40px 16px}.visualizer-date-picker{position:relative}.visualizer-date-picker__trigger{align-items:center;background:#fff;cursor:pointer;display:flex;gap:8px;text-align:left;width:100%}.visualizer-date-picker__format-select{flex:0 0 auto;max-width:180px;width:auto}.visualizer-date-picker__trigger .is-empty{color:var(--text-muted,#888)}.visualizer-date-picker__panel{background:#fff;border:1px solid var(--line,#e0e0e0);border-radius:12px;box-shadow:0 8px 24px rgba(0,0,0,.12);left:0;padding:12px;position:absolute;right:0;top:calc(100% + 4px);z-index:1000}.visualizer-date-picker__nav{align-items:center;display:flex;gap:8px;margin-bottom:8px}.visualizer-date-picker__nav-btn,.visualizer-date-picker__title{background:transparent;border:1px solid transparent;border-radius:8px;cursor:pointer}.visualizer-date-picker__nav-btn{align-items:center;color:var(--primary,#d4a373);display:flex;font-size:28px;font-weight:700;height:44px;justify-content:center;line-height:1;padding:0;width:44px}.visualizer-date-picker__nav-btn:hover:not(:disabled){background:var(--primary,#d4a373);color:#fff}.visualizer-date-picker__nav-btn:disabled,.visualizer-date-picker__title:disabled{cursor:default;opacity:.4}.visualizer-date-picker__title{align-items:center;color:var(--primary,#d4a373);display:flex;flex:1 1 auto;font-size:17px;font-weight:700;justify-content:center;padding:8px 12px;text-align:center}.visualizer-date-picker__title:hover:not(:disabled){background:var(--background-light,#f5f5f5)}.date-picker-grid{display:grid;gap:4px}.date-picker-grid--months,.date-picker-grid--years{grid-template-columns:repeat(4,1fr)}.date-picker-grid--days{grid-template-columns:repeat(7,1fr)}.date-picker-cell{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;cursor:pointer;display:flex;font-size:13px;justify-content:center;min-height:36px;padding:8px 4px;transition:background-color .1s}.date-picker-cell:hover:not(.date-picker-cell--empty):not(.date-picker-cell--header){background:var(--background-light,#f5f5f5)}.date-picker-cell.is-selected{background:var(--primary,#d4a373);color:#fff;font-weight:600}.date-picker-cell--header{color:var(--text-muted,#888);cursor:default;font-size:11px;font-weight:600;padding:4px 0;text-transform:uppercase}.date-picker-cell--empty{cursor:default}.visualizer-date-picker__trigger.is-invalid{border-color:var(--bs-form-invalid-border-color,#dc3545)}