/* ============================================================
   DNA Custom Fields v2 — Frontend
   ============================================================ */
.dna-cf-wrap{margin:22px 0 8px;font-family:inherit;font-size:14px;color:#222}
.dna-cf-row{margin-bottom:18px}
.dna-cf-label{display:flex;align-items:center;gap:5px;font-weight:600;font-size:13px;margin-bottom:7px;color:#1a1a1a;letter-spacing:.02em}
.dna-cf-label .req{color:#c0392b;font-size:12px}
.dna-cf-hint{font-size:12px;color:#777;margin:0 0 8px;line-height:1.5}
.dna-info-icon{font-size:13px;cursor:pointer;color:#5a7a6a;user-select:none}
.dna-tooltip{position:absolute;z-index:9999;background:#fff;border:1px solid #ddd;border-radius:6px;padding:10px 14px;font-size:12px;color:#444;max-width:260px;box-shadow:0 4px 12px rgba(0,0,0,.1);line-height:1.5;display:none}

/* ── Select ────────────────────────────────────────────────── */
.dna-cf-select{display:block;width:100%;max-width:380px;padding:10px 36px 10px 13px;border:1.5px solid #d0d0d0;border-radius:4px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 13px center;-webkit-appearance:none;appearance:none;font-size:14px;cursor:pointer;transition:border-color .15s}
.dna-cf-select:focus{outline:none;border-color:#1a3a2a;box-shadow:0 0 0 3px rgba(26,58,42,.1)}

/* ── Button toggle ─────────────────────────────────────────── */
.dna-cf-btns{display:flex;flex-wrap:wrap;gap:8px}
.dna-cf-btn{cursor:pointer}
.dna-cf-btn input{position:absolute;opacity:0;pointer-events:none}
.dna-cf-btn span{display:inline-block;padding:9px 20px;border:1.5px solid #ccc;border-radius:4px;font-size:13px;font-weight:500;background:#fff;transition:all .15s;user-select:none}
.dna-cf-btn input:checked + span,.dna-cf-btn.on span{border-color:#1a3a2a;background:#1a3a2a;color:#fff}
.dna-cf-btn span:hover{border-color:#1a3a2a;color:#1a3a2a}

/* ── Radio list ────────────────────────────────────────────── */
.dna-cf-radios{display:flex;flex-direction:column;gap:6px}
.dna-cf-radios label{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer}

/* ── Text / textarea ───────────────────────────────────────── */
.dna-cf-text{display:block;width:100%;max-width:380px;padding:10px 13px;border:1.5px solid #d0d0d0;border-radius:4px;font-size:14px;transition:border-color .15s}
.dna-cf-text:focus{outline:none;border-color:#1a3a2a;box-shadow:0 0 0 3px rgba(26,58,42,.1)}
.dna-cf-textarea{display:block;width:100%;max-width:380px;padding:10px 13px;border:1.5px solid #d0d0d0;border-radius:4px;font-size:14px;resize:vertical;transition:border-color .15s}
.dna-cf-textarea:focus{outline:none;border-color:#1a3a2a;box-shadow:0 0 0 3px rgba(26,58,42,.1)}
.mt8{margin-top:8px}

/* ── Upload box ────────────────────────────────────────────── */
.dna-upload-box{position:relative;max-width:380px;border:2px dashed #ccc;border-radius:6px;padding:22px 18px;background:#fafafa;text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.dna-upload-box:hover,.dna-upload-box.drag{border-color:#1a3a2a;background:#f0f5f2}
.dna-file-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2}
.dna-upload-idle svg{width:28px;height:28px;color:#aaa;display:block;margin:0 auto 8px}
.dna-upload-idle strong{display:block;font-size:13px;margin-bottom:3px;color:#444}
.dna-upload-idle small{font-size:11px;color:#999}
.dna-upload-done{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.dna-ok-icon{width:20px;height:20px;color:#2ecc71}
.dna-fname{font-size:13px;font-weight:500;color:#1a3a2a;word-break:break-all}
.dna-remove-file{background:none;border:none;font-size:17px;color:#c0392b;cursor:pointer;padding:0 4px;line-height:1}
.dna-bar{height:5px;background:#eee;border-radius:3px;overflow:hidden;margin:8px 0 3px}
.dna-fill{height:100%;background:#1a3a2a;width:0;transition:width .3s;border-radius:3px}
.dna-pct{font-size:11px;color:#666}

/* ── Placement grid ────────────────────────────────────────── */
.dna-placement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;max-width:420px;margin-bottom:10px}
.dna-placement-tile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 5px;border:1.5px solid #ddd;border-radius:5px;cursor:pointer;font-size:11px;color:#555;text-align:center;background:#fff;transition:all .15s;line-height:1.3;user-select:none}
.dna-placement-tile:hover{border-color:#1a3a2a;color:#1a3a2a}
.dna-placement-tile.active{border-color:#1a3a2a;background:#f0f5f2;color:#1a3a2a;font-weight:600}
.dna-garment-svg{width:40px;height:53px;display:block}
.dna-placement-select{display:none} /* hidden on desktop; show on mobile */

/* ── Responsive ────────────────────────────────────────────── */
@media(max-width:480px){
    .dna-cf-btns{flex-direction:column}
    .dna-cf-btn span{text-align:center;width:100%;box-sizing:border-box}
    .dna-placement-grid{display:none}
    .dna-placement-select{display:block}
    .dna-cf-text,.dna-cf-select,.dna-cf-textarea,.dna-upload-box{max-width:100%}
}
