/* ==========================================================================
   Vivid · Base de conocimiento — misma línea visual que Renovaciones.
   Todo lleva el prefijo .vkb- y vive bajo .vkb (panel: .vkb-page, portal: .vkb-portal).

   1. Colores y medidas     5. Portada: categorías      9. Tabla y filtros
   2. Página y encabezados  6. Listas de artículos     10. Ventana de categoría
   3. Migajas de pan        7. Artículo                11. Formulario
   4. Iconos y etiquetas    8. Estados vacíos          12. Pantallas chicas
   ========================================================================== */

/* 1. Colores y medidas ---------------------------------------------------- */
.vkb,.modal#vkb-group-modal{
  --vkb-navy:#242A56;--vkb-ink:#393A56;--vkb-muted:#6B6E87;--vkb-faint:#A5A9BF;
  --vkb-line:#E6E8F0;--vkb-line-2:#D3D7E6;--vkb-soft:#F3F4F8;--vkb-hover:#FAFBFE;--vkb-surface:#fff;
  --vkb-red:#B42318;--vkb-red-bg:#FDECEA;--vkb-green:#157347;--vkb-green-bg:#E7F6EC;
  --vkb-blue:#2A4FA8;--vkb-navy-bg:#EEF0FA;
  --vkb-r-lg:14px;--vkb-r:10px;--vkb-r-sm:8px;--vkb-r-pill:999px;
  --vkb-shadow:0 4px 14px rgba(36,42,86,.08);
  --vkb-c:#242A56; /* color de la categoría; cada pieza lo recibe en su style */
}

/* 2. Página y encabezados ------------------------------------------------- */
.vkb{color:var(--vkb-ink);font-size:14px;line-height:1.5}
.vkb-page{max-width:1180px;margin:0 auto}
.vkb-portal{max-width:1080px;margin:0 auto;padding-bottom:30px}
.vkb a{text-decoration:none}
.vkb a:focus-visible,.vkb button:focus-visible,.modal#vkb-group-modal button:focus-visible{outline:2px solid var(--vkb-blue)!important;outline-offset:2px}
.vkb .form-control:focus{border-color:var(--vkb-navy);box-shadow:0 0 0 3px rgba(36,42,86,.12)}
.vkb-muted{color:var(--vkb-muted)}
.vkb-nowrap{white-space:nowrap}
.vkb-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}

.vkb-top{display:flex;justify-content:space-between;align-items:center;gap:14px 20px;margin-bottom:18px;flex-wrap:wrap}
.vkb-top>div:first-child{flex:1 1 380px;min-width:0}
.vkb-top h4{margin:0 0 3px;font-size:20px;font-weight:700;letter-spacing:-.01em;color:var(--vkb-navy)}
.vkb-top p{margin:0;font-size:13.5px;color:var(--vkb-muted);max-width:760px;line-height:1.45}
.vkb-top-actions,.vkb-head-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;flex:none}

.vkb-tabs{display:flex;gap:2px;margin-bottom:18px;overflow-x:auto;scrollbar-width:none;box-shadow:inset 0 -1px 0 var(--vkb-line)}
.vkb-tabs::-webkit-scrollbar{display:none}
.vkb-tabs a{position:relative;display:inline-flex;align-items:center;gap:7px;padding:10px 13px 12px;font-size:13.5px;font-weight:600;color:var(--vkb-muted);white-space:nowrap;transition:color .12s}
.vkb-tabs a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;border-radius:2px 2px 0 0;background:transparent;transition:background .12s}
.vkb-tabs a>i{font-size:13px;color:var(--vkb-faint)}
.vkb-tabs a:hover{color:var(--vkb-navy)}
.vkb-tabs a:hover::after{background:var(--vkb-line-2)}
.vkb-tabs a.on{color:var(--vkb-navy)}
.vkb-tabs a.on::after{background:var(--vkb-navy)}
.vkb-tabs a.on>i{color:var(--vkb-navy)}
.vkb-tabs a span{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--vkb-line);color:var(--vkb-muted);font-size:11px;font-weight:700;line-height:1}
.vkb-tabs a.on span{background:var(--vkb-navy-bg);color:var(--vkb-navy)}

