/* Zippo mockup tool — built on the site's existing tokens (see :root in styles.css) */
.zippo-tool{max-width:1160px;margin:0 auto 90px;padding:0 28px;display:grid;grid-template-columns:360px 1fr;gap:28px;align-items:start}
@media(max-width:900px){.zippo-tool{grid-template-columns:1fr}}

.zt-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px}
.zt-section{margin-bottom:24px}
.zt-section:last-child{margin-bottom:0}
.zt-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:var(--gold);margin:0 0 12px;display:flex;gap:8px}
.zt-label .num{color:var(--muted);font-weight:900}

.zt-swatches{display:flex;gap:10px}
.zt-swatch{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;padding:8px 2px;border-radius:12px;border:1px solid transparent}
.zt-swatch .dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);box-shadow:inset 0 2px 4px rgba(0,0,0,.15)}
.zt-swatch span{font-size:.7rem;color:var(--muted);font-weight:700;text-align:center}
.zt-swatch.active{border-color:var(--gold);background:#fffaf0}
.zt-swatch.active span{color:var(--ink)}
.dot.black{background:linear-gradient(135deg,#3a3a3d,#0c0c0d 60%,#232326)}
.dot.chrome{background:linear-gradient(135deg,#f2f3f5,#8b8f96 55%,#d4d7db)}
.dot.gold{background:linear-gradient(135deg,#f7e6a8,#a97a1f 55%,#e9c065)}
.dot.white{background:linear-gradient(135deg,#ffffff,#d8dade 55%,#f1f1f2)}

.zt-seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.zt-seg button{flex:1;background:transparent;border:0;padding:11px 6px;font:inherit;font-size:.76rem;font-weight:800;color:var(--muted);cursor:pointer;transition:.2s}
.zt-seg button.active{background:var(--gold);color:#151515}
.zt-seg button:not(.active):hover{color:var(--ink)}
.zt-seg button:disabled{opacity:.35;cursor:not-allowed}

.zt-upload{width:100%;padding:13px;background:#faf7ef;border:1px dashed #b99b5f;border-radius:12px;color:var(--ink);font:inherit;font-weight:700;font-size:.85rem;cursor:pointer;transition:.2s}
.zt-upload:hover{background:#fff3dc}
.zt-filename{margin-top:8px;font-size:.78rem;color:var(--muted);word-break:break-all}
.zt-hint{font-size:.78rem;color:var(--muted);line-height:1.5;margin:8px 0 0}

.zt-textarea{width:100%;resize:vertical;min-height:56px;border:1px solid #c9c5bb;background:#fff;border-radius:10px;padding:12px 14px;font:inherit;font-size:.85rem}
.zt-textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
.zt-select{width:100%;margin-top:8px;border:1px solid #c9c5bb;background:#fff;border-radius:10px;padding:11px 14px;font:inherit;font-size:.85rem}

.zt-slider-row{margin-bottom:16px}
.zt-slider-row:last-child{margin-bottom:0}
.zt-slider-row label{display:flex;justify-content:space-between;font-size:.78rem;font-weight:800;color:var(--ink);margin-bottom:7px}
.zt-slider-row label span:last-child{color:var(--gold)}
.zippo-tool input[type=range]{width:100%;accent-color:var(--gold)}

.zt-btn-row{display:flex;gap:10px;margin-top:22px}
.zt-btn{flex:1;padding:12px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-weight:800;font-size:.82rem;cursor:pointer;transition:.2s}
.zt-btn:hover{border-color:#999}
.zt-btn:disabled{opacity:.4;cursor:not-allowed}

.zt-canvas-wrap{background:#fbf9f5;border:1px solid var(--line);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;padding:34px 16px;box-shadow:var(--shadow)}
#zt-stage{width:100%;max-width:460px;height:auto;touch-action:none;cursor:grab;display:block}
#zt-stage.dragging{cursor:grabbing}

.zt-contact{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
