/* COOL Builder: страница конструктора. Цвета из COOL Skin (--cs-*), есть запасные значения. */
.cb-page{box-sizing:border-box;padding:32px 0 64px;font-family:var(--cs-body,'Manrope',Arial,sans-serif);color:var(--cs-text,#16161C)}
.cb-page *{box-sizing:border-box}

.cb-head{margin-bottom:28px}
html body .cb-title{margin:0 0 8px!important;font-family:var(--cs-display,'Unbounded',Arial,sans-serif)!important;font-size:clamp(24px,3vw,36px)!important;font-weight:700!important;line-height:1.15!important;text-transform:none!important;color:var(--cs-text,#16161C)!important}
.cb-lead{margin:0 0 18px;max-width:640px;font-size:16px;line-height:1.55;color:var(--cs-muted,#5E5E6B)}
.cb-switch{display:flex;flex-wrap:wrap;gap:8px}
.cb-switch__item{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:999px;background:var(--cs-surface2,#ECECF0);color:var(--cs-text2,#4A4A55)!important;font-size:15px;font-weight:700;text-decoration:none!important}
.cb-switch__item:hover,.cb-switch__item.is-active{background:var(--cs-yellow,#F5C400);color:#111!important}

.cb-app{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:28px;align-items:start}

/* ---------- сцена ---------- */
.cb-stage-col{position:sticky;top:16px}
.cb-stage{position:relative;display:flex;align-items:center;justify-content:center;min-height:340px;padding:28px;background:var(--cs-surface,#fff);border:1px solid var(--cs-line,#DCDCE3);border-radius:28px;--shirt:#f4f4f4}
.cb-print{position:relative;width:100%;max-width:880px}
.cb-print canvas{display:block;width:100%;height:auto;touch-action:none;cursor:default;border-radius:14px;box-shadow:0 12px 32px rgba(20,20,40,.18);background:#fff}
.cb-size-badge{position:absolute;right:10px;bottom:-14px;padding:6px 14px;border-radius:999px;background:var(--cs-yellow,#F5C400);color:#111;font-size:13px;font-weight:800}
.cb-shirt-wrap{display:none}

/* футболка: макет лежит на груди */
.cb-type-tshirt .cb-stage{padding:20px;min-height:0}
.cb-type-tshirt .cb-shirt-wrap{display:block;width:100%;max-width:560px}
.cb-type-tshirt .cb-shirt{display:block;width:100%;height:auto}
.cb-shirt__body{fill:var(--shirt);stroke:rgba(0,0,0,.28);stroke-width:3;stroke-linejoin:round}
.cb-shirt__collar{fill:none;stroke:rgba(0,0,0,.22);stroke-width:4;stroke-linecap:round}
.cb-type-tshirt .cb-print{position:absolute;left:50%;top:16%;width:38%;max-width:none;transform:translateX(-50%)}
.cb-type-tshirt .cb-print canvas{border-radius:0;box-shadow:none;background:transparent;outline:1px dashed rgba(120,120,130,.45)}
.cb-type-tshirt .cb-stage{aspect-ratio:600/700}

.cb-hint{margin-top:12px;font-size:13px;color:var(--cs-muted,#5E5E6B)}
.cb-warn{margin-top:10px;padding:10px 14px;border-radius:14px;background:rgba(245,196,0,.16);border:1px solid var(--cs-yellow,#F5C400);font-size:13px;color:var(--cs-text,#16161C)}

/* ---------- панель ---------- */
.cb-panel{display:flex;flex-direction:column;gap:14px}
.cb-block{padding:18px;background:var(--cs-surface,#fff);border:1px solid var(--cs-line,#DCDCE3);border-radius:20px}
.cb-label{margin-bottom:10px;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cs-muted,#5E5E6B)}
.cb-opts{display:flex;flex-wrap:wrap;gap:8px}
.cb-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:92px;padding:10px 14px;border:1px solid var(--cs-line,#DCDCE3);border-radius:14px;background:var(--cs-surface2,#ECECF0);color:var(--cs-text,#16161C);font-family:inherit;cursor:pointer;transition:border-color .15s,background .15s}
.cb-opt b{font-size:14px;font-weight:700}
.cb-opt small{font-size:12px;color:var(--cs-muted,#5E5E6B)}
.cb-opt:hover{border-color:var(--cs-yellow,#F5C400)}
.cb-opt.is-active{background:var(--cs-yellow,#F5C400);border-color:var(--cs-yellow,#F5C400);color:#111}
.cb-opt.is-active small{color:#111;opacity:.7}

.cb-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}
.cb-row:first-of-type{margin-top:0}
.cb-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid var(--cs-line,#DCDCE3);border-radius:999px;background:var(--cs-surface2,#ECECF0);color:var(--cs-text,#16161C)!important;font-family:inherit;font-size:14px;font-weight:700;line-height:1;cursor:pointer;text-decoration:none!important;transition:transform .12s,background .12s}
.cb-btn:hover{transform:translateY(-1px)}
.cb-btn--primary{background:var(--cs-yellow,#F5C400);border-color:var(--cs-yellow,#F5C400);color:#111!important}
.cb-btn--ghost{background:transparent}
.cb-btn--danger{color:#D9363E!important}
.cb-btn--sm{min-height:38px;padding:0 14px;font-size:13px}
.cb-btn--lg{min-height:52px;padding:0 32px;font-size:16px}
.cb-btn[disabled]{opacity:.55;cursor:default;transform:none}
.cb-inline{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--cs-text2,#4A4A55)}
.cb-page input[type=color]{width:40px;height:34px;padding:2px;border:1px solid var(--cs-line,#DCDCE3);border-radius:10px;background:var(--cs-surface2,#ECECF0);cursor:pointer}

.cb-text-controls textarea,.cb-text-controls select{width:100%;padding:10px 12px;border:1px solid var(--cs-line,#DCDCE3);border-radius:12px;background:var(--cs-surface2,#ECECF0);color:var(--cs-text,#16161C);font-family:inherit;font-size:14px}
.cb-text-controls .cb-row select{flex:1}
.cb-range{display:flex;align-items:center;gap:12px;margin-top:12px;font-size:14px;color:var(--cs-text2,#4A4A55)}
.cb-range input{flex:1;accent-color:var(--cs-yellow,#F5C400)}

.cb-layers{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}
.cb-empty{font-size:13px;color:var(--cs-muted,#5E5E6B)}
.cb-layer{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--cs-line,#DCDCE3);border-radius:12px;background:var(--cs-surface2,#ECECF0)}
.cb-layer.is-active{border-color:var(--cs-yellow,#F5C400)}
.cb-layer__name{flex:1;min-width:0;padding:6px 8px;border:0;background:none;color:var(--cs-text,#16161C);font-family:inherit;font-size:13px;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-layer__btn{width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--cs-muted,#5E5E6B);font-size:12px;cursor:pointer}
.cb-layer__btn:hover{background:var(--cs-yellow,#F5C400);color:#111}

/* ---------- заказ ---------- */
.cb-buy{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding:18px;background:var(--cs-surface,#fff);border:1px solid var(--cs-line,#DCDCE3);border-radius:20px}
.cb-qty{display:inline-flex;align-items:center;border:1px solid var(--cs-line,#DCDCE3);border-radius:999px;overflow:hidden;background:var(--cs-surface2,#ECECF0)}
.cb-qty button{width:40px;height:44px;border:0;background:transparent;color:var(--cs-text,#16161C);font-size:20px;cursor:pointer}
.cb-qty input{width:44px;height:44px;border:0;background:transparent;color:var(--cs-text,#16161C);font-size:15px;font-weight:700;text-align:center;-moz-appearance:textfield}
.cb-qty input::-webkit-outer-spin-button,.cb-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.cb-total{display:flex;flex-direction:column;line-height:1.15}
.cb-total small{font-size:12px;color:var(--cs-muted,#5E5E6B)}
.cb-total b{font-family:var(--cs-display,'Unbounded',Arial,sans-serif);font-size:24px;font-weight:700}
.cb-buy .cb-btn--lg{flex:1 1 180px}

.cb-msg{min-height:20px;font-size:14px;color:var(--cs-muted,#5E5E6B)}
.cb-msg.is-err{color:#D9363E;font-weight:700}

.cb-done{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:18px;background:var(--cs-surface,#fff);border:2px solid var(--cs-yellow,#F5C400);border-radius:20px}
.cb-done[hidden]{display:none}
.cb-done img{max-width:100%;max-height:180px;border-radius:12px;border:1px solid var(--cs-line,#DCDCE3)}

@media (max-width:991px){
  .cb-app{grid-template-columns:minmax(0,1fr)}
  .cb-stage-col{position:static}
}
@media (max-width:575px){
  .cb-stage{padding:14px;border-radius:20px}
  .cb-block,.cb-buy{padding:14px}
}

/* v1.3.1 */
.cb-page input[type=file]{display:none!important}
html body #content.cb-page{background:transparent!important}
.cb-block input.cb-text-opt{width:100%;padding:10px 12px;border:1px solid var(--cs-line,#DCDCE3);border-radius:12px;background:var(--cs-surface2,#ECECF0);color:var(--cs-text,#16161C);font-family:inherit;font-size:14px}

/* v1.3.6: кнопки размеров в едином стиле (тема перебивала обычные стили кнопок) */
html body .cb-page .cb-opt{display:flex!important;flex-direction:column;align-items:flex-start;gap:2px;min-width:92px;padding:10px 16px!important;border:1px solid var(--cs-line,#DCDCE3)!important;border-radius:14px!important;background:var(--cs-surface2,#ECECF0)!important;color:var(--cs-text,#16161C)!important;font-family:var(--cs-body,'Manrope',Arial,sans-serif)!important;font-size:14px!important;line-height:1.2!important;text-transform:none!important;box-shadow:none!important;cursor:pointer}
html body .cb-page .cb-opt b{font-size:14px;font-weight:700;text-transform:none}
html body .cb-page .cb-opt small{font-size:12px;text-transform:none;color:var(--cs-muted,#5E5E6B)!important}
html body .cb-page .cb-opt:hover{border-color:var(--cs-yellow,#F5C400)!important}
html body .cb-page .cb-opt.is-active{background:var(--cs-yellow,#F5C400)!important;border-color:var(--cs-yellow,#F5C400)!important;color:#111!important}
html body .cb-page .cb-opt.is-active small{color:#111!important;opacity:.7}