.vkb-card{background:var(--vkb-surface);border:1px solid var(--vkb-line);border-radius:var(--vkb-r-lg);padding:20px 22px;margin-bottom:18px}
.vkb-card.flush{padding:0;overflow:hidden}
.vkb-hint{font-size:12.5px;color:var(--vkb-muted);margin:-6px 2px 18px;display:flex;gap:7px;align-items:baseline}
.vkb-hint i{color:var(--vkb-faint)}
.vkb-link{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--vkb-blue)}
.vkb-link:hover{color:var(--vkb-navy)}
.vkb-link i{font-size:10.5px}

/* Encabezado de una categoría o del formulario */
.vkb-head{display:flex;align-items:center;gap:16px;margin-bottom:18px;flex-wrap:wrap}
.vkb-head-main{flex:1 1 320px;min-width:0}
.vkb-head h1{margin:0 0 2px;font-size:22px;font-weight:700;letter-spacing:-.01em;color:var(--vkb-navy);line-height:1.25;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.vkb-head p{margin:0 0 2px;color:var(--vkb-muted);font-size:14px;max-width:720px}
.vkb-head small{font-size:12.5px;color:var(--vkb-muted)}
.vkb-url{font-size:12.5px!important;overflow-wrap:anywhere}
.vkb-url i{color:var(--vkb-faint);font-size:11px}
.vkb-url a{color:var(--vkb-blue)}

/* Buscador */
.vkb-search{position:relative;display:flex;gap:8px;margin:0 0 18px}
.vkb-search>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);color:var(--vkb-faint);font-size:14px;pointer-events:none}
.vkb-search input{flex:1;min-width:0;height:44px;padding:0 14px 0 40px;border:1px solid var(--vkb-line-2);border-radius:var(--vkb-r);background:#fff;color:var(--vkb-ink);font-size:14.5px;outline:0;transition:border-color .12s,box-shadow .12s}
.vkb-search input::placeholder{color:var(--vkb-faint)}
.vkb-search input:focus{border-color:var(--vkb-navy);box-shadow:0 0 0 3px rgba(36,42,86,.12)}
.vkb-search .btn{height:44px;padding:0 18px;border-radius:var(--vkb-r);font-weight:600}
.vkb-search.big{margin-bottom:22px}
.vkb-search.big input{height:50px;font-size:15.5px}
.vkb-search.big .btn{height:50px;padding:0 22px}
.vkb-found{margin:0 2px 12px;color:var(--vkb-muted);font-size:13.5px}
.vkb-found b{color:var(--vkb-navy)}

/* Portada del portal */
.vkb-hero{text-align:center;padding:26px 0 6px}
.vkb-hero h1{margin:0 0 6px;font-size:28px;font-weight:700;letter-spacing:-.02em;color:var(--vkb-navy)}
.vkb-hero p{margin:0 0 20px;color:var(--vkb-muted);font-size:15px}
.vkb-hero .vkb-search{max-width:640px;margin-left:auto;margin-right:auto;text-align:left}

/* 3. Migajas de pan ------------------------------------------------------- */
.vkb-crumbs{margin:0 0 16px}
.vkb-crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:4px 0;list-style:none;margin:0;padding:0;font-size:13px}
.vkb-crumbs li{display:inline-flex;align-items:center;min-width:0;color:var(--vkb-muted)}
.vkb-crumbs li+li::before{content:"\f054";font-family:"Font Awesome 6 Free";font-weight:900;font-size:9px;color:var(--vkb-faint);margin:0 9px}
.vkb-crumbs a{display:inline-flex;align-items:center;gap:6px;color:var(--vkb-muted);font-weight:600;padding:3px 0}
.vkb-crumbs a:hover{color:var(--vkb-navy)}
.vkb-crumbs a i{font-size:12px;color:var(--vkb-faint)}
.vkb-crumbs li[aria-current] span{color:var(--vkb-navy);font-weight:600;max-width:46ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* 4. Iconos y etiquetas --------------------------------------------------- */
/* Cuadro con el icono de la categoría, teñido con su color */
.vkb-tile{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:10px;font-size:14px;line-height:1;color:var(--vkb-c);background:color-mix(in srgb,var(--vkb-c) 12%,#fff)}
.vkb-tile.sm{width:26px;height:26px;border-radius:8px;font-size:11.5px}
.vkb-tile.lg{width:44px;height:44px;border-radius:12px;font-size:18px}
.vkb-tile.xl{width:56px;height:56px;border-radius:16px;font-size:23px}
.vkb-pill{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 9px;border-radius:var(--vkb-r-pill);font-size:11.5px;font-weight:600;line-height:1.4;white-space:nowrap;vertical-align:middle;color:var(--vkb-c);background:color-mix(in srgb,var(--vkb-c) 11%,#fff)}
.vkb-pill>i{font-size:10px;flex:none}
.vkb-pill.navy{background:var(--vkb-navy-bg);color:var(--vkb-navy)}
.vkb-pill.ok{background:var(--vkb-green-bg);color:var(--vkb-green)}
.vkb-pill.off{background:var(--vkb-soft);color:var(--vkb-muted)}
a.vkb-pill:hover{filter:brightness(.96)}
.vkb-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:0;border-radius:8px;background:transparent;color:var(--vkb-muted);font-size:13.5px;cursor:pointer;transition:background .12s,color .12s}
.vkb-icon-btn:hover{background:var(--vkb-soft);color:var(--vkb-navy)}
.vkb-icon-btn.danger:hover{background:var(--vkb-red-bg);color:var(--vkb-red)}
.vkb-icon-btn[disabled]{opacity:.35;cursor:not-allowed;background:transparent!important;color:var(--vkb-muted)!important}
.vkb-inline{display:inline;margin:0}

/* 5. Portada: categorías -------------------------------------------------- */
.vkb-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:18px}
.vkb-cat{display:flex;flex-direction:column;min-width:0;background:var(--vkb-surface);border:1px solid var(--vkb-line);border-radius:var(--vkb-r-lg);padding:18px 18px 14px;transition:border-color .15s,box-shadow .15s}
.vkb-cat:hover{border-color:var(--vkb-line-2);box-shadow:var(--vkb-shadow)}
.vkb-cat.is-off{background:var(--vkb-hover);border-style:dashed}
.vkb-cat-head{display:flex;align-items:center;gap:13px;min-width:0;color:var(--vkb-ink)}
.vkb-cat-name{display:flex;flex-direction:column;min-width:0}
.vkb-cat-name b{font-size:16px;font-weight:700;color:var(--vkb-navy);line-height:1.25;overflow-wrap:anywhere}
.vkb-cat-name small{font-size:12.5px;color:var(--vkb-muted)}
.vkb-cat-head:hover b{text-decoration:underline;text-decoration-color:var(--vkb-line-2);text-underline-offset:3px}
.vkb-cat-desc{margin:11px 0 0;color:var(--vkb-muted);font-size:13.5px;line-height:1.45}
.vkb-links{list-style:none;margin:12px -8px 0;padding:10px 0 0;border-top:1px solid var(--vkb-line)}
.vkb-links a{display:flex;align-items:baseline;gap:9px;padding:6px 8px;border-radius:8px;color:var(--vkb-ink);font-size:13.5px;line-height:1.4}
.vkb-links a:hover{background:var(--vkb-soft);color:var(--vkb-navy)}
.vkb-links a>i:first-child{color:var(--vkb-faint);font-size:12.5px;flex:none}
.vkb-links a span{flex:1;min-width:0;overflow-wrap:anywhere}
.vkb-links-lock{font-size:10px;color:var(--vkb-faint);flex:none}
.vkb-links li.is-off a span{color:var(--vkb-muted);text-decoration:line-through;text-decoration-color:var(--vkb-line-2)}
.vkb-more{align-self:flex-start;margin-top:8px;display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:var(--vkb-blue)}
.vkb-more:hover{color:var(--vkb-navy)}
.vkb-more i{font-size:10.5px}

/* 6. Listas de artículos -------------------------------------------------- */
.vkb-list{list-style:none;margin:0;padding:0}
.vkb-row{position:relative;display:flex;align-items:center;gap:13px;padding:14px 18px;border-top:1px solid var(--vkb-line);background:var(--vkb-surface);transition:background .12s}
.vkb-row:first-child{border-top:0}
.vkb-row:hover{background:var(--vkb-hover)}
.vkb-row-ic{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:10px;background:var(--vkb-soft);color:var(--vkb-muted);font-size:14px}
.vkb-row-main{flex:1;min-width:0}
.vkb-row-title{font-size:14.5px;font-weight:600;color:var(--vkb-navy);overflow-wrap:anywhere}
/* Todo el renglón lleva al artículo; los botones del lado quedan por encima */
.vkb-list .vkb-row-main .vkb-row-title::after{content:"";position:absolute;inset:0}
.vkb-row-title:hover{color:var(--vkb-blue)}
.vkb-row-main p{margin:2px 0 0;color:var(--vkb-muted);font-size:13px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.vkb-row-side{position:relative;display:flex;align-items:center;gap:8px;flex:none}
.vkb-row-meta{font-size:12.5px;color:var(--vkb-muted);white-space:nowrap;font-variant-numeric:tabular-nums}
.vkb-row-meta i{color:var(--vkb-faint);font-size:11.5px}
.vkb-row-go{font-size:11px;color:var(--vkb-faint);pointer-events:none}
.vkb-row.is-off .vkb-row-title{color:var(--vkb-muted)}
.vkb-grip{position:relative;z-index:1;flex:none;margin-left:-6px;padding:6px 4px;color:var(--vkb-faint);cursor:grab;font-size:13px}
.vkb-grip:hover{color:var(--vkb-navy)}
.vkb-row.ui-sortable-helper{box-shadow:var(--vkb-shadow);border:1px solid var(--vkb-line-2);border-radius:var(--vkb-r)}
.vkb-row.vkb-drop{background:var(--vkb-soft);min-height:56px;border-top:1px dashed var(--vkb-line-2)}

/* 7. Artículo ------------------------------------------------------------- */
.vkb-read{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:start}
.vkb-article{padding:28px 32px 24px;margin-bottom:0}
.vkb-article-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 16px;flex-wrap:wrap}
.vkb-article h1{flex:1 1 320px;margin:0;font-size:26px;font-weight:700;letter-spacing:-.02em;line-height:1.22;color:var(--vkb-navy);overflow-wrap:anywhere}
.vkb-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin:12px 0 0;padding-bottom:20px;border-bottom:1px solid var(--vkb-line);font-size:12.5px;color:var(--vkb-muted)}
.vkb-meta>span:not(.vkb-pill) i{color:var(--vkb-faint);margin-right:2px}

.vkb-prose{padding:22px 0 6px;font-size:15.5px;line-height:1.7;color:var(--vkb-ink);overflow-wrap:anywhere}
.vkb-prose>:first-child{margin-top:0}
.vkb-prose p{margin:0 0 14px}
.vkb-prose h1,.vkb-prose h2,.vkb-prose h3,.vkb-prose h4{color:var(--vkb-navy);font-weight:700;letter-spacing:-.01em;line-height:1.3;margin:28px 0 10px;scroll-margin-top:80px}
.vkb-prose h1{font-size:22px}.vkb-prose h2{font-size:20px}.vkb-prose h3{font-size:17px}.vkb-prose h4{font-size:15.5px}
.vkb-prose a{color:var(--vkb-blue);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--vkb-blue) 35%,transparent);text-underline-offset:3px}
.vkb-prose a:hover{color:var(--vkb-navy);text-decoration-color:currentColor}
.vkb-prose ul,.vkb-prose ol{margin:0 0 14px;padding-left:24px}
.vkb-prose li{margin-bottom:5px}
.vkb-prose img{max-width:100%;height:auto;border-radius:var(--vkb-r);border:1px solid var(--vkb-line)}
.vkb-prose blockquote{margin:0 0 14px;padding:10px 16px;border-left:3px solid var(--vkb-line-2);background:var(--vkb-hover);border-radius:0 var(--vkb-r-sm) var(--vkb-r-sm) 0;color:var(--vkb-ink);font-size:inherit}
.vkb-prose code{background:var(--vkb-soft);color:var(--vkb-navy);border-radius:5px;padding:1px 5px;font-size:.9em}
.vkb-prose pre{background:var(--vkb-navy);color:#fff;border:0;border-radius:var(--vkb-r);padding:14px 16px;font-size:13px;overflow:auto}
.vkb-prose pre code{background:transparent;color:inherit;padding:0}
.vkb-prose table{width:100%;border-collapse:collapse;margin:0 0 14px;font-size:14px;display:block;overflow-x:auto}
.vkb-prose th,.vkb-prose td{border:1px solid var(--vkb-line);padding:8px 10px;text-align:left;vertical-align:top}
.vkb-prose th{background:var(--vkb-soft);color:var(--vkb-navy);font-weight:600}
.vkb-prose hr{border:0;border-top:1px solid var(--vkb-line);margin:24px 0}
.vkb-prose iframe,.vkb-prose video{max-width:100%}

.vkb-vote{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap;margin-top:18px;padding:14px 16px;border-radius:var(--vkb-r);background:var(--vkb-soft)}
.vkb-vote b{color:var(--vkb-navy);font-size:14px}
.vkb-vote-btns{display:inline-flex;gap:6px}
.vkb-vote-btns .btn{background:#fff}
.vkb-vote-btns .btn.on{background:var(--vkb-navy);border-color:var(--vkb-navy);color:#fff}
.vkb-vote-msg{font-size:13px;color:var(--vkb-muted)}
.vkb-vote-msg.ok{color:var(--vkb-green);font-weight:600}
.vkb-vote-count{margin-left:auto;font-size:12.5px;color:var(--vkb-muted)}

.vkb-prevnext{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.vkb-prevnext a{display:flex;flex-direction:column;gap:2px;min-width:0;padding:12px 14px;border:1px solid var(--vkb-line);border-radius:var(--vkb-r);color:var(--vkb-ink);transition:border-color .12s,box-shadow .12s}
.vkb-prevnext a:hover{border-color:var(--vkb-line-2);box-shadow:var(--vkb-shadow)}
.vkb-prevnext a.next{text-align:right;grid-column:2}
.vkb-prevnext small{font-size:12px;color:var(--vkb-muted);font-weight:600}
.vkb-prevnext small i{font-size:10px}
.vkb-prevnext b{font-size:14px;color:var(--vkb-navy);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.vkb-side{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px;min-width:0}
.vkb-side .vkb-card{margin:0;padding:16px 16px 12px}
.vkb-side h2{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:13.5px;font-weight:700;color:var(--vkb-navy);line-height:1.3}
.vkb-side h2 a{color:inherit}
.vkb-side h2 a:hover{text-decoration:underline;text-underline-offset:3px}
.vkb-side-list,.vkb-toc ol{list-style:none;margin:0 -8px;padding:0}
.vkb-side-list a,.vkb-toc a{display:block;padding:6px 8px 6px 10px;border-left:2px solid transparent;border-radius:0 8px 8px 0;color:var(--vkb-ink);font-size:13px;line-height:1.4;overflow-wrap:anywhere}
.vkb-side-list a:hover,.vkb-toc a:hover{background:var(--vkb-soft);color:var(--vkb-navy)}
.vkb-side-list a.on{border-left-color:var(--vkb-navy);background:var(--vkb-navy-bg);color:var(--vkb-navy);font-weight:600}
.vkb-toc li.sub a{padding-left:22px;color:var(--vkb-muted)}

/* 8. Estados vacíos ------------------------------------------------------- */
.vkb-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:44px 20px;text-align:center;color:var(--vkb-muted)}
.vkb-empty>i{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--vkb-soft);color:var(--vkb-faint);font-size:20px;margin-bottom:10px}
.vkb-empty>b{color:var(--vkb-navy);font-size:15px;font-weight:700}
.vkb-empty>span{max-width:520px;font-size:13.5px;line-height:1.5}
.vkb-empty-act{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.vkb-empty.inline{flex-direction:row;justify-content:center;gap:9px;padding:22px 16px;font-size:13.5px;border-top:1px solid var(--vkb-line)}
.vkb-empty.inline>i{width:auto;height:auto;background:none;margin:0;font-size:13px}
.vkb-empty[hidden]{display:none}

/* 9. Tabla y filtros ------------------------------------------------------ */
.vkb-bar{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;padding:14px 18px;border-bottom:1px solid var(--vkb-line)}
.vkb-bar .form-control{height:36px;border-radius:var(--vkb-r-sm);border-color:var(--vkb-line-2);box-shadow:none;width:auto;max-width:100%}
.vkb-filter{position:relative;flex:0 1 280px}
.vkb-filter i{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--vkb-faint);font-size:12.5px;pointer-events:none}
.vkb-filter .form-control{width:100%;padding-left:34px}
.vkb-bar-end{margin-left:auto}
.vkb-table{margin:0}
.vkb-table>thead>tr>th{border-bottom:1px solid var(--vkb-line);padding:10px 12px;font-size:11.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--vkb-muted);white-space:nowrap;background:var(--vkb-hover)}
.vkb-table>tbody>tr>td{border-top:1px solid var(--vkb-line);padding:11px 12px;vertical-align:middle;font-size:13.5px}
.vkb-table>tbody>tr:first-child>td{border-top:0}
.vkb-table>thead>tr>th:first-child,.vkb-table>tbody>tr>td:first-child{padding-left:18px}
.vkb-table>thead>tr>th:last-child,.vkb-table>tbody>tr>td:last-child{padding-right:18px}
.vkb-table>tbody>tr:hover>td{background:var(--vkb-hover)}
.vkb-table tr.is-off .vkb-row-title{color:var(--vkb-muted)}
.vkb-table tr[hidden]{display:none}

/* 10. Ventana de categoría ------------------------------------------------ */
#vkb-group-modal .modal-content{border-radius:var(--vkb-r-lg)}
#vkb-group-modal .modal-title{font-weight:700;color:var(--vkb-navy)}
.vkb-gm-preview{display:flex;align-items:flex-end;gap:14px}
.vkb-gm-preview .form-group{flex:1}
.vkb-gm-preview .vkb-tile{margin-bottom:15px}
.vkb-swatches{display:flex;flex-wrap:wrap;gap:8px}
.vkb-swatches button{width:30px;height:30px;border-radius:50%;border:2px solid #fff;background:var(--vkb-c);box-shadow:0 0 0 1px var(--vkb-line-2);cursor:pointer;padding:0}
.vkb-swatches button.on{box-shadow:0 0 0 2px var(--vkb-c)}
.vkb-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:6px}
.vkb-icon-grid button{height:38px;border:1px solid var(--vkb-line);border-radius:10px;background:#fff;color:var(--vkb-muted);font-size:15px;cursor:pointer;padding:0;transition:background .12s,color .12s,border-color .12s}
.vkb-icon-grid button:hover{background:var(--vkb-soft);color:var(--vkb-navy)}
.vkb-icon-grid button.on{border-color:var(--vkb-c);color:var(--vkb-c);background:color-mix(in srgb,var(--vkb-c) 12%,#fff);box-shadow:0 0 0 1px var(--vkb-c)}

/* 11. Formulario ---------------------------------------------------------- */
.vkb-form{max-width:920px;margin:0 auto}
.vkb-form+*,.vkb-page>.vkb-crumbs:has(+.vkb-form){max-width:920px;margin-left:auto;margin-right:auto}
.vkb-switches{display:flex;flex-direction:column;gap:2px;margin:0 0 16px;padding:10px 14px 4px;border-radius:var(--vkb-r);background:var(--vkb-hover);border:1px solid var(--vkb-line)}
.vkb-switches label{font-weight:400;color:var(--vkb-ink)}
.vkb-switches label b{color:var(--vkb-navy)}
.vkb-danger-zone{display:flex;justify-content:space-between;align-items:center;gap:10px 16px;flex-wrap:wrap;margin:0 0 18px;padding:12px 16px;border:1px dashed var(--vkb-line-2);border-radius:var(--vkb-r);font-size:13px;color:var(--vkb-muted)}
.vkb-danger-zone .btn:hover{color:var(--vkb-red);border-color:var(--vkb-red)}

/* 12. Pantallas chicas ---------------------------------------------------- */
@media(max-width:991px){
  .vkb-read{grid-template-columns:minmax(0,1fr)}
  .vkb-side{position:static}
}
@media(max-width:640px){
  .vkb-article{padding:20px 18px 18px}
  .vkb-article h1{font-size:22px}
  .vkb-hero h1{font-size:23px}
  .vkb-cats{grid-template-columns:minmax(0,1fr)}
  .vkb-row{flex-wrap:wrap;padding:13px 14px}
  .vkb-row-ic{display:none}
  .vkb-row-main{flex:1 1 0}
  .vkb-row-side{flex-wrap:wrap;flex-basis:100%}
  .vkb-row-go{display:none}
  .vkb-search .btn{padding:0 14px}
  .vkb-prevnext{grid-template-columns:minmax(0,1fr)}
  .vkb-prevnext a.next{grid-column:1}
  .vkb-vote-count{margin-left:0;flex-basis:100%}
  .vkb-bar-end{margin-left:0}
  /* Migajas en un solo renglón: si no caben, se deslizan */
  .vkb-crumbs ol{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
  .vkb-crumbs ol::-webkit-scrollbar{display:none}
  .vkb-crumbs li{flex:none;white-space:nowrap}
  .vkb-crumbs li+li::before{margin:0 7px}
  .vkb-crumbs li[aria-current] span{max-width:24ch}
  .vkb-vote-btns{flex:none}
}

/* 13. Ajustes del portal -------------------------------------------------- */
.vkb-h{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:700;color:var(--vkb-navy);margin:0 0 16px;line-height:1.3}
.vkb-h>i{display:inline-flex;align-items:center;justify-content:center;flex:none;width:26px;height:26px;border-radius:8px;background:var(--vkb-navy-bg);color:var(--vkb-navy);font-size:12px}
.vkb-form .vkb-hint{margin:0 2px 16px}
.vkb-form .vkb-hint b{color:var(--vkb-navy)}
.vkb-narrow{max-width:300px}
.vkb-form .form-group small.vkb-muted{display:block;margin-top:5px;font-size:12.5px;line-height:1.45}
.vkb-form label small.vkb-muted{display:inline;font-weight:400}
.vkb-form-foot{display:flex;justify-content:flex-end;margin-bottom:18px}

/* 14. Sugerencias al escribir un ticket (ajustes y cifras) ----------------- */
.vkb-checks{display:flex;flex-wrap:wrap;gap:6px 8px}
.vkb-checks label{display:inline-flex;align-items:center;gap:6px;margin:0;padding:5px 11px;border:1px solid var(--vkb-line-2);border-radius:var(--vkb-r-pill);font-weight:500;font-size:13px;color:var(--vkb-ink);cursor:pointer}
.vkb-checks label:has(input:checked){border-color:var(--vkb-navy);background:var(--vkb-navy-bg);color:var(--vkb-navy)}
.vkb-checks input{margin:0}
.vkb-rule{font-size:12.5px;line-height:1.55;margin:0 0 16px;padding:10px 14px;border-radius:var(--vkb-r);background:var(--vkb-hover);border:1px solid var(--vkb-line)}
.vkb-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:4px 0 14px}
.vkb-stats>div{padding:12px 14px;border:1px solid var(--vkb-line);border-radius:var(--vkb-r)}
.vkb-stats b{display:block;font-size:22px;font-weight:700;line-height:1.1;color:var(--vkb-navy);font-variant-numeric:tabular-nums}
.vkb-stats span{font-size:12.5px;color:var(--vkb-muted);line-height:1.35;display:block;margin-top:3px}
.vkb-table-in{border:1px solid var(--vkb-line);border-radius:var(--vkb-r)}
@media(max-width:640px){.vkb-stats{grid-template-columns:minmax(0,1fr)}}
