@font-face{font-family:SidagarDesignSans;src:url('../fonts/customize/dm-sans.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:SidagarDesignSerif;src:url('../fonts/customize/libre-baskerville.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:SidagarDesignMono;src:url('../fonts/customize/roboto-mono.ttf') format('truetype');font-weight:400;font-display:swap}
.shd-customizer{max-width:1440px;margin:0 auto;padding:40px 24px 100px;color:#151515}
.shd-customizer [hidden]{display:none!important}
.shd-customizer *{box-sizing:border-box}
.shd-customizer__breadcrumb{display:flex;justify-content:space-between;margin-bottom:32px;font-size:14px}
.shd-customizer__breadcrumb a{color:inherit;text-decoration:none}
.shd-customizer__breadcrumb span{color:#777}
.shd-customizer__layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:64px;align-items:start}
.shd-customizer__preview{position:sticky;top:30px;min-width:0}
.shd-customizer__stage{aspect-ratio:1;background:#fafafa;overflow:hidden;border:1px solid #eee}
.shd-customizer canvas{display:block;width:100%;height:100%;touch-action:pan-y}
.shd-customizer__views,.shd-customizer__zoom{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:16px}
.shd-customizer button{font:inherit;cursor:pointer;border:1px solid #ccc;border-radius:0;padding:10px 16px;background:#fff;color:#111;font-size:14px}
.shd-customizer button:hover{border-color:#111}
.shd-customizer button:disabled{opacity:.5;cursor:not-allowed}
.shd-customizer button:focus-visible,.shd-customizer input:focus-visible,.shd-customizer textarea:focus-visible,.shd-customizer select:focus-visible{outline:2px solid #d62070;outline-offset:3px}
.shd-customizer [aria-pressed=true]{border-color:#d62070;box-shadow:inset 0 0 0 1px #d62070}
.shd-customizer__zoom{align-items:center}
.shd-customizer__zoom output{font-size:14px;min-width:48px;text-align:center}
.shd-customizer__eyebrow{font-size:12px;letter-spacing:1.2px;color:#777}
.shd-customizer h1{font-size:34px;line-height:1.16;font-weight:600;margin:12px 0 16px}
.shd-customizer h2{font-size:22px;line-height:1.25;font-weight:600;margin:28px 0 16px}
.shd-customizer__price{font-size:20px;color:#111;margin:0 0 24px}
.shd-customizer__price small{display:block;font-size:14px;color:#666;margin-top:7px}
.shd-customizer__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.shd-customizer label{display:block;font-size:14px;color:#333}
.shd-customizer input:not([type=range]),.shd-customizer textarea,.shd-customizer select{width:100%;margin-top:8px;padding:12px;border:1px solid #ccc;background:#fff;color:#111;border-radius:0;font:inherit;font-size:16px}
.shd-customizer textarea{resize:vertical;min-height:100px}
.shd-customizer input[type=range]{display:block;width:100%;margin-top:14px;accent-color:#d62070}
.shd-customizer__tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:24px}
.shd-customizer__tabs button{padding:12px 4px;font-size:13px}
.shd-customizer__hint{font-size:12px;line-height:1.5;color:#707070;margin:14px 0}
.shd-customizer__notice{padding:14px;background:#fff2f7;font-size:14px;line-height:1.5;color:#67233f}
.shd-customizer__choices,.shd-customizer__graphics{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.shd-customizer__choices button span{display:block;font-family:SidagarDesignSerif,serif;font-size:24px;line-height:40px}
.shd-customizer__graphics button{width:90px;padding:8px;font-size:12px}
.shd-customizer__graphics img{display:block;width:64px;height:64px;object-fit:contain;margin:auto auto 8px}
.shd-customizer__upload{padding:24px 16px;border:1px dashed #aaa;background:#fafafa}
.shd-customizer__position{border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:18px 0;margin-top:24px}
.shd-customizer__position summary{font-size:16px;cursor:pointer}
.shd-customizer__tools{display:flex;gap:12px;margin-top:18px}
.shd-customizer__tools button{border:0;text-decoration:underline;padding:0;background:transparent}
.shd-customizer__policy{font-size:13px;line-height:1.6;color:#555;margin:24px 0}
.shd-customizer__quantity{max-width:110px;margin-bottom:18px}
.shd-customizer button.shd-customizer__primary{width:100%;padding:16px;background:#d62070;border-color:#d62070;color:#fff;font-size:16px;font-weight:600}
.shd-customizer__status{min-height:22px;font-size:14px;color:#8e1749}
.shd-customizer__confirmation{width:min(1000px,calc(100% - 32px));max-height:90vh;border:0;padding:30px;color:#111}
.shd-customizer__confirmation::backdrop{background:rgba(0,0,0,.5)}
.shd-customizer__confirmation h2{margin-top:0;font-size:28px}
.shd-customizer__confirmation p{font-size:14px;line-height:1.5;color:#444}
.shd-customizer__close{float:right}
.shd-customizer__confirmed-images{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.shd-customizer__confirmed-images figure{margin:0}
.shd-customizer__confirmed-images img{width:100%;height:auto}
.shd-customizer__confirmed-images figcaption{font-size:13px;text-align:center}
.shd-customizer__confirm-actions{display:flex;gap:16px;margin-top:24px}
.shd-customizer__confirm-actions button:first-child{white-space:nowrap}
@media(max-width:1000px){.shd-customizer__layout{gap:28px;grid-template-columns:1fr 1fr}.shd-customizer h1{font-size:28px}.shd-customizer__tabs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.shd-customizer{padding:24px 16px 60px}.shd-customizer__layout{grid-template-columns:1fr}.shd-customizer__preview{position:static}.shd-customizer__confirmed-images{grid-template-columns:repeat(2,1fr)}.shd-customizer__confirm-actions{flex-direction:column}.shd-customizer__tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.shd-customizer__confirmation{padding:20px}.shd-customizer__confirmation h2{font-size:24px}}
