/* Общие стили конструкторов (10.11.2026): вынесены из konstruktor_karty_zhelaniy.html для письма Деда Мороза */
.kk-head{margin:0 0 22px}
.kk-h1{font-family:var(--pb-font-display);font-size:clamp(26px,4vw,35px);line-height:1.16;letter-spacing:-.02em;font-weight:700;margin:0 0 10px;text-wrap:balance}
.kk-sub{color:var(--pb-fg-mute);max-width:66ch;margin:0;font-size:16.5px}
.kk-shagi{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:18px 0 0;padding:0;list-style:none}
.kk-shagi li{border:1px solid var(--pb-line);border-radius:var(--pb-r-md);font-size:14px;color:var(--pb-fg-2);background:var(--pb-surface);transition:.15s}
.kk-shagi li:hover{border-color:var(--pb-violet)}
.kk-shagi a{display:block;height:100%;box-sizing:border-box;padding:12px 14px;color:inherit;text-decoration:none}
.kk-shagi b{display:block;font-family:var(--pb-font-display);font-size:14.5px;color:var(--pb-fg);margin:0 0 3px}
.kk-shagi i{font-style:normal;font-family:var(--pb-font-mono);font-size:11px;color:var(--pb-violet);background:var(--pb-violet-soft);border-radius:var(--pb-r-sm);padding:2px 6px;margin-right:6px}
.kk-h2{font-family:var(--pb-font-display);font-size:clamp(20px,2.6vw,24px);font-weight:700;letter-spacing:-.01em;margin:0 0 8px}
.kk-p{color:var(--pb-fg-mute);max-width:70ch;margin:0 0 14px;font-size:15px}
.kk-sec{margin:0 0 44px}
.kk-fil{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px}
.kk-chip{border:1px solid var(--pb-line-2);background:var(--pb-surface);color:var(--pb-fg-2);border-radius:999px;padding:7px 14px;font:500 13.5px/1.2 var(--pb-font-sans);cursor:pointer;transition:.15s}
.kk-chip:hover{border-color:var(--pb-violet);color:var(--pb-violet)}
.kk-chip[aria-pressed="true"]{background:var(--pb-violet);border-color:var(--pb-violet);color:#fff}
.kk-chip[disabled]{opacity:.4;cursor:not-allowed}
.kk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,calc(50% - 8px)),1fr));gap:18px 14px;margin:14px 0 0}
.kk-tile{display:block;text-align:left;border:0;background:none;padding:0;cursor:pointer;color:var(--pb-fg-2);font:500 14px/1.35 var(--pb-font-sans)}
.kk-tile img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--pb-r-md);margin:0 0 7px;background:var(--pb-line);box-shadow:var(--pb-sh-1);transition:.15s;outline:3px solid transparent;outline-offset:2px}
.kk-tile:hover img{transform:translateY(-2px)}
.kk-tile[aria-pressed="true"] img{outline-color:var(--pb-violet)}
.kk-tile b{display:block;color:var(--pb-fg);font-weight:600}
.kk-tile small{display:block;color:var(--pb-fg-subtle);font-size:12.5px;margin-top:2px}
.kk-tile em{font-style:normal;font-size:11px;font-weight:600;color:var(--pb-violet);background:var(--pb-violet-soft);border-radius:var(--pb-r-sm);padding:1px 6px;margin-left:4px;white-space:nowrap}
.kk-tile[hidden],.kk-tile.kk-sv{display:none}
.kk-esche{display:block;margin:16px auto 0}
.kk-esche[hidden]{display:none}
.kk-cols{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:900px){.kk-cols{grid-template-columns:1fr 1fr;align-items:start}}
.kk-card{border:1px solid var(--pb-line);border-radius:var(--pb-r-lg);background:var(--pb-surface);box-shadow:var(--pb-sh-1)}
.kk-card fieldset{border:0;margin:0;padding:16px 20px;border-bottom:1px solid var(--pb-line);min-width:0}
.kk-card fieldset:last-child{border-bottom:0}
.kk-gt{font-family:var(--pb-font-display);font-size:14.5px;font-weight:650;margin:0 0 12px;display:flex;align-items:center;gap:8px}
.kk-gt i{font-style:normal;font-family:var(--pb-font-mono);font-size:11px;color:var(--pb-violet);background:var(--pb-violet-soft);border-radius:var(--pb-r-sm);padding:3px 7px}
.kk-row{display:grid;grid-template-columns:1fr;gap:12px}
@media(min-width:560px){.kk-row.two{grid-template-columns:1fr 1fr}}
.kk-lab{display:block;font-size:13px;font-weight:500;color:var(--pb-fg-mute);margin:0 0 6px}
.kk-card select,.kk-card input[type=text],.kk-card textarea{width:100%;padding:10px 12px;border:1px solid var(--pb-line-2);border-radius:var(--pb-r-md);background:var(--pb-surface);color:var(--pb-fg);font:15px/1.4 var(--pb-font-sans);box-sizing:border-box}
.kk-card textarea{min-height:64px;resize:vertical;line-height:1.5}
.kk-card select:focus,.kk-card input:focus,.kk-card textarea:focus{outline:2px solid var(--pb-violet);outline-offset:1px;border-color:var(--pb-violet)}
.kk-card select[disabled]{opacity:.55}
.kk-hint{font-size:13px;color:var(--pb-fg-subtle);margin:8px 0 0;line-height:1.5}
.kk-hint.warn{color:var(--pb-red,#c0392b)}
.kk-side{display:grid;gap:18px;align-content:start}
@media(min-width:900px){.kk-side{position:sticky;top:76px}}
@media(max-width:899px){ #kk-shag2 .kk-side{order:-1}}
#kk-shag1,#kk-shag2,#kzGalH,.kk-side{scroll-margin-top:76px}
.kk-out-h{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--pb-line)}
.kk-out-t{font-family:var(--pb-font-display);font-weight:650;font-size:14.5px}
.kk-count{font-family:var(--pb-font-mono);font-size:12px;color:var(--pb-fg-subtle);font-variant-numeric:tabular-nums}
.kk-mes{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}
.kk-mes .kk-chip{padding:5px 10px;font-size:12.5px}
.kk-out .kk-mes{padding:12px 18px 0;margin:0}
.kz-idei{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 0}
.kz-idei button{border:1px dashed var(--pb-line-3);background:transparent;color:var(--pb-fg-2);border-radius:999px;padding:4px 10px;font:500 12.5px/1.3 var(--pb-font-sans);cursor:pointer}
.kz-idei button:hover{border-color:var(--pb-violet);color:var(--pb-violet)}
.kk-pre{margin:0;padding:14px 18px;white-space:pre-wrap;word-break:break-word;font:14px/1.6 var(--pb-font-sans);color:var(--pb-fg-2);max-height:min(46vh,460px);overflow:auto}
.kk-acts{display:flex;gap:10px;padding:14px 18px;border-top:1px solid var(--pb-line);flex-wrap:wrap}
.kk-btn{border:1px solid var(--pb-line-2);background:transparent;color:var(--pb-fg);border-radius:var(--pb-r-md);padding:10px 16px;font:500 14.5px/1 var(--pb-font-sans);cursor:pointer;transition:.15s}
.kk-btn:hover{border-color:var(--pb-line-3)}
.kk-btn-primary{background:var(--pb-violet);border-color:var(--pb-violet);color:#fff}
.kk-btn-primary:hover{background:var(--pb-violet-hi);border-color:var(--pb-violet-hi)}
.kk-btn[disabled]{opacity:.5;cursor:not-allowed}
.kk-aff{border:2px solid var(--pb-violet);border-radius:var(--pb-r-lg);background:var(--pb-violet-soft);padding:18px 20px;font-size:13.5px;color:var(--pb-fg-mute);line-height:1.55;text-align:center}
.kk-aff strong{display:block;color:var(--pb-fg);font-family:var(--pb-font-display);font-size:16.5px;font-weight:700;margin:0 0 6px}
.kk-aff-btn{display:block;margin:14px 0 8px;padding:12px 18px;background:var(--pb-violet);color:#fff;border-radius:var(--pb-r-md);text-decoration:none;font-weight:650;font-size:15px}
.kk-aff-btn:hover{background:var(--pb-violet-hi)}
.kk-aff.foto{background:var(--pb-surface);box-shadow:0 0 0 4px var(--pb-violet-soft)}
.kk-svoe{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:16px 0 0}
.kk-svoe-p{font-size:14px;color:var(--pb-fg-mute)}
.kk-aff-note{display:block;font-size:12.5px;color:var(--pb-fg-subtle)}
.kk-added{border:1px solid var(--pb-line);border-radius:var(--pb-r-lg);background:var(--pb-violet-softer);padding:16px 18px}
.kk-added-h{font-family:var(--pb-font-display);font-size:13.5px;font-weight:650;margin:0 0 10px}
.kk-added ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.kk-added li{font-size:13.5px;color:var(--pb-fg-mute);padding-left:18px;position:relative;line-height:1.5}
.kk-added li::before{content:"+";position:absolute;left:0;color:var(--pb-violet);font-family:var(--pb-font-mono);font-weight:700}
.kk-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
@media(min-width:560px){.kk-slots.n12{grid-template-columns:repeat(4,1fr)}}
.kk-slot{position:relative;aspect-ratio:1;border:1px dashed var(--pb-line-3);border-radius:var(--pb-r-sm);background:var(--pb-bg-2) center/cover no-repeat;cursor:pointer;font:600 11px/1.15 var(--pb-font-sans);color:var(--pb-fg-mute);display:flex;align-items:flex-end;justify-content:center;padding:0 4px 4px;overflow:hidden;text-align:center}
.kk-slot span{background:var(--pb-surface);border-radius:4px;padding:2px 4px}
.kk-slot.on{border-style:solid;border-color:var(--pb-violet)}
.kk-slot input{position:absolute;inset:0;opacity:0;cursor:pointer}
.kk-check{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--pb-fg-2);margin:0 0 8px}
.kk-check input{margin-top:3px}
.kk-cvet{display:flex;flex-wrap:wrap;gap:12px}
.kk-cvet label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--pb-fg-mute)}
.kk-cvet input{width:34px;height:28px;padding:0;border:1px solid var(--pb-line-2);border-radius:6px;background:none}
.kk-view{padding:14px 18px}
.kk-canvas{display:block;width:100%;height:auto;border-radius:var(--pb-r-sm);box-shadow:var(--pb-sh-1);background:#fff}
.kk-canvas.tel{max-width:300px;margin:0 auto}
.kk-sdvig{display:flex;align-items:center;gap:10px;margin:12px 0 0;font-size:13px;color:var(--pb-fg-mute)}
.kk-sdvig input{flex:1;accent-color:var(--pb-violet)}
.kz-got{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,calc(50% - 8px)),1fr));gap:14px;margin:14px 0 0}
.kz-got a{display:block;text-decoration:none;color:var(--pb-fg-2);font:500 13.5px/1.35 var(--pb-font-sans)}
.kz-got img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:var(--pb-r-md);margin:0 0 6px;background:var(--pb-line);box-shadow:var(--pb-sh-1)}
.kz-got small{display:block;color:var(--pb-fg-subtle);font-size:12px}
.kk-text{margin:44px 0 0}
.kk-rel{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}
.kk-rel a{border:1px solid var(--pb-line-2);border-radius:999px;padding:7px 14px;font-size:13.5px;text-decoration:none;color:var(--pb-fg-2)}
.kk-rel a:hover{border-color:var(--pb-violet);color:var(--pb-violet)}
.kk-print{display:none}
@media print{
  html,body{margin:0!important;padding:0!important;background:#fff!important}
  body>*:not(.kk-print){display:none!important}
  .kk-print{display:block}
  .kk-print img{display:block;width:100%;height:auto}
}
/* вкладки страницы */
.kk-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 22px;border-bottom:1px solid var(--pb-line);padding:0 0 12px}
.kk-tabs .kk-chip{font-size:14.5px;padding:9px 16px}
.kk-panel[hidden]{display:none}
.kk-blanki{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(120px,calc(33% - 8px)),1fr));gap:10px}
.kk-blank{border:0;background:none;padding:0;cursor:pointer;text-align:left;font:500 12.5px/1.3 var(--pb-font-sans);color:var(--pb-fg-2)}
.kk-blank img{display:block;width:100%;aspect-ratio:8/3;object-fit:cover;border-radius:var(--pb-r-sm);margin:0 0 5px;outline:3px solid transparent;outline-offset:2px;background:var(--pb-line)}
.kk-blank[aria-pressed="true"] img{outline-color:var(--pb-violet)}
