/* Shared creation-flow controls; existing public themes remain in app.css. */
.wizard-v2 { max-width:1060px; }
.wizard-v2 .form-surface { gap:10px; }
.wizard-v2 .form-surface > input { margin-bottom:12px; }
.wizard-v2 button,.wizard-v2 summary,.wizard-v2 .text-button { min-height:44px; }
.wizard-v2 input,.wizard-v2 select,.wizard-v2 textarea { font-size:1rem; }
.field-error { color:#a9243d;font-size:.85rem;line-height:1.5;margin:4px 0 10px; }
[aria-invalid="true"] { border-color:#a9243d!important; }
.inline-message { max-width:680px;margin:16px auto;padding:18px 20px;border:1px solid #e2c788;border-radius:12px;background:#fff9ec;font-size:.9rem; }
.inline-message button { margin:12px 10px 0 0; }
.price-field { margin:4px 0 22px; }
.price-field > span,.control-label,fieldset legend { display:block;font-size:.9rem;font-weight:600;margin-bottom:10px; }
.price-control { display:flex;border:1px solid #dce1ea;border-radius:12px;background:#fff;overflow:hidden; }
.price-control:focus-within { outline:3px solid #6a89ff;outline-offset:3px; }
.price-control select { width:105px;flex-shrink:0;border:0;border-right:1px solid var(--line);border-radius:0;background:#f5f7fc; }
.price-control #price { border:0;border-radius:0;min-width:0;font-size:1.2rem; }
.price-control input:focus-visible,.price-control select:focus-visible { outline:none; }
.category-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.category-card { position:relative;min-height:100px;padding:17px 10px;align-items:center;justify-content:center;text-align:center;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;gap:8px; }
.category-card input { position:absolute;inset:0;width:100%;height:100%;opacity:0;margin:0;cursor:pointer; }
.category-card > span:first-of-type { font-size:1.5rem;line-height:1; }
.category-card strong { font-size:.8rem;font-weight:550;overflow-wrap:anywhere; }
.selection-check { visibility:hidden; }
.category-card .selection-check { position:absolute;right:7px;top:3px;font-size:.8rem;color:var(--accent); }
.category-card:has(input:checked) { border-color:var(--accent);background:#edf1ff;box-shadow:0 0 0 1px var(--accent); }
.category-card:has(input:checked) .selection-check,.template-option:has(input:checked) .selection-check { visibility:visible; }
.category-card:focus-within { outline:3px solid #6a89ff;outline-offset:3px; }
.wizard-v2 .step-heading { margin:38px 0 30px; }
.wizard-v2 .step-heading p { max-width:600px;margin:15px auto 0; }
.wizard-v2 .model-help,.wizard-v2 .extras { max-width:680px;margin:18px auto; }
.model-help { font-size:.85rem;color:var(--muted); }
.model-help summary { display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;cursor:pointer; }
.model-help summary span { color:var(--accent);text-decoration:underline; }
.model-help p { max-width:560px;margin:12px auto;line-height:1.65; }
.upload-progress { display:grid;grid-template-columns:1fr auto;gap:8px 15px;max-width:680px;margin:20px auto;background:#fff;padding:20px;border:1px solid var(--line);border-radius:12px;font-size:.85rem; }
#upload-filename { overflow-wrap:anywhere;grid-row:2;grid-column:1/-1;color:var(--muted); }
#upload-bar { grid-column:1/-1;width:100%;height:12px;accent-color:var(--accent); }
#upload-percent { grid-row:1;grid-column:2; }
.viewer-skeleton,.preview-skeleton { position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(110deg,#eef1f7,#fafbfe,#eef1f7);color:var(--muted);font-size:.9rem;z-index:1;pointer-events:none; }
.wizard-v2 .viewer-wrap model-viewer { height:380px; }
.wizard-v2 .viewer-reset { min-height:44px;z-index:2; }
#processing-list { list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:9px 16px;padding:16px 0 0;margin:0;font-size:.84rem;color:var(--muted); }
.state-icon { display:inline-block;width:22px; }
#processing-list [data-status="done"] { color:#246647; }
#processing-list [data-status="active"] { color:var(--ink);font-weight:600; }
.media-status { max-width:680px;margin:12px auto;font-size:.85rem; }
.photo-actions { display:grid;grid-template-columns:repeat(3,1fr);gap:2px; }
.photo-actions button { min-width:0; }
.size-preview { position:relative;background:#f2f4fa;border-radius:12px;margin-bottom:25px; }
.size-preview model-viewer { width:100%;height:270px;display:block; }
.measure-height,.measure-width { position:absolute;padding:5px 9px;background:#ffffffdd;border-radius:6px;font-size:.8rem;pointer-events:none; }
.measure-height { right:10px;top:40%; }.measure-width { bottom:8px;left:50%;transform:translateX(-50%);white-space:nowrap; }
.wizard-v2 .size-card { padding:22px; }
.wizard-v2 #size-fields > select { width:140px;margin:8px 0 16px; }
.wizard-v2 #size-fields > p { margin-bottom:18px; }
.phone-control { display:grid;grid-template-columns:1fr 1.25fr;gap:12px; }
.purchase-detail small { display:block;color:var(--muted);font-size:.8rem;margin-top:9px; }
.real-templates { max-width:800px;margin:auto;gap:20px; }
.template-page { display:flex;flex-direction:column;text-align:left;padding:16px;background:#fff;border:2px solid var(--line);border-radius:13px;min-width:0;min-height:330px;gap:8px;--preview-accent:#2549eb;overflow:hidden; }
.template-wordmark { font-size:.66rem;line-height:1.3;min-height:20px;font-weight:650; }
.template-logo { object-fit:contain;object-position:left;height:24px;max-width:100px; }
.template-visual { height:135px;border-radius:8px;background:#f1f3f7;display:flex;align-items:center;justify-content:center; }
.template-product-image { width:100%;height:100%;object-fit:contain; }
.template-page > strong { font-size:.92rem!important;line-height:1.2;overflow-wrap:anywhere; }
.template-price { font-size:.78rem; }
.template-description { font-size:.65rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#667085; }
.template-ar { display:block;background:var(--preview-accent);color:var(--preview-on-accent,#fff);padding:9px 7px;text-align:center;border-radius:5px;font-size:.65rem;margin-top:auto; }
.template-buy { border:1px solid #cdd5e2;text-align:center;font-size:.65rem;padding:7px 5px;border-radius:5px; }
.template-modern { background:#121e34;color:#fff;border-radius:7px; }.template-modern .template-visual { background:#23324b; }.template-modern .template-description { color:#b8c5d9; }
.template-elegant { background:#fffdf8; }.template-elegant .template-visual { border-radius:60px 60px 0 0;background:#f1eee8; }.template-elegant > strong { font-family:Georgia,serif; }.template-elegant .template-ar { border-radius:0; }
.template-option:has(input:checked) .template-page { border-color:var(--accent);outline:3px solid #dae2ff;outline-offset:2px; }
.template-caption { display:flex;align-items:center;justify-content:center;gap:10px; }.template-caption .selection-check { color:var(--accent); }
.wizard-v2 .brand-controls { max-width:800px;margin:30px auto;display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:22px; }
.color-presets { display:flex;flex-wrap:wrap;align-items:center;gap:8px; }
.color-preset { position:relative;width:44px;height:44px;border:4px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #c5cddd;cursor:pointer;display:grid;place-items:center;flex-shrink:0; }
.color-preset input { position:absolute;inset:-4px;opacity:0;width:44px;height:44px;cursor:pointer;margin:0; }
.color-preset span { color:#fff;visibility:hidden; }.color-preset:has(input:checked) span { visibility:visible; }.color-preset:focus-within { outline:3px solid #6a89ff;outline-offset:2px; }
.color-azul { background:#2549eb; }.color-grafito { background:#172033; }.color-verde { background:#13765e; }.color-frambuesa { background:#9d3b5b; }.color-terracota { background:#8a531c; }
.custom-color { display:flex;align-items:center;flex-direction:row;font-size:.84rem;min-height:44px;cursor:pointer; }.custom-color input { accent-color:var(--accent);width:18px;height:18px; }
#custom-color-control { margin-top:15px;display:flex;flex-direction:row;align-items:center;justify-content:space-between; }
#logo-controls > small,.control-label small { color:var(--muted);font-weight:400;font-size:.8rem; }.control-label small { margin-left:8px; }
#logo-preview { display:block;max-width:120px;max-height:56px;object-fit:contain;margin:10px 0; }
.logo-actions { display:flex;align-items:center;flex-wrap:wrap;gap:6px; }
.file-button { position:relative;cursor:pointer;font-size:.8rem;min-height:44px;padding:10px 14px; }
.file-button input { position:absolute;inset:0;opacity:0;cursor:pointer;width:100%; }
.file-button:focus-within { outline:3px solid #6a89ff;outline-offset:3px; }
.wizard-v2 .final-preview { display:block;position:relative;padding:10px;overflow:hidden;min-height:240px; }
#preview-stage { width:1100px;height:720px;transform-origin:top left;margin:0 auto; }
.wizard-v2 #final-preview { width:100%;height:720px;border:0; }
.wizard-v2 .wizard-nav { justify-content:space-between; }.wizard-v2 .wizard-nav #next { margin-left:auto; }
.wizard-v2 .wizard-top a { min-height:44px;display:flex;align-items:center; }
.card-actions a { display:inline-flex;align-items:center;min-height:44px; }
.success-product { width:180px;height:130px;object-fit:contain;border-radius:16px;background:#f1f3f8;margin:20px auto;display:block; }
.success-page .share-actions { flex-wrap:wrap; }
.wizard-v2 .option-card:has(input:checked) .radio-mark { border:0;background:var(--accent);width:20px;height:20px;display:grid;place-items:center;color:#fff; }.wizard-v2 .option-card:has(input:checked) .radio-mark::after { content:'✓';font-size:13px; }
@media(max-width:720px){
  .wizard-v2 { padding-left:18px;padding-right:18px; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.category-card { min-height:100px;flex-direction:column;gap:10px;padding:14px 8px;justify-content:center; }.category-card strong { font-size:.84rem;text-align:center;overflow-wrap:normal; }
  .wizard-v2 .step-heading { margin:25px 0; }.wizard-v2 .step-heading p { margin-left:0; }
  .wizard-v2 .viewer-wrap model-viewer { height:300px; }
  #processing-list { grid-template-columns:1fr; }
  .wizard-v2 .size-card { padding:15px; }.size-preview model-viewer { height:240px; }
  .phone-control { grid-template-columns:1fr; }
  .real-templates { gap:12px;grid-template-columns:1fr; }
  .real-templates .template-option { display:grid;grid-template-columns:1fr;max-width:360px;margin:auto;width:100%; }
  .template-page { min-height:250px;padding:15px; }.template-visual { height:145px; }
  .template-page > strong { font-size:1rem!important; }.template-price { font-size:.9rem; }.template-description { font-size:.8rem; }
  .template-ar,.template-buy { font-size:.8rem;padding:10px; }.template-caption { justify-content:space-between;padding:0 3px 8px; }
  .wizard-v2 .brand-controls { grid-template-columns:1fr;padding:18px; }
  .wizard-v2 .wizard-nav { padding-left:16px;padding-right:16px; }
  .wizard-v2 .wizard-nav #next { max-width:230px; }
  .wizard-v2 .model-actions { gap:8px;flex-wrap:wrap; }
  .wizard-v2 .photo-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .wizard-v2 .extras summary span { float:none;display:block; }
  .upload-progress { grid-template-columns:1fr; }#upload-percent { grid-row:auto;grid-column:1; }
  .wizard-v2 .field-row.three { grid-template-columns:1fr; }
  .wizard-v2 .measurements strong { font-size:1.05rem; }
  .wizard-v2 .form-surface,.wizard-v2 fieldset,.wizard-v2 .price-control { min-width:0; }
  .social-links a { min-height:44px;display:inline-flex;align-items:center; }
}
@media(prefers-reduced-motion:reduce){.wizard-step{animation:none!important}}
.progress-task{margin:18px 0;padding:20px;border:1px solid #dfe5ef;border-radius:16px;background:#fff}.task-heading{display:flex;justify-content:space-between;gap:12px;overflow-wrap:anywhere}.task-percent{font-variant-numeric:tabular-nums;color:#2549eb}.task-track{height:8px;background:#e5eaf3;border-radius:10px;overflow:hidden;margin:15px 0}.task-track i{display:block;height:100%;background:#2549eb;transform:scaleX(0);transform-origin:left;transition:transform .22s ease}.task-message{margin:8px 0}.task-bytes{color:#52617c}.task-stages{list-style:none;padding:0;margin:12px 0 0;display:flex;gap:8px 16px;flex-wrap:wrap;font-size:12px;color:#68738c}.task-stages .active{color:#2549eb;font-weight:700}.progress-task[data-status=failed] .task-track i{background:#a64632}#processing-list,#upload-progress{display:none!important}@media(prefers-reduced-motion:reduce){.task-track i{transition:none}}
.wizard-v2 .processing{display:none}

.business-name-control{grid-column:1/-1;display:grid;gap:10px}.business-name-control small{color:var(--muted);line-height:1.5}.template-business-name{overflow-wrap:anywhere;font-weight:650;line-height:1.3}

.template-branding{display:flex;align-items:center;gap:8px;min-width:0}.template-branding .template-logo{max-width:35%;flex-shrink:1}.template-branding .template-wordmark{min-width:0;min-height:0}
