:root{--color-bg-primary: #FDF6FA;--color-bg-secondary: #FDAED8;--color-accent: #F361AF;--color-text: #3F3038;--background-color-1: #FDF6FA;--background-color-2: #FDAED8;--heading-color: #3F3038;--body-text-color: #3F3038;--accent-color: #F361AF;--card-background-color: #FDAED8;--button-border-color: #F361AF;--button-text-color: #F361AF;--button-hover-bg-color: #F361AF;--button-hover-text-color: #FFFFFF;--button-border-radius: 50px;--button-border-thickness: 1px;--text: #3F3038;--text-h: #3F3038;--bg: #FDF6FA;--border: rgba(243, 97, 175, .2);--code-bg: #FDAED8;--accent: #F361AF;--accent-bg: rgba(243, 97, 175, .1);--accent-border: rgba(243, 97, 175, .5);--social-bg: rgba(253, 174, 216, .3);--shadow: rgba(243, 97, 175, .15) 0 10px 15px -3px, rgba(243, 97, 175, .08) 0 4px 6px -2px;--sans: system-ui, "Segoe UI", Roboto, sans-serif;--heading: system-ui, "Segoe UI", Roboto, sans-serif;--mono: ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 1024px){:root{font-size:16px}}@media (prefers-color-scheme: dark){:root{--text: #3F3038;--text-h: #3F3038;--bg: #FDF6FA;--border: rgba(243, 97, 175, .2);--code-bg: #FDAED8;--accent: #F361AF;--accent-bg: rgba(243, 97, 175, .1);--accent-border: rgba(243, 97, 175, .5);--social-bg: rgba(253, 174, 216, .3);--shadow: rgba(243, 97, 175, .15) 0 10px 15px -3px, rgba(243, 97, 175, .08) 0 4px 6px -2px}#social .button-icon{filter:none}}#root{width:1126px;max-width:100%;margin:0 auto;text-align:center;border-inline:1px solid var(--border);min-height:100svh;display:flex;flex-direction:column;box-sizing:border-box}body{margin:0}h1,h2{font-family:var(--heading);font-weight:500;color:var(--text-h)}h1{font-size:56px;letter-spacing:-1.68px;margin:32px 0}@media (max-width: 1024px){h1{font-size:36px;margin:20px 0}}h2{font-size:24px;line-height:118%;letter-spacing:-.24px;margin:0 0 8px}@media (max-width: 1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);display:inline-flex;border-radius:4px;color:var(--text-h)}code{font-size:15px;line-height:135%;padding:4px 8px;background:var(--code-bg)}button,.button,input[type=button],input[type=submit]{border-radius:var(--button-border-radius);border:var(--button-border-thickness) solid var(--button-border-color);background:transparent;color:var(--button-text-color);padding:12px 32px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;font-family:var(--sans);letter-spacing:.18px}button:hover,.button:hover,input[type=button]:hover,input[type=submit]:hover{background:var(--button-hover-bg-color);color:var(--button-hover-text-color);border-color:var(--button-hover-bg-color);transform:translateY(-1px);box-shadow:0 4px 12px #f361af40}button:disabled,.button:disabled,input[type=button]:disabled,input[type=submit]:disabled{opacity:.5;cursor:not-allowed;transform:none}input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],textarea,select{border:1px solid rgba(243,97,175,.3);border-radius:8px;padding:10px 16px;font-size:16px;font-family:var(--sans);color:var(--body-text-color);background:#fff;transition:all .3s ease}input[type=text]:focus,input[type=email]:focus,input[type=tel]:focus,input[type=number]:focus,input[type=date]:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #f361af1a}a{color:var(--accent-color);text-decoration:none;transition:all .2s ease}a:hover{color:#d84a99;text-decoration:underline}.landing-container{min-height:100vh;display:flex;flex-direction:column;padding:2rem;max-width:1200px;margin:0 auto}.landing-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem}.landing-header-content h1{margin:0 0 .25rem;font-size:3rem;font-weight:700;letter-spacing:.02em;color:var(--text-h)}.landing-tagline{margin:0;font-size:1rem;color:var(--text);letter-spacing:.15em;text-transform:uppercase;font-style:italic}.admin-heart-button{width:48px;height:48px;border-radius:50%;background:var(--accent);color:#fff;border:none;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.admin-heart-button:hover{transform:scale(1.1);opacity:.9}.landing-main{flex:1;display:flex;align-items:center;justify-content:center}.landing-cards{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:100%;max-width:900px}.landing-card{border-radius:20px;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;background:var(--card-bg, #fff);box-shadow:0 4px 24px #00000014;display:flex;flex-direction:column;outline:none}.landing-card:focus-visible{box-shadow:0 0 0 3px var(--accent),0 4px 24px #00000014}.predrawn-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px #00000029}.card-closed{cursor:default;filter:grayscale(60%);opacity:.75}.card-closed:hover{transform:none;box-shadow:0 4px 24px #00000014}.custom-card:not(.card-closed):hover{transform:translateY(-6px);box-shadow:0 16px 48px #00000029}.card-image-wrapper{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;background:var(--card-background-color, #f3f4f6)}.card-feature-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}.landing-card:not(.card-closed):hover .card-feature-image{transform:scale(1.04)}.card-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 50%,rgba(0,0,0,.3) 100%);pointer-events:none}.card-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--card-background-color, #f3f4f6)}.placeholder-icon{font-size:3rem;color:var(--accent);opacity:.4}.available-badge{position:absolute;top:1rem;left:1rem;background:var(--accent);color:#fff;padding:.35rem .85rem;border-radius:20px;font-size:.8rem;font-weight:600;letter-spacing:.03em}.closed-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center}.closed-label{background:#000000a6;color:#e5e7eb;font-size:1.1rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:.5rem 1.5rem;border-radius:8px;border:1px solid rgba(255,255,255,.2)}.card-body{padding:1.25rem 1.5rem 1.5rem;background:var(--card-background-color, #fff);display:flex;flex-direction:column;gap:.4rem}.card-title{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-h);letter-spacing:.01em}.card-desc{margin:0;font-size:.9rem;color:var(--text);line-height:1.5}.card-cta{font-size:.9rem;font-weight:600;color:var(--accent);margin-top:.25rem;transition:letter-spacing .2s}.landing-card:not(.card-closed):hover .card-cta{letter-spacing:.04em}.card-custom-message{margin:.25rem 0 0;font-size:.85rem;color:var(--text);line-height:1.5;font-style:italic;opacity:.85}.card-status-link{display:inline-block;margin-top:.5rem;background:none;border:none;padding:0;font-size:.8rem;font-weight:500;color:var(--text);opacity:.55;cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:opacity .15s;text-align:left;font-family:inherit}.card-status-link:hover{opacity:1}.landing-footer{margin-top:3rem;padding:1.5rem 0 2rem;text-align:center;border-top:1px solid rgba(128,128,128,.15)}.landing-footer-name{margin:0 0 .25rem;font-size:.9rem;font-weight:600;color:var(--text-h);letter-spacing:.05em;text-transform:uppercase}.landing-footer-address{margin:0;font-size:.85rem;color:var(--text);opacity:.65;letter-spacing:.02em}@media (max-width: 640px){.landing-container{padding:1.25rem}.landing-header-content h1{font-size:2.25rem}.landing-cards{grid-template-columns:1fr;max-width:400px;margin:0 auto}}.question-widget{position:fixed;bottom:1.75rem;right:1.75rem;z-index:500;display:flex;flex-direction:column;align-items:flex-end;gap:.75rem}.question-fab{display:flex;align-items:center;gap:.6rem;padding:.65rem 1.25rem .65rem .9rem;background:var(--accent, #c07a5a);color:#fff;border:none;border-radius:50px;cursor:pointer;font-size:.95rem;font-weight:600;box-shadow:0 4px 16px #0000002e;transition:transform .2s,box-shadow .2s;white-space:nowrap}.question-fab:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000038}.question-fab-icon{width:28px;height:28px;background:#ffffff40;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:700;flex-shrink:0}.question-panel{width:320px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000002e;overflow:hidden;animation:questionSlideUp .22s ease-out}@keyframes questionSlideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.question-panel-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--accent, #c07a5a);color:#fff;font-weight:600;font-size:.95rem}.question-close-btn{background:none;border:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;opacity:.85;transition:opacity .15s}.question-close-btn:hover{opacity:1}.question-form{padding:1.25rem;display:flex;flex-direction:column;gap:.75rem}.question-input,.question-textarea{width:100%;padding:.65rem .85rem;border:1.5px solid #e5e7eb;border-radius:8px;font-size:.9rem;font-family:inherit;color:#111827;background:#fafafa;transition:border-color .15s;box-sizing:border-box;resize:none}.question-input:focus,.question-textarea:focus{outline:none;border-color:var(--accent, #c07a5a);background:#fff}.question-input::placeholder,.question-textarea::placeholder{color:#9ca3af}.question-public-notice{margin:0;font-size:.8rem;color:#6b7280;line-height:1.5;padding:.5rem .75rem;background:#f9fafb;border-radius:6px;border-left:3px solid var(--accent, #c07a5a)}.question-anon-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none}.question-anon-checkbox{width:15px;height:15px;accent-color:var(--accent, #c07a5a);cursor:pointer;flex-shrink:0}.question-input:disabled{opacity:.45;cursor:not-allowed}.question-error{font-size:.82rem;color:#dc2626;margin:0}.question-submit{padding:.7rem 1rem;background:var(--accent, #c07a5a);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .15s,transform .15s}.question-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.question-submit:disabled{opacity:.5;cursor:not-allowed}.question-success{padding:2rem 1.25rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}.question-success-icon{width:48px;height:48px;background:#dcfce7;color:#16a34a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700}.question-success p{margin:0;font-size:.95rem;color:#374151;font-weight:500}@media (max-width: 640px){.question-widget{bottom:1.25rem;right:1rem}.question-panel{width:calc(100vw - 2rem)}.question-fab-label{display:none}.question-fab{padding:.75rem;border-radius:50%}.question-fab-icon{width:32px;height:32px;font-size:1.1rem}}.bsl-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:600;padding:1rem}.bsl-modal{width:100%;max-width:420px;background:#fff;border-radius:16px;box-shadow:0 16px 48px #00000038;overflow:hidden;animation:bslFadeIn .2s ease-out}@keyframes bslFadeIn{0%{opacity:0;transform:scale(.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.bsl-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:#1f2937;color:#fff;font-weight:600;font-size:.95rem}.bsl-close{background:none;border:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;padding:0;opacity:.8;transition:opacity .15s}.bsl-close:hover{opacity:1}.bsl-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem;max-height:70vh;overflow-y:auto}.bsl-hint{margin:0 0 .6rem;font-size:.85rem;color:#6b7280}.bsl-form{display:flex;flex-direction:column;gap:0}.bsl-input-row{display:flex;gap:.5rem}.bsl-input{flex:1;padding:.6rem .85rem;border:1.5px solid #e5e7eb;border-radius:8px;font-size:.88rem;font-family:inherit;color:#111827;background:#fafafa;transition:border-color .15s;min-width:0}.bsl-input:focus{outline:none;border-color:#374151;background:#fff}.bsl-input::placeholder{color:#9ca3af;font-size:.82rem}.bsl-search-btn{padding:.6rem 1rem;background:#1f2937;color:#fff;border:none;border-radius:8px;font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:opacity .15s;flex-shrink:0}.bsl-search-btn:disabled{opacity:.45;cursor:not-allowed}.bsl-search-btn:not(:disabled):hover{opacity:.85}.bsl-error{margin:.5rem 0 0;font-size:.82rem;color:#dc2626}.bsl-no-results{font-size:.88rem;color:#6b7280;text-align:center;padding:.25rem 0;line-height:1.5}.bsl-results{display:flex;flex-direction:column;gap:.75rem}.bsl-result-card{border:1.5px solid #e5e7eb;border-radius:10px;padding:.85rem 1rem}.bsl-result-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.4rem;flex-wrap:wrap}.bsl-result-name{font-weight:600;font-size:.95rem;color:#111827}.bsl-status-badge{font-size:.78rem;font-weight:700;padding:.2rem .6rem;border-radius:10px;white-space:nowrap}.bsl-result-note{margin:0 0 .35rem;font-size:.85rem;color:#374151;line-height:1.5}.bsl-declined-reason{margin:0 0 .35rem;font-size:.82rem;color:#6b7280;font-style:italic;line-height:1.5}.bsl-result-date{margin:0;font-size:.78rem;color:#9ca3af}.bsl-view-email-btn{display:inline-block;margin-top:.6rem;background:none;border:none;padding:0;font-size:.8rem;font-weight:600;color:#374151;cursor:pointer;text-decoration:underline;text-underline-offset:2px;font-family:inherit;transition:color .15s}.bsl-view-email-btn:hover{color:#111827}.bsl-email-preview{margin-top:.75rem;border-top:1px solid #e5e7eb;padding-top:.75rem}.bsl-email-subject{margin:0 0 .6rem;font-size:.82rem;color:#374151}.bsl-email-body{background:#f9fafb;border-radius:8px;padding:.85rem 1rem;font-size:.83rem;color:#374151;line-height:1.6;display:flex;flex-direction:column;gap:.5rem}.bsl-email-body p{margin:0}.bsl-email-cta{display:inline-block;background:#d4537a;color:#fff!important;text-decoration:none;padding:.55rem 1.1rem;border-radius:7px;font-weight:700;font-size:.85rem;align-self:flex-start;transition:opacity .15s}.bsl-email-cta:hover{opacity:.88}.bsl-email-steps{background:#fff;border-left:3px solid #d4537a;padding:.65rem .85rem;border-radius:4px;font-size:.82rem}.bsl-email-steps ol{margin:.35rem 0 0;padding-left:1.2rem}.bsl-email-steps li{margin-bottom:.2rem}.bsl-email-note{background:#fff;border-left:3px solid #9ca3af;padding:.65rem .85rem;border-radius:4px;font-size:.82rem;font-style:italic;color:#374151}.bsl-email-note p{margin:.25rem 0 0}.bsl-email-closing{color:#374151}.bsl-email-sig{color:#6b7280;font-style:italic}.faq-section{padding:2rem 2rem 3rem;max-width:720px;margin:0 auto;width:100%;box-sizing:border-box}.faq-heading{margin:0 0 1rem;font-size:1.4rem;font-weight:700;color:var(--text-h);letter-spacing:.01em}.faq-scroll{max-height:420px;overflow-y:auto;border:1.5px solid #e5e7eb;border-radius:12px;padding:.25rem 0;scrollbar-width:thin;scrollbar-color:#d1d5db transparent}.faq-scroll::-webkit-scrollbar{width:6px}.faq-scroll::-webkit-scrollbar-track{background:transparent;border-radius:0 12px 12px 0}.faq-scroll::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.faq-scroll::-webkit-scrollbar-thumb:hover{background:#9ca3af}.faq-item{padding:1rem 1.25rem}.faq-item--divided{border-bottom:1px solid #f3f4f6}.faq-question{margin:0 0 .4rem;font-size:.95rem;font-weight:600;color:var(--text-h);line-height:1.5}.faq-asker{color:var(--accent, #c07a5a);font-weight:600}.faq-answer{margin:0;font-size:.9rem;color:var(--text);line-height:1.7}@media (max-width: 640px){.faq-section{padding:1.5rem 1.25rem 2.5rem}}.contact-form-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:100000;padding:20px}.contact-form-modal{background:#fff;border-radius:12px;padding:40px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d}.contact-form-modal h2{margin:0 0 8px;color:var(--heading-color);font-size:24px}.form-subtitle{margin:0 0 32px;color:var(--body-text-color);opacity:.7;font-size:14px}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;padding:12px 16px;margin-bottom:20px;color:#721c24;font-size:14px;word-break:break-word}.error-message strong{display:block;margin-bottom:4px}.contact-form{display:flex;flex-direction:column;gap:20px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group label{font-weight:600;color:var(--heading-color);font-size:14px}.form-group input{padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#e91e63}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-group small{color:#7f8c8d;font-size:12px}.deposit-info-box{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;padding:16px;margin:8px 0}.deposit-info-box p{margin:0 0 8px;color:#856404;font-size:14px}.deposit-info-box p:last-child{margin-bottom:0}.deposit-note{font-size:13px!important;opacity:.9}.button-group{display:flex;gap:12px;margin-top:8px}.button-primary,.button-secondary{flex:1;padding:14px 24px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.button-primary{background:#e91e63;color:#fff}.button-primary:hover:not(:disabled){background:#c2185b;transform:translateY(-1px)}.button-primary:disabled{background:#ccc;cursor:not-allowed;transform:none}.button-secondary{background:#fff;color:#2c3e50;border:2px solid #ddd}.button-secondary:hover:not(:disabled){border-color:#bbb}.button-secondary:disabled{opacity:.5;cursor:not-allowed}.screenshot-prompt{max-width:600px;text-align:center}.screenshot-prompt h2{color:#e91e63;font-size:28px;margin-bottom:24px}.screenshot-design-display{background:#f8f9fa;border-radius:12px;padding:24px;margin-bottom:24px}.screenshot-design-display img{width:100%;max-width:400px;height:auto;border-radius:8px;box-shadow:0 4px 12px #0000001a}.screenshot-instructions{margin-bottom:32px}.screenshot-title{font-size:20px;font-weight:600;color:var(--heading-color);margin-bottom:16px}.screenshot-warning{font-size:16px;color:#856404;background:#fff3cd;border:2px solid #ffc107;border-radius:8px;padding:16px;margin:0;font-weight:500}.continue-button{width:100%;max-width:300px;padding:16px 32px;font-size:18px}@media (max-width: 600px){.contact-form-modal{padding:24px}.form-row{grid-template-columns:1fr}.button-group{flex-direction:column-reverse}.button-primary,.button-secondary{width:100%}.screenshot-prompt h2{font-size:24px}.screenshot-design-display{padding:16px}}.gallery-container{padding:2rem;max-width:1400px;margin:0 auto}.gallery-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:3rem;padding-bottom:2rem;border-bottom:2px solid var(--border)}.gallery-home-button{background:none;border:1.5px solid var(--border, #e5e7eb);color:var(--text);padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s;white-space:nowrap;font-family:inherit}.gallery-home-button:hover{background:var(--card-bg, #f9fafb);border-color:var(--text)}.header-content h1{margin:0 0 .5rem;font-size:3.5rem;font-weight:700;letter-spacing:.02em}.header-content .subtitle{color:var(--text-h);font-size:1.5rem;margin:.5rem 0 .25rem;font-weight:600}.header-content .description{color:var(--text);font-size:.95rem;margin:0;font-style:italic}.admin-button{padding:.75rem 1.5rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.admin-button.heart-button{width:50px;height:50px;padding:0;border-radius:50%;font-size:1.75rem;display:flex;align-items:center;justify-content:center;line-height:1}.admin-button:hover{opacity:.9;transform:translateY(-2px)}.admin-button.heart-button:hover{transform:scale(1.1)}.loading{text-align:center;padding:3rem;font-size:1.2rem;color:var(--text)}.designs-section{margin-bottom:3rem}.designs-section h2{margin-bottom:1.5rem;text-align:left}.designs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.no-designs{text-align:center;padding:3rem;color:var(--text);font-size:1.1rem}.claimed-section{opacity:.7}.design-card{background:var(--bg);border:2px solid var(--border);border-radius:12px;overflow:hidden;cursor:pointer;transition:all .3s ease}.design-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--accent)}.design-card.claimed{opacity:.6}.design-image-container{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:var(--code-bg)}.design-image-container img{width:100%;height:100%;object-fit:cover;display:block}.claimed-badge{position:absolute;top:1rem;right:1rem;background:#000c;color:#fff;padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:700;letter-spacing:.1em}.design-info{padding:1.25rem}.design-info h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--text-h)}.design-info .price{color:var(--accent);font-size:1.125rem;font-weight:600;margin:0}.modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;display:flex!important;align-items:center;justify-content:center;z-index:99999!important;padding:2rem;overflow-y:auto;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--bg);border-radius:16px;max-width:1200px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 25px 50px -12px #00000080;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-close{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border:none;background:#0000001a;color:var(--text-h);font-size:2rem;line-height:1;cursor:pointer;border-radius:50%;transition:all .2s;z-index:10}.modal-close:hover{background:#0003;transform:rotate(90deg)}.modal-layout{display:grid;grid-template-columns:1fr 1fr;gap:2rem;padding:2rem}.modal-image{position:relative}.modal-image img{width:100%;height:auto;border-radius:12px;display:block}.modal-details{display:flex;flex-direction:column;gap:1.5rem}.modal-details h2{margin:0;font-size:2rem;color:var(--text-h)}.detail-section{display:flex;flex-direction:column;gap:.75rem}.detail-section h3{font-size:1rem;font-weight:600;color:var(--text);margin:0;text-transform:uppercase;letter-spacing:.5px}.detail-grid{display:grid;gap:1rem}.detail-item{display:flex;flex-direction:column;gap:.25rem}.detail-item label{font-size:.875rem;color:var(--text);font-weight:500}.detail-item span{font-size:1.125rem;color:var(--text-h);font-weight:500}.design-description{line-height:1.6;color:var(--text);margin:0}.claimed-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;border-radius:12px}.claimed-overlay-text{color:#fff;font-size:2.5rem;font-weight:700;letter-spacing:.2em;text-shadow:0 2px 10px rgba(0,0,0,.5)}.claimed-message{background:#fffffff2;color:#333;padding:1.5rem 2rem;border-radius:8px;font-size:1.25rem;font-weight:600}.claim-button{width:100%;padding:1rem;background:var(--accent);color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:1rem}.claim-button:hover{opacity:.9;transform:translateY(-2px)}.claim-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.deposit-notice{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:8px;padding:1rem;font-size:.9rem;color:var(--text);margin-top:1rem}@media (max-width: 768px){.gallery-container{padding:1rem}.gallery-header{flex-direction:column;gap:1rem;text-align:center}.designs-grid{grid-template-columns:1fr;gap:1.5rem}.modal-overlay{padding:1rem}.modal-layout{grid-template-columns:1fr;padding:1.5rem}.modal-close{top:.5rem;right:.5rem}.modal-details h2{font-size:1.5rem}}.payment-container{min-height:100vh;background:linear-gradient(135deg,var(--background-color-1) 0%,var(--background-color-2) 100%);padding:40px 20px}.payment-card{max-width:1200px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px}.back-button{background:none;border:none;color:#666;font-size:16px;cursor:pointer;padding:8px 0;margin-bottom:20px;transition:color .3s}.back-button:hover{color:var(--accent-color)}.payment-card h1{font-size:32px;color:var(--heading-color);margin-bottom:30px;text-align:center}.payment-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:30px}.design-summary{background:#f8f9fa;padding:30px;border-radius:12px}.design-summary h2{font-size:24px;color:#1a1a2e;margin-bottom:20px}.summary-image{width:100%;aspect-ratio:1;border-radius:8px;overflow:hidden;margin-bottom:20px;background:#fff}.summary-image img{width:100%;height:100%;object-fit:cover}.design-summary h3{font-size:22px;color:#1a1a2e;margin-bottom:10px}.description{color:#666;line-height:1.6;margin-bottom:20px}.details-list{background:#fff;border-radius:8px;padding:20px}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e0e0e0}.detail-row:last-child{border-bottom:none}.detail-row.highlight{background:#e8f5e9;margin:0 -10px;padding:12px 10px;border-radius:6px;border-bottom:none}.detail-row .label{font-weight:600;color:#555}.detail-row .value{color:#1a1a2e;font-weight:500}.detail-row .value.price{font-size:20px;font-weight:700;color:#2e7d32}.payment-form-section{background:#fff}.payment-form-section h2{font-size:24px;color:#1a1a2e;margin-bottom:30px}.claim-info{background:#f0f7ff;border-left:4px solid #2196f3;padding:20px;border-radius:8px;margin-bottom:25px}.info-text{color:#1a1a2e;font-size:16px;margin-bottom:15px;font-weight:500}.info-list{margin:0;padding-left:20px;color:#555}.info-list li{margin-bottom:8px;line-height:1.6}.deposit-info{background:#fff3cd;border-left:4px solid #ffc107;padding:20px;border-radius:8px;margin:30px 0}.deposit-info h3{font-size:18px;color:#856404;margin-bottom:10px}.deposit-info p{color:#856404;line-height:1.6;margin-bottom:8px}.deposit-info .note{font-size:14px;font-style:italic}.pay-button{width:100%;padding:16px;background:#e63946;color:#fff;border:none;border-radius:8px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s;margin-top:20px}.pay-button:hover:not(:disabled){background:#d62839;transform:translateY(-2px);box-shadow:0 4px 12px #e639464d}.pay-button:disabled{background:#ccc;cursor:not-allowed}.security-note{text-align:center;color:#666;font-size:14px;margin-top:20px;font-style:italic}.email-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.email-modal{background:#fff;border-radius:16px;padding:40px;max-width:500px;width:100%;box-shadow:0 20px 60px #0000004d}.email-modal h2{font-size:24px;color:#1a1a2e;margin-bottom:10px}.email-modal-subtitle{color:#666;margin-bottom:30px;line-height:1.6}.email-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-weight:600;color:#1a1a2e;font-size:14px}.form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;transition:border-color .3s}.form-group input:focus{outline:none;border-color:#e63946}.email-modal-actions{display:flex;gap:12px;margin-top:30px}.email-modal-actions button{flex:1;padding:14px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.cancel-button{background:#f5f5f5;color:#666}.cancel-button:hover{background:#e0e0e0}.submit-button{background:#e63946;color:#fff}.submit-button:hover:not(:disabled){background:#d62839;transform:translateY(-2px);box-shadow:0 4px 12px #e639464d}.submit-button:disabled{background:#ccc;cursor:not-allowed}.success-message{background:#e8f5e9;border-left:4px solid #4caf50;padding:20px;border-radius:8px;margin-bottom:20px}.success-message h3{color:#2e7d32;margin-bottom:10px;font-size:18px}.success-message p{color:#1b5e20;line-height:1.6;margin-bottom:8px}.success-message strong{color:#1b5e20}.countdown-text{text-align:center;color:#666;margin-top:20px;font-size:14px}.design-url-box{display:flex;gap:10px;margin:20px 0;padding:15px;background-color:#f8f9fa;border-radius:8px;border:2px solid #dee2e6}.design-url-input{flex:1;padding:10px;border:1px solid #ced4da;border-radius:4px;font-size:14px;font-family:monospace;background-color:#fff}.copy-button{padding:10px 20px;background-color:#8b4789;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;white-space:nowrap}.copy-button:hover{background-color:#723a71}.important-notice{font-weight:600;color:#8b4789;font-size:16px;margin:10px 0}.expiration-warning{color:#856404;background-color:#fff3cd;padding:10px;border-radius:4px;border-left:4px solid #ffc107;font-size:14px;margin-top:15px}@media (max-width: 968px){.payment-layout{grid-template-columns:1fr}.payment-card{padding:20px}.payment-card h1{font-size:24px}.email-modal{padding:24px}.email-modal h2{font-size:20px}}.confirmation-container{min-height:100vh;background:linear-gradient(135deg,var(--background-color-1) 0%,var(--background-color-2) 100%);padding:40px 20px;display:flex;align-items:center;justify-content:center}.confirmation-card{max-width:700px;width:100%;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:50px 40px;text-align:center}.success-icon{width:80px;height:80px;background:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:700;margin:0 auto 30px;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.confirmation-card h1{font-size:32px;color:var(--heading-color);margin-bottom:15px}.confirmation-message{font-size:18px;color:var(--body-text-color);opacity:.85;margin-bottom:40px}.confirmation-details{text-align:left;margin-bottom:40px}.design-preview{background:#f8f9fa;padding:20px;border-radius:12px;margin-bottom:30px;text-align:center}.design-preview img{width:200px;height:200px;object-fit:cover;border-radius:8px;margin-bottom:15px}.design-preview h3{font-size:20px;color:#1a1a2e}.booking-info{background:#f8f9fa;padding:25px;border-radius:12px;margin-bottom:30px}.booking-info h2{font-size:22px;color:#1a1a2e;margin-bottom:20px;text-align:center}.info-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e0e0e0}.info-row:last-child{border-bottom:none}.info-row.highlight{background:#e8f5e9;margin:10px -15px 0;padding:12px 15px;border-radius:6px;border-bottom:none}.info-row .label{font-weight:600;color:#555}.info-row .value{color:#1a1a2e;font-weight:500}.info-row .value.price{font-size:20px;font-weight:700;color:#2e7d32}.next-steps{background:#e3f2fd;padding:25px;border-radius:12px;border-left:4px solid #2196f3}.next-steps h2{font-size:22px;color:#0d47a1;margin-bottom:15px;text-align:center}.next-steps ol{padding-left:25px;color:#1565c0}.next-steps li{margin-bottom:12px;line-height:1.6}.return-button{padding:14px 40px;background:#e63946;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s}.return-button:hover{background:#d62839;transform:translateY(-2px);box-shadow:0 4px 12px #e639464d}@media (max-width: 768px){.confirmation-card{padding:30px 20px}.confirmation-card h1{font-size:24px}.success-icon{width:60px;height:60px;font-size:36px}.design-preview img{width:150px;height:150px}}.artist-toggle-btn{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:50px;height:50px;border-radius:50%;border:none;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:24px;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s ease;z-index:1000}.artist-toggle-btn:hover{transform:translate(-50%) scale(1.1);box-shadow:0 6px 20px #667eea66}.artist-login-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:1000}.artist-login-form{background:#fff;padding:24px;border-radius:12px;box-shadow:0 8px 32px #00000026;min-width:300px;animation:slideUp .3s ease;display:flex;flex-direction:column;gap:16px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.artist-code-input{width:100%;padding:12px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;margin-bottom:12px;transition:border-color .3s ease}.artist-code-input:focus{outline:none;border-color:#667eea}.login-buttons{display:flex;gap:8px}.login-btn,.cancel-btn{flex:1;padding:10px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.login-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.login-btn:hover{opacity:.9;transform:translateY(-1px)}.cancel-btn{background:#f1f5f9;color:#64748b}.cancel-btn:hover{background:#e2e8f0}.error-message{color:#ef4444;font-size:12px;margin:0;text-align:center}.code-display{display:flex;justify-content:center;gap:16px;margin-bottom:8px}.code-dot{width:40px;height:40px;border:2px solid #e2e8f0;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:32px;color:#667eea;background:#f8fafc;transition:all .2s ease}.code-dot:has(+.code-dot:empty){border-color:#667eea;background:#eef2ff}.code-dot:not(:empty){border-color:#667eea;background:#eef2ff}.number-keypad{display:flex;flex-direction:column;gap:8px}.keypad-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.keypad-btn{padding:16px;border:2px solid #e2e8f0;border-radius:8px;font-size:18px;font-weight:600;background:#fff;color:#334155;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.keypad-btn:hover{background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.keypad-btn:active{transform:translateY(0);background:#f1f5f9}.enter-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none}.enter-btn:hover{opacity:.9;transform:translateY(-1px)}.enter-btn:active{transform:translateY(0);opacity:.95}.clear-btn{background:#fef2f2;color:#ef4444;border-color:#fee2e2}.clear-btn:hover{background:#fee2e2;border-color:#fecaca}.design-view-container{min-height:100vh;background:linear-gradient(135deg,var(--background-color-1) 0%,var(--background-color-2) 100%);padding:40px 20px}.design-view-card{max-width:1400px;margin:0 auto;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;padding:40px}.design-view-header{text-align:center;margin-bottom:40px}.design-view-header h1{font-size:32px;color:var(--heading-color);margin-bottom:10px}.greeting{font-size:18px;color:var(--body-text-color);opacity:.85}.expiration-warning{background-color:#fff3cd;border-left:4px solid #ffc107;padding:16px;margin:0 0 30px;border-radius:8px;color:#856404;text-align:center}.expiration-warning strong{display:block;margin-bottom:4px}.design-display{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:40px}.design-image-section{display:flex;flex-direction:column;gap:20px}.full-design-image{width:100%;height:auto;border-radius:12px;box-shadow:0 8px 16px #00000026;background:#fff}.download-button{padding:16px 32px;background:transparent;color:var(--button-text-color);border:var(--button-border-thickness) solid var(--button-border-color);border-radius:var(--button-border-radius);font-size:18px;font-weight:700;cursor:pointer;transition:all .3s}.download-button:hover{background:var(--button-hover-bg-color);color:var(--button-hover-text-color);border-color:var(--button-hover-bg-color);transform:translateY(-2px);box-shadow:0 4px 12px #f361af4d}.design-info-section{display:flex;flex-direction:column;gap:24px}.design-info-section h2{font-size:28px;color:#1a1a2e;margin-bottom:10px}.design-description{color:#666;line-height:1.6;font-size:16px}.info-card,.next-steps-card,.contact-card,.screenshot-guide{background:#f8f9fa;border-radius:12px;padding:24px}.info-card h3,.next-steps-card h3,.contact-card h3,.screenshot-guide h3{font-size:20px;color:#1a1a2e;margin-bottom:16px}.info-grid{display:flex;flex-direction:column;gap:12px}.info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #e0e0e0}.info-item:last-child{border-bottom:none}.info-label{font-weight:600;color:#555}.info-value{color:#1a1a2e;font-weight:500}.info-value.highlight{color:#2e7d32;font-weight:700;font-size:18px}.steps-list{margin:0;padding-left:20px;color:#555}.steps-list li{margin-bottom:12px;line-height:1.6}.contact-card p{color:#555;line-height:1.8;margin-bottom:8px}.contact-info{background:#fff;padding:16px;border-radius:8px;margin-top:12px}.platform-instructions{display:flex;flex-direction:column;gap:16px}.platform{background:#fff;padding:16px;border-radius:8px}.platform strong{color:#1a1a2e;display:block;margin-bottom:6px}.platform p{color:#666;margin:0;font-size:14px}.footer-note{text-align:center;padding-top:30px;border-top:1px solid #e0e0e0;color:#666}.footer-note p{margin-bottom:8px}.booking-date{font-size:14px;font-style:italic}.loading{text-align:center;padding:60px 20px;font-size:18px;color:#fff}@media (max-width: 968px){.design-display{grid-template-columns:1fr}.design-view-card{padding:24px}.design-view-header h1{font-size:24px}.design-info-section h2{font-size:22px}}.customization-admin{min-height:100vh;background:linear-gradient(135deg,var(--background-color-1) 0%,var(--background-color-2) 100%);padding:2rem}.customization-header{max-width:1600px;margin:0 auto 2rem;display:flex;align-items:center;gap:1.5rem}.customization-header h1{color:var(--heading-color);margin:0}.back-button{padding:.75rem 1.5rem;background:transparent;border:1px solid var(--button-border-color);color:var(--button-text-color);border-radius:var(--button-border-radius);cursor:pointer;font-size:1rem;transition:all .3s ease}.back-button:hover{background:var(--button-hover-bg-color);color:var(--button-hover-text-color)}.message{max-width:1600px;margin:0 auto 1.5rem;padding:1rem 1.5rem;border-radius:12px;font-weight:500}.message.success{background:#4caf501a;border:1px solid rgba(76,175,80,.3);color:#2e7d32}.message.error{background:#f443361a;border:1px solid rgba(244,67,54,.3);color:#c62828}.customization-layout{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:start}.customization-controls{background:#ffffffe6;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #f361af26;display:flex;flex-direction:column;gap:2rem}.control-section{display:flex;flex-direction:column;gap:1.25rem}.control-section h2{color:var(--heading-color);font-size:1.5rem;margin:0;padding-bottom:.75rem;border-bottom:2px solid rgba(243,97,175,.2)}.control-group{display:flex;flex-direction:column;gap:.5rem}.control-group label{color:var(--body-text-color);font-weight:500;font-size:.95rem}.control-group input[type=color]{width:80px;height:40px;border:2px solid rgba(243,97,175,.3);border-radius:8px;cursor:pointer}.control-group input[type=range]{width:100%;height:6px;border-radius:3px;background:#f361af33;outline:none;cursor:pointer}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent-color);cursor:pointer;transition:all .2s ease}.control-group input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}.control-group input[type=file]{padding:.5rem;border:2px dashed rgba(243,97,175,.3);border-radius:8px;cursor:pointer;background:#fdf6fa80}.color-value{font-family:monospace;font-size:.9rem;color:var(--body-text-color);opacity:.7}.radio-group{display:flex;gap:1.5rem;flex-wrap:wrap}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--body-text-color)}.radio-label input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--accent-color)}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;color:var(--body-text-color)}.checkbox-label input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:var(--accent-color)}.image-preview{margin-top:1rem;border:2px solid rgba(243,97,175,.3);border-radius:12px;overflow:hidden;max-width:100%}.image-preview img{width:100%;height:auto;display:block}.control-hint{font-size:.85rem;color:var(--body-text-color);opacity:.7;margin-top:.25rem;font-style:italic}.action-buttons{display:flex;gap:1rem;padding-top:1rem;border-top:2px solid rgba(243,97,175,.1)}.save-button,.reset-button{flex:1;padding:1rem 2rem;font-size:1.1rem;font-weight:600;border-radius:var(--button-border-radius);cursor:pointer;transition:all .3s ease}.save-button{background:var(--accent-color);color:#fff;border:none}.save-button:hover:not(:disabled){background:#d84a99;transform:translateY(-2px);box-shadow:0 6px 16px #f361af4d}.save-button:disabled{opacity:.6;cursor:not-allowed}.reset-button{background:transparent;color:var(--button-text-color);border:2px solid var(--button-border-color)}.reset-button:hover{background:#f361af1a;border-color:var(--accent-color)}.customization-preview{position:sticky;top:2rem;background:#ffffffe6;border-radius:16px;padding:2rem;box-shadow:0 4px 16px #f361af26}.customization-preview h2{color:var(--heading-color);font-size:1.5rem;margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid rgba(243,97,175,.2)}.preview-container{border:2px solid rgba(243,97,175,.2);border-radius:12px;overflow:hidden;background:linear-gradient(135deg,var(--background-color-1) 0%,var(--background-color-2) 100%)}.preview-content{padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.preview-content h1{font-size:2rem;margin:0}.preview-content p{margin:0;line-height:1.6}.preview-content a{text-decoration:none;font-weight:500}.preview-card{padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a}.preview-card h3{margin:0 0 .5rem;font-size:1.25rem}.preview-card p{margin:0;font-size:.95rem}.preview-buttons{display:flex;gap:1rem}.preview-button{padding:.75rem 1.5rem;background:transparent;cursor:default;font-size:1rem;transition:all .3s ease}.preview-button:hover{background:var(--button-hover-bg-color);color:var(--button-hover-text-color);border-color:var(--button-hover-bg-color)}@media (max-width: 1200px){.customization-layout{grid-template-columns:1fr}.customization-preview{position:static}}@media (max-width: 768px){.customization-admin{padding:1rem}.customization-header{flex-direction:column;align-items:flex-start}.customization-controls,.customization-preview{padding:1.5rem}.action-buttons{flex-direction:column}}.toggle-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch{width:48px;height:26px;border-radius:13px;background:#d1d5db;position:relative;transition:background .25s;flex-shrink:0}.toggle-switch.on{background:var(--accent-color)}.toggle-knob{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0003;transition:transform .25s}.toggle-switch.on .toggle-knob{transform:translate(22px)}.toggle-text{font-size:.9rem;color:var(--body-text-color, #555)}.cbf-container{max-width:640px;margin:0 auto;padding:2rem 1.5rem 4rem}.cbf-header{margin-bottom:1.5rem}.cbf-header h1{margin:.5rem 0 0;font-size:2rem;font-weight:700;color:var(--text-h)}.cbf-back-link{background:none;border:none;cursor:pointer;font-size:.95rem;color:var(--accent);padding:0;font-weight:500;transition:opacity .2s}.cbf-back-link:hover{opacity:.7}.cbf-notice{background:#fef3c7;border:1px solid #f59e0b;border-radius:10px;padding:1rem 1.25rem;margin-bottom:2rem;font-size:.9rem;line-height:1.6;color:#78350f}.cbf-progress{display:flex;align-items:center;gap:.5rem;margin-bottom:2rem}.cbf-progress-dot{width:10px;height:10px;border-radius:50%;background:#e5e7eb;transition:background .3s}.cbf-progress-dot.done{background:var(--accent);opacity:.5}.cbf-progress-dot.active{background:var(--accent);width:28px;border-radius:5px}.cbf-progress-label{margin-left:.5rem;font-size:.85rem;color:var(--text)}.cbf-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 24px #00000012}.cbf-step h2{margin:0 0 1.75rem;font-size:1.4rem;font-weight:700;color:var(--text-h)}.cbf-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.cbf-field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1.25rem}.cbf-field label{font-size:.95rem;font-weight:600;color:var(--text-h)}.req{color:var(--accent)}.cbf-optional{font-weight:400;color:var(--text);font-size:.85em}.cbf-field input[type=text],.cbf-field input[type=email],.cbf-field input[type=tel],.cbf-field textarea{padding:.65rem .9rem;border:1.5px solid #e5e7eb;border-radius:8px;font-size:1rem;color:var(--text-h);background:#fafafa;transition:border-color .2s;font-family:inherit;resize:vertical}.cbf-field input:focus,.cbf-field textarea:focus{outline:none;border-color:var(--accent);background:#fff}.cbf-hint{font-size:.82rem;color:var(--text);line-height:1.4;opacity:.8}.cbf-privacy-note{color:#92400e;background:#fef3c7;padding:.4rem .6rem;border-radius:6px;opacity:1}.cbf-private-toggle{display:flex;align-items:center;gap:.6rem;background:none;border:1px solid #e5e7eb;border-radius:8px;padding:.6rem .85rem;cursor:pointer;font-size:.875rem;color:#374151;text-align:left;transition:background .15s,border-color .15s;margin-top:.25rem}.cbf-private-toggle:hover{background:#f9fafb;border-color:#d1d5db}.cbf-private-toggle.active{background:#f0fdf4;border-color:#86efac;color:#166534}.cbf-toggle-track{flex-shrink:0;width:36px;height:20px;background:#d1d5db;border-radius:10px;position:relative;transition:background .2s}.cbf-private-toggle.active .cbf-toggle-track{background:#22c55e}.cbf-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .2s;box-shadow:0 1px 3px #0003}.cbf-private-toggle.active .cbf-toggle-thumb{transform:translate(16px)}.cbf-private-note{background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:.75rem 1rem;font-size:.875rem;color:#166534;margin-top:.25rem}.cbf-radio-group{display:flex;gap:.75rem;flex-wrap:wrap}.cbf-radio-option{display:flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border:1.5px solid #e5e7eb;border-radius:8px;cursor:pointer;font-size:.95rem;font-weight:500;color:var(--text-h);transition:all .2s;-webkit-user-select:none;user-select:none}.cbf-radio-option input[type=radio]{display:none}.cbf-radio-option.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,white);color:var(--accent)}.cbf-radio-option:hover{border-color:var(--accent)}.cbf-photo-field{margin-bottom:1.75rem}.cbf-upload-zone{border:2px dashed #d1d5db;border-radius:10px;overflow:hidden;cursor:pointer;transition:border-color .2s;min-height:120px;position:relative;display:flex;align-items:center;justify-content:center}.cbf-upload-zone:hover{border-color:var(--accent)}.cbf-upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:#9ca3af;padding:2rem;font-size:.9rem}.cbf-upload-icon{font-size:2rem;line-height:1;color:var(--accent);opacity:.6}.cbf-photo-preview{width:100%;max-height:220px;object-fit:cover;display:block}.cbf-remove-photo{position:absolute;top:.5rem;right:.5rem;background:#000000b3;color:#fff;border:none;border-radius:6px;font-size:.8rem;padding:.3rem .7rem;cursor:pointer;transition:background .2s}.cbf-remove-photo:hover{background:#000000e6}.cbf-error{color:#dc2626;font-size:.9rem;margin:1rem 0 0;padding:.75rem 1rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.cbf-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #f3f4f6}.cbf-btn-primary{padding:.75rem 2rem;background:var(--accent);color:#fff;border:none;border-radius:var(--button-border-radius, 8px);font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .2s}.cbf-btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.cbf-btn-primary:disabled{opacity:.6;cursor:not-allowed}.cbf-btn-secondary{padding:.75rem 1.5rem;background:transparent;border:1.5px solid #d1d5db;color:var(--text-h);border-radius:var(--button-border-radius, 8px);font-size:1rem;font-weight:500;cursor:pointer;transition:border-color .2s}.cbf-btn-secondary:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}@media (max-width: 480px){.cbf-form-row{grid-template-columns:1fr}.cbf-card{padding:1.5rem}.cbf-actions{flex-direction:column-reverse}.cbf-btn-primary,.cbf-btn-secondary{width:100%;text-align:center}}
