/* ═══════════════════════════════════════════════
   Customize Poster page (builds on item-details.css)
   ═══════════════════════════════════════════════ */
.cp-main { padding-top: calc(var(--hh, 56px) + 10px); }
.cp-msg { text-align: center; font-size: .86rem; font-weight: 700; color: var(--txt3); padding: 40px 16px; }
.cp-msg i { display: block; font-size: 2rem; color: #ef4444; margin-bottom: 10px; }
.cp-hint { font-size: .72rem; font-weight: 600; color: var(--txt3); margin-top: 8px; }
.cp-center { text-align: center; }

/* Sizes */
.cp-sizes { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 8px; }
.cp-size {
    display: flex; flex-direction: column; gap: 2px; align-items: flex-start; padding: 10px;
    border: 1.5px solid var(--border2); border-radius: 12px; background: var(--bg-white);
    font-family: inherit; cursor: pointer; text-align: left; color: var(--txt1);
}
.cp-size b { font-size: .9rem; font-weight: 800; }
.cp-size small { font-size: .66rem; font-weight: 600; color: var(--txt3); }
.cp-size em { font-style: normal; font-size: .8rem; font-weight: 800; color: var(--primary); margin-top: 2px; }
.cp-size.active { border-color: var(--primary); background: rgba(45,140,240,.08); box-shadow: 0 0 0 1px var(--primary) inset; }

.cp-orient { display: flex; gap: 8px; margin-top: 12px; }
.cp-orient button {
    flex: 1; height: 38px; border-radius: 50px; border: 1.5px solid var(--border2); background: var(--bg-white);
    color: var(--txt2); font-weight: 700; font-size: .76rem; font-family: inherit; cursor: pointer;
}
.cp-orient button.active { background: var(--primary); border-color: var(--primary); color: #fff; }

/* Editor */
.cp-upload { min-height: 110px; }
.cp-stage {
    margin: 12px auto 0; width: 100%; max-width: 380px; border-radius: 6px; overflow: hidden;
    background: repeating-conic-gradient(#e5e7eb 0 25%, #f9fafb 0 50%) 0 0 / 16px 16px;
    box-shadow: 0 6px 22px rgba(0,0,0,.18);
}
.cp-stage canvas { display: block; width: 100%; touch-action: none; cursor: grab; background: #fff; }
.cp-stage canvas:active { cursor: grabbing; }
.cp-ctl { display: flex; gap: 8px; justify-content: center; margin-top: 12px; flex-wrap: wrap; }
.cp-btn {
    height: 38px; min-width: 38px; padding: 0 12px; border-radius: 50px; border: 1.5px solid var(--border2);
    background: var(--bg-white); color: var(--txt1); font-family: inherit; font-weight: 700; font-size: .76rem;
    cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
}
.cp-btn:hover { border-color: var(--primary); color: var(--primary); }
.cp-slider { display: flex; align-items: center; gap: 10px; margin: 12px auto 0; max-width: 380px; color: var(--txt3); }
.cp-slider input[type=range] { flex: 1; accent-color: var(--primary); }
.cp-val { min-width: 38px; text-align: right; font-size: .74rem; font-weight: 800; color: var(--txt2); }
.cp-summary { font-size: .78rem; font-weight: 700; color: var(--txt3); margin-bottom: 6px; }
#cpEditor + .id-upload-status { margin-top: 10px; }
.cp-busy .id-actions button { opacity: .6; pointer-events: none; }
