.ai-customer-page [hidden]{display:none!important}
.ai-upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px}
.ai-original-thumb{width:clamp(92px,16vw,150px);height:clamp(92px,16vw,150px);margin:0;padding:7px;border:1px solid #344b4e;border-radius:10px;background:#030809}
.ai-original-thumb img{display:block;width:100%;height:calc(100% - 17px);object-fit:contain;object-position:center;background:#071011}
.ai-original-thumb figcaption{overflow:hidden;margin-top:3px;color:#91a6a8;font-size:.58rem;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.ai-images-grid-single{grid-template-columns:minmax(0,1fr);max-width:820px;margin-inline:auto}
.ai-image-frame{height:clamp(300px,55vw,680px);padding:16px}
.ai-image-frame>img{width:100%;height:100%;object-fit:contain;object-position:center}
.ai-result-frame>img{width:auto;max-width:100%;height:auto;max-height:100%}
.ai-fab::after{content:none!important;display:none!important}
.ai-fab:focus-visible{outline:none!important;outline-offset:0!important}
.ai-weekly-limit{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 14px;margin:14px auto 0;padding:13px 16px;border:1px solid #75414a;border-radius:9px;background:#201014;color:#f3dfe2;text-align:center;font-size:.83rem}
.ai-weekly-limit[hidden]{display:none!important}
.ai-weekly-limit b{color:#ff596b}
.ai-weekly-limit span{color:#b8c5c6}
.ai-weekly-limit .ai-button{flex:0 0 auto;min-height:44px;padding:10px 18px;border:1px solid #ff6474;border-radius:7px;background:linear-gradient(115deg,#ff253f,#d90d27);color:#fff;font-family:inherit;font-size:.8rem;font-weight:850;line-height:1.1;letter-spacing:.04em;text-transform:uppercase;box-shadow:0 7px 20px #ff142833;cursor:pointer;transition:transform .18s,background .18s,opacity .18s}
.ai-weekly-limit .ai-button:hover:not(:disabled){background:linear-gradient(115deg,#ff4057,#e20d2b);transform:translateY(-1px)}
.ai-weekly-limit .ai-button:disabled{opacity:.5;cursor:not-allowed}
.ai-backing-choice{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:18px 0 0;padding:0;border:0}
.ai-backing-choice legend{grid-column:1/-1;margin-bottom:3px;color:#e8eeee;font-size:.88rem;font-weight:850}
.ai-backing-choice label{position:relative;display:flex;align-items:flex-start;gap:9px;min-width:0;padding:12px;border:1px solid #293f42;border-radius:8px;background:linear-gradient(145deg,#0b1415,#060a0b);cursor:pointer;transition:border-color .18s,background .18s}
.ai-backing-choice label:has(input:checked){border-color:#ff263e;background:linear-gradient(145deg,#211014,#0a1011);box-shadow:inset 3px 0 #ff263e}
.ai-backing-choice input{flex:0 0 auto;margin:3px 0 0;accent-color:#ff263e}
.ai-backing-choice label span{display:grid;gap:4px;min-width:0}
.ai-backing-choice label b{color:#f5f7f7;font-size:.82rem}
.ai-backing-choice label small{color:#9eadaf;font-size:.7rem;line-height:1.35}
.ai-order-consent{margin:17px 0 0}
.ai-order-consent label{display:flex;align-items:flex-start;gap:9px;max-width:760px;margin:auto;color:#aebcbe;font-size:.79rem;line-height:1.5;cursor:pointer}
.ai-order-consent input{flex:0 0 auto;margin:3px 0 0;accent-color:#ff263e}
.ai-contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 0}
.ai-contact-fields label{display:grid;gap:6px;color:#dce4e5;font-size:.76rem;font-weight:750}
.ai-contact-fields label small{display:inline;color:#91a2a4;font-size:.68rem;font-weight:500}
.ai-contact-fields input{width:100%;min-width:0;min-height:44px;padding:10px 12px;border:1px solid #293f42;border-radius:7px;background:#050a0b;color:#f7f8f8;font:inherit;font-size:.84rem}
.ai-contact-fields input:focus{border-color:#ff4055;outline:2px solid #ff263e33;outline-offset:1px}
.ai-order-actions .ai-button:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.55)}
.ai-order-actions .ai-button:not(:disabled){box-shadow:0 8px 24px #ff14282e}
@media(max-width:520px){.ai-backing-choice{grid-template-columns:1fr}.ai-backing-choice legend{grid-column:auto}.ai-contact-fields{grid-template-columns:1fr}}
@media(max-width:700px){.ai-upload-row{grid-template-columns:minmax(0,1fr) auto;gap:10px}.ai-original-thumb{width:88px;height:88px;padding:5px}.ai-original-thumb figcaption{font-size:.5rem}.ai-image-frame{height:clamp(300px,90vw,520px);padding:10px}.ai-images-grid-single{width:100%}}
.ai-design-summary{margin:0 0 18px;padding:18px 20px;border:1px solid #293f42;border-left:3px solid #ff263e;border-radius:10px;background:linear-gradient(125deg,#0b1516,#070c0d 72%);color:#afbec0}
.ai-design-summary-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:#f5f7f7}
.ai-design-summary-title strong{font-size:1.05rem;font-weight:850}
.ai-design-summary-title span{flex:0 0 auto;padding:5px 10px;border:1px solid #384d50;border-radius:999px;color:#d3dcdd;font-size:.69rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ai-design-summary p{max-width:820px;margin:0;color:#aebcbe;font-size:.86rem;line-height:1.55}
.ai-order-actions .ai-button{min-height:58px;padding:15px 24px;white-space:normal}
.ai-order-actions #ai-order-hint{max-width:700px;margin:12px auto 0;color:#aebcbe;line-height:1.55}
.ai-weekly-limit{border-color:#293f42;background:linear-gradient(125deg,#0b1516,#070c0d);}
.ai-weekly-limit b{color:#ff596b}
@media(max-width:520px){.ai-design-summary{padding:15px}.ai-design-summary-title strong{font-size:.96rem}.ai-order-actions .ai-button{width:100%;font-size:.84rem;letter-spacing:.01em}}
/* Email is required before generation, without newsletter enrollment. */
.ai-email-gate{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(220px,1fr);gap:24px;align-items:center;margin:20px 0;padding:24px;border:1px solid #294247;border-left:4px solid #ff1428;border-radius:14px;background:#081214}.ai-email-gate h2{margin:8px 0;font-size:1.5rem;color:#fff}.ai-email-gate p{font-size:.94rem;line-height:1.6;color:#aebec0}.ai-email-gate p strong{color:#f5f8f8}.ai-email-gate label{display:grid;gap:9px;color:#fff;font-weight:700}.ai-email-gate label span{color:#9bb0b4;font-size:.8rem}.ai-email-gate input{width:100%;box-sizing:border-box;padding:15px;border:1px solid #37555c;border-radius:8px;background:#030a0c;color:#fff;font:inherit}.ai-email-gate input:focus{outline:2px solid #ff1428;outline-offset:2px}@media(max-width:650px){.ai-email-gate{grid-template-columns:1fr;padding:18px;gap:14px}}
