.nmai { margin: 0 0 20px; padding: 18px; border: 1px solid rgba(128,128,128,.35); border-radius: 8px; width: 100%; box-sizing: border-box; }
.nmai-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.nmai-fields label { display: flex; flex-direction: column; gap: 4px; font-weight: 600; font-size: 14px; }
.nmai-fields .nmai-full, .nmai-fields .nmai-check { grid-column: 1 / -1; }
.nmai-fields .nmai-check { flex-direction: row; align-items: center; gap: 8px; font-weight: 400; }
.nmai-fields input[type=text], .nmai-fields select, .nmai-fields textarea { width: 100%; box-sizing: border-box; font-weight: 400; }
.nmai-btn { margin-top: 14px; width: 100%; background: #d10a11 !important; color: #fff !important; border: 0 !important; padding: 12px 16px !important; font-weight: 700 !important; border-radius: 4px; cursor: pointer; }
.nmai-btn:disabled { opacity: .6; cursor: wait; }
.nmai-msg { margin: 10px 0 0; font-size: 14px; min-height: 1.2em; }
.nmai-err { color: #d10a11; }
.nmai-ok { color: #1a8f3a; }
.nmai-preview { margin-top: 14px; text-align: center; }
.nmai-preview img { width: 100%; max-width: 520px; height: auto; border-radius: 6px; display: inline-block; }
.nmai-note { font-size: 12px; opacity: .75; margin: 6px 0 0; }
.nmai-loading .nmai-preview img { filter: blur(3px); opacity: .5; }
.single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled { opacity: .45; cursor: not-allowed; }
.nmai-form .single_add_to_cart_button { margin-top: 8px; }
@media (max-width: 600px) { .nmai-fields { grid-template-columns: 1fr; } .nmai { padding: 12px; } }
.nmai-info { margin: 14px 0 0; padding: 10px 12px; border-radius: 6px; background: rgba(209,10,17,.08); border-left: 3px solid #d10a11; font-size: 14px; line-height: 1.45; }
.nmai-thumbs { display: flex; gap: 10px; justify-content: center; margin-top: 10px; flex-wrap: wrap; }
.nmai-thumb { position: relative; width: 84px; height: 84px; padding: 0 !important; border: 2px solid transparent !important; border-radius: 6px; overflow: hidden; background: #000 !important; cursor: pointer; }
.nmai-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.nmai-thumb span { position: absolute; left: 4px; top: 4px; background: #000; color: #fff; font-size: 11px; font-weight: 700; padding: 1px 6px; border-radius: 3px; }
.nmai-thumb.on { border-color: #d10a11 !important; }
.nmai-how { margin: 0 0 18px; padding: 16px 18px; border: 1px solid rgba(128,128,128,.35); border-left: 4px solid #d10a11; border-radius: 8px; width: 100%; box-sizing: border-box; }
.nmai-how h3 { margin: 0 0 8px; font-size: 18px; }
.nmai-how ol { margin: 0 0 10px 18px; padding: 0; }
.nmai-how li { margin: 0 0 6px; }
.nmai-how-more { margin: 0 0 8px; padding: 8px 10px; background: rgba(209,10,17,.08); border-radius: 6px; font-size: 14px; }
.nmai-how-help { font-size: 13px; opacity: .85; margin: 10px 0 0; }
.nmai-studio { max-width: 820px; margin: 0 auto 30px; }
.nmai-left { font-size: 16px; margin: 0 0 12px; }
.nmai-more { margin-top: 14px; padding: 12px 14px; border: 1px dashed #d10a11; border-radius: 8px; }
.nmai-more p { margin: 0 0 8px; }
.nmai-more .nmai-btn { display: inline-block; width: auto; text-decoration: none; }
.nmai-gal-t { margin: 26px 0 10px; }
.nmai-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.nmai-gallery figure { margin: 0; text-align: center; }
.nmai-gallery img { width: 100%; height: auto; border-radius: 6px; display: block; margin-bottom: 8px; }
.nmai-gallery .button { width: 100%; box-sizing: border-box; }
.nmai-loading #nmai-go { opacity: .6; }
.nmai-h { margin: 0 0 12px; font-size: 18px; }
.nmai-cta { margin-top: 12px; padding: 12px 14px; border-radius: 8px; background: rgba(209,10,17,.08); border: 1px solid rgba(209,10,17,.35); text-align: left; font-size: 14px; }
.nmai-cta p { margin: 0 0 6px; } .nmai-cta p:last-child { margin: 0; }
.nmai-why { margin: 0 0 18px; padding: 16px 18px; border-radius: 10px; background: #0b0b0b; color: #ddd; border: 1px solid #2a0a0c; width: 100%; box-sizing: border-box; }
.nmai-why h3 { margin: 0 0 10px; color: #fff; font-size: 18px; }
.nmai-why ul { margin: 0; padding-left: 18px; }
.nmai-why li { margin: 0 0 8px; line-height: 1.5; font-size: 14px; }
.nmai-why strong { color: #fff; }
.nmai-logo input[type=file] { display: block; margin-top: 6px; font-weight: 400; }
.nmai-logo small { display: block; margin-top: 4px; font-weight: 400; opacity: .7; font-size: 12px; }
.nmai-base { margin: 0 0 14px; padding: 12px 14px; border-radius: 10px; background: #0b0b0b; color: #ddd; border: 1px solid rgba(209,10,17,.45); }
.nmai-base-t { margin: 0 0 4px; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: #ff6b71; font-weight: 700; }
.nmai-base p { margin: 0 0 6px; color: #fff; font-weight: 600; }
.nmai-base small { opacity: .75; }
.nmai-src-note { margin: -4px 0 4px; font-size: 13px; opacity: .8; }
.nmai-gallery figure { cursor: pointer; border: 3px solid transparent; border-radius: 9px; padding: 3px; transition: border-color .2s; }
.nmai-gallery figure.on { border-color: #d10a11; }
.nmai-actions { margin-top: 14px; padding: 16px; border-radius: 12px; background: #0b0b0b; border: 1px solid rgba(209,10,17,.45); text-align: center; }
.nmai-act-t { margin: 0 0 10px; color: #fff; font-weight: 700; }
.nmai-actions button { cursor: pointer; font-weight: 700 !important; border-radius: 999px !important; }
.nmai-buy { width: 100%; padding: 14px 18px !important; border: 0 !important; background: linear-gradient(90deg,#d10a11,#ff3b42) !important; color: #fff !important; font-size: 16px !important; box-shadow: 0 10px 24px rgba(209,10,17,.4); }
.nmai-act-row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.nmai-alt { padding: 11px 12px !important; background: transparent !important; color: #fff !important; border: 1px solid rgba(255,255,255,.3) !important; font-size: 14px !important; }
.nmai-alt.on, .nmai-alt:hover { border-color: #d10a11 !important; background: rgba(209,10,17,.15) !important; }
.nmai-alt-note { margin-top: 12px; padding: 12px; border-radius: 10px; background: rgba(255,255,255,.05); color: #ccc; font-size: 14px; text-align: left; }
.nmai-alt-note p { margin: 0 0 8px; }
.nmai-alt-note strong { color: #fff; }
@media (max-width: 480px) { .nmai-act-row { grid-template-columns: 1fr; } }
