.cms-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;border:0;padding:13px 22px;min-height:46px;font:700 15px "PT Sans",Arial,sans-serif;background:#000;color:#fff;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.25);transition:background .2s}
.cms-fab:hover{background:#E89900;color:#000}
.cms{position:fixed;top:0;right:0;bottom:0;width:min(400px,100%);z-index:50;background:#fff;color:#111;border-left:1px solid #cfd6d6;box-shadow:-10px 0 40px rgba(0,0,0,.15);transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;font-family:"PT Sans",Arial,sans-serif;font-size:15px}
.cms.open{transform:none}
.cms *{margin:0;box-sizing:border-box}
.cms-head{padding:12px 14px;display:flex;gap:10px;align-items:center;border-bottom:1px solid #e3e8e8}
.cms-head h3{flex:1;font:700 19px "PT Serif",Georgia,serif}
.cms-body{flex:1;overflow:auto;padding:14px;display:grid;gap:6px;align-content:start}
.cms-body h4{margin:12px 0 4px;font:700 14px "PT Sans";color:#777}
.cms select,.cms input,.cms textarea{width:100%;font:inherit;font-size:16px;color:#111;background:#fff;border:1px solid #b9c2c2;padding:9px 10px}
.cms textarea{min-height:84px;resize:vertical}
.cms input:focus,.cms textarea:focus,.cms select:focus{outline:0;border-color:#000;box-shadow:0 0 0 3px rgba(39,245,214,.5)}
.cb{border:1px solid #dfe3e3;background:#fff}.cb.open{border-color:#000}
.cb-top{display:flex;gap:4px;align-items:center;padding:6px;cursor:pointer}
.th{flex:none;width:56px;height:35px;background:#f3f5f5;border:1px solid #e3e8e8}.th svg{width:100%;height:100%;display:block}
.nm{flex:1;min-width:0;display:grid;line-height:1.25;padding-left:4px}.nm small{color:#777;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib{flex:none;width:34px;height:36px;border:0;background:none;color:#222;cursor:pointer;font-size:16px;transition:background .15s}
.ib:hover,.ib:active{background:#27F5D6}.ib.del:hover{background:#ffd9d4}
.cb-fields{padding:6px 10px 12px;display:grid;gap:10px;border-top:1px solid #e3e8e8}
.fl{display:grid;gap:4px}.fl span{font-size:13px;color:#666}
.ins{border:1px dashed #c3cccc;background:none;color:#888;font:inherit;font-size:13px;padding:2px;cursor:pointer;opacity:.0;transition:.2s;height:18px;line-height:1}
.ins:hover,.ins:focus{opacity:1;color:#000;border-color:#E89900;background:#fff7e8}
@media(hover:none){.ins{opacity:.7}}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tile{border:1px solid #dfe3e3;background:#fff;padding:8px;cursor:pointer;display:grid;gap:6px;font:inherit;font-size:14px;color:#111;text-align:center;transition:.2s}
.tile svg{width:100%;background:#f3f5f5;display:block}.tile:hover{border-color:#000;box-shadow:0 0 0 3px #27F5D6}
.cms-foot{padding:12px 14px calc(12px + env(safe-area-inset-bottom));border-top:1px solid #e3e8e8;display:grid;gap:8px}
.row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cms-btn{border:0;padding:10px 14px;min-height:44px;font:700 15px "PT Sans",Arial,sans-serif;background:#27F5D6;color:#000;cursor:pointer;transition:background .2s}
.cms-btn:hover{background:#E89900}.cms-btn.alt{background:#eceff0}.cms-btn.alt:hover{background:#dfe3e3}
.hint{font-size:12px;color:#888}

/* цвета сайта */
.cl{display:grid;grid-template-columns:56px 1fr;gap:8px}
.cms input[type=color]{padding:2px;height:42px;cursor:pointer;background:#fff}
.pals{display:grid;gap:6px}
.pal{display:grid;grid-template-columns:repeat(4,22px) 1fr;gap:4px;align-items:center;border:1px solid #dfe3e3;background:#fff;padding:6px;cursor:pointer;font:inherit;font-size:14px;color:#111;text-align:left;transition:.2s}
.pal span{height:22px;border:1px solid rgba(0,0,0,.2)}
.pal em{font-style:normal;padding-left:6px}
.pal:hover{border-color:#000;box-shadow:0 0 0 3px #27F5D6}

/* логотип, название, шрифт */
.logo-prev{display:grid;place-items:center;min-height:84px;padding:12px;background:#2a2d2d;border:1px solid #dfe3e3}
.logo-prev img{max-width:100%;max-height:72px;object-fit:contain;display:block}
.filebtn{display:grid;place-items:center;cursor:pointer;text-align:center}
.cms .chk{display:flex;gap:10px;align-items:center}
.cms .chk input{width:auto}
.cms .chk span{font-size:14px;color:#222}
