/* KnowVixa Tools - Phase 1
   Namespaced under .kv-tools-* / .kv-tool-* only.
   Loads only on /tools/ and its children. Does not touch blog styles. */

.kv-tools-page{--kvt-blue:#2E6FF2;--kvt-blue-hover:#1F57CC;--kvt-ink:#1B222C;--kvt-muted:#5A6579;--kvt-border:#E1E5EA;--kvt-surface:#F7F8FA;--kvt-tint:#F5F8FF;}
.kv-tools-page{font-family:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--kvt-ink);}
.kv-tools-page h1,.kv-tools-page h2,.kv-tools-page h3{font-family:'Plus Jakarta Sans',system-ui,sans-serif;letter-spacing:-.025em;color:var(--kvt-ink);}

.kv-tools-intro{font-size:16px;line-height:1.65;color:var(--kvt-muted);max-width:60ch;margin:0 0 26px;}

/* Filters */
.kv-tools-filters{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;padding:0;}
.kv-tools-filter{appearance:none;cursor:pointer;font-family:'Public Sans',system-ui,sans-serif;font-size:13px;font-weight:700;line-height:1.2;padding:9px 16px;border:1.5px solid var(--kvt-blue);border-radius:6px;background:transparent;color:var(--kvt-blue);transition:background-color .18s ease,color .18s ease;}
.kv-tools-filter:hover{background:var(--kvt-tint);}
.kv-tools-filter[aria-pressed='true']{background:var(--kvt-blue);color:#fff;}
.kv-tools-filter:focus-visible{outline:2px solid var(--kvt-blue);outline-offset:2px;}

.kv-tools-count{font-size:14px;color:var(--kvt-muted);margin:0 0 18px;}

/* Grid */
.kv-tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;list-style:none;margin:0;padding:0;}
.kv-tools-grid>li{margin:0;display:flex;}

.kv-tool-card{display:flex;flex-direction:column;width:100%;border:1px solid var(--kvt-border);border-radius:10px;background:#fff;padding:18px 20px;text-decoration:none;color:inherit;transition:border-color .18s ease,background-color .18s ease;}
.kv-tool-card:hover,.kv-tool-card:focus-visible{border-color:var(--kvt-blue);background:var(--kvt-tint);text-decoration:none;}
.kv-tool-card:focus-visible{outline:2px solid var(--kvt-blue);outline-offset:2px;}
.kv-tool-icon{color:var(--kvt-blue);line-height:0;margin-bottom:12px;}
.kv-tool-icon svg{width:22px;height:22px;display:block;}
.kv-tool-title{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-weight:700;font-size:17px;letter-spacing:-.025em;color:var(--kvt-ink);margin:0 0 6px;}
.kv-tool-description{font-size:15px;line-height:1.6;color:var(--kvt-muted);margin:0 0 14px;flex:1 1 auto;}
.kv-tool-link{font-size:13px;font-weight:700;color:var(--kvt-blue);margin-top:auto;}

.kv-tools-empty{border:1px dashed var(--kvt-border);border-radius:10px;background:var(--kvt-surface);color:var(--kvt-muted);font-size:15px;padding:26px 20px;text-align:center;margin:0;}
.kv-tools-empty[hidden]{display:none;}

/* Tool app shell */
.kv-tool-app{border:1px solid var(--kvt-border);border-radius:10px;background:#fff;padding:20px;margin:0 0 32px;}
.kv-tool-field{margin:0 0 14px;}
.kv-tool-field label{display:block;font-size:14px;font-weight:700;color:var(--kvt-ink);margin:0 0 6px;}
.kv-tool-hint{font-size:13px;color:var(--kvt-muted);margin:6px 0 0;}
.kv-tool-app textarea,.kv-tool-app input[type='text'],.kv-tool-app input[type='number'],.kv-tool-app select{width:100%;box-sizing:border-box;font-family:'Public Sans',system-ui,sans-serif;font-size:15px;line-height:1.55;color:var(--kvt-ink);background:#fff;border:1px solid var(--kvt-border);border-radius:6px;padding:10px 12px;}
.kv-tool-app textarea{min-height:170px;resize:vertical;}
.kv-tool-app textarea:focus,.kv-tool-app input:focus,.kv-tool-app select:focus{outline:none;border-color:var(--kvt-blue);box-shadow:0 0 0 3px rgba(46,111,242,.12);}
.kv-tool-app input[type='range']{width:100%;accent-color:var(--kvt-blue);}
.kv-tool-app input[type='file']{font-size:14px;color:var(--kvt-muted);}

.kv-tool-actions{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0;}
.kv-tool-btn{appearance:none;cursor:pointer;font-family:'Public Sans',system-ui,sans-serif;font-size:14px;font-weight:700;line-height:1.2;padding:11px 20px;border-radius:6px;border:1.5px solid var(--kvt-blue);background:var(--kvt-blue);color:#fff;transition:background-color .18s ease,color .18s ease;}
.kv-tool-btn:hover{background:var(--kvt-blue-hover);border-color:var(--kvt-blue-hover);}
.kv-tool-btn:focus-visible{outline:2px solid var(--kvt-blue);outline-offset:2px;}
.kv-tool-btn--ghost{background:transparent;color:var(--kvt-blue);}
.kv-tool-btn--ghost:hover{background:var(--kvt-tint);border-color:var(--kvt-blue);color:var(--kvt-blue);}
.kv-tool-btn[disabled]{opacity:.5;cursor:not-allowed;}

.kv-tool-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--kvt-border);}
.kv-tool-stat{background:var(--kvt-surface);border-radius:8px;padding:12px 14px;}
.kv-tool-stat dt{font-size:13px;color:var(--kvt-muted);margin:0 0 4px;font-weight:400;}
.kv-tool-stat dd{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.025em;color:var(--kvt-ink);margin:0;}
.kv-tool-output{margin:18px 0 0;padding:16px 0 0;border-top:1px solid var(--kvt-border);}
.kv-tool-answer{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.025em;color:var(--kvt-ink);margin:0;}
.kv-tool-answer small{display:block;font-family:'Public Sans',system-ui,sans-serif;font-size:14px;font-weight:400;color:var(--kvt-muted);margin-top:6px;letter-spacing:0;}
.kv-tool-note{font-size:13px;color:var(--kvt-muted);margin:14px 0 0;}
.kv-tool-error{font-size:14px;color:#B42318;margin:12px 0 0;}
.kv-tool-error[hidden]{display:none;}
.kv-tool-preview{margin:16px 0 0;}
.kv-tool-preview img{max-width:100%;height:auto;display:block;border:1px solid var(--kvt-border);border-radius:8px;background:var(--kvt-surface);}
.kv-tool-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.kv-tool-check{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--kvt-ink);margin:12px 0 0;}
.kv-tool-check input{width:auto;accent-color:var(--kvt-blue);}

.kv-tools-related{margin:0 0 8px;}

@media (max-width:900px){
  .kv-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
}
@media (max-width:600px){
  .kv-tools-grid{grid-template-columns:1fr;gap:18px;}
  .kv-tool-row{grid-template-columns:1fr;}
  .kv-tool-app{padding:16px;}
  .kv-tool-actions .kv-tool-btn{flex:1 1 auto;}
}

/* KV icon polish */
.kv-tool-icon svg{width:24px;height:24px;}
.kv-tool-icon{transition:color .18s ease;}
.kv-tool-card:hover .kv-tool-icon,.kv-tool-card:focus-visible .kv-tool-icon{color:var(--kvt-blue-hover);}
.kv-tool-card:hover .kv-tool-link,.kv-tool-card:focus-visible .kv-tool-link{color:var(--kvt-blue-hover);}
.kv-tool-card:hover .kv-tool-title{color:var(--kvt-blue-hover);}
@media (prefers-reduced-motion:reduce){.kv-tool-card,.kv-tool-icon{transition:none;}}


/* KV no underlines */
.kv-tools-page .kv-tool-card,
.kv-tools-page .kv-tool-card:hover,
.kv-tools-page .kv-tool-card:focus,
.kv-tools-page .kv-tool-card:focus-visible,
.kv-tools-page .kv-tool-card *,
.kv-tools-page .kv-tool-card:hover *,
.kv-tools-page .kv-tool-title,
.kv-tools-page .kv-tool-description,
.kv-tools-page .kv-tool-link{text-decoration:none !important;text-underline-offset:unset !important;background-image:none !important;}
.kv-tools-page .kv-tool-card:hover .kv-tool-title,
.kv-tools-page .kv-tool-card:hover .kv-tool-description{text-decoration:none !important;}


/* KV card hover */
.kv-tools-page .kv-tool-card{
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease,box-shadow .18s ease;
  will-change:transform;
}
.kv-tools-page .kv-tool-card:hover,
.kv-tools-page .kv-tool-card:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 6px 18px rgba(27,34,44,.08);
}
/* arrow lives in CSS so it can slide on its own */
.kv-tools-page .kv-tool-link::after{
  content:"\2192";display:inline-block;margin-left:6px;
  transition:transform .18s ease;
}
.kv-tools-page .kv-tool-card:hover .kv-tool-link::after,
.kv-tools-page .kv-tool-card:focus-visible .kv-tool-link::after{transform:translateX(4px);}
.kv-tools-page .kv-tool-icon{transition:color .18s ease,transform .18s ease;}
.kv-tools-page .kv-tool-card:hover .kv-tool-icon{transform:scale(1.06);}
@media (prefers-reduced-motion:reduce){
  .kv-tools-page .kv-tool-card,
  .kv-tools-page .kv-tool-icon,
  .kv-tools-page .kv-tool-link::after{transition:none !important;transform:none !important;}
  .kv-tools-page .kv-tool-card:hover{transform:none !important;}
}


/* KV filter hover - matches the card hover timing */
.kv-tools-page .kv-tools-filter{
  transition:background-color .18s ease,color .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
/* inactive */
.kv-tools-page .kv-tools-filter:hover{
  background:var(--kvt-tint);
  border-color:var(--kvt-blue-hover);
  color:var(--kvt-blue-hover);
  transform:translateY(-2px);
  box-shadow:0 4px 12px rgba(46,111,242,.14);
}
/* active (filled) - darken instead of tint */
.kv-tools-page .kv-tools-filter[aria-pressed="true"]:hover{
  background:var(--kvt-blue-hover);
  border-color:var(--kvt-blue-hover);
  color:#fff;
}
/* press feedback */
.kv-tools-page .kv-tools-filter:active{transform:translateY(0);box-shadow:none;}
@media (prefers-reduced-motion:reduce){
  .kv-tools-page .kv-tools-filter{transition:background-color .18s ease,color .18s ease !important;}
  .kv-tools-page .kv-tools-filter:hover,
  .kv-tools-page .kv-tools-filter:active{transform:none !important;box-shadow:none !important;}
}


/* KV word counter v1 */
.kv-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.kv-tool-badge{display:inline-block;margin:0 0 14px;padding:5px 12px;border:1px solid var(--kvt-border);border-radius:999px;background:var(--kvt-tint);font-size:12.5px;font-weight:600;color:var(--kvt-blue);}
.kv-wc-cleanup{align-items:center;}
.kv-wc-cleanup-label{font-size:13px;font-weight:600;color:var(--kvt-muted);margin-right:2px;}
.kv-wc-hint{font-weight:400;color:var(--kvt-muted);}
.kv-wc-section{margin-top:26px;padding-top:20px;border-top:1px solid var(--kvt-border);}
.kv-wc-h{font-size:16px !important;margin:0 0 14px !important;padding:0 !important;}
.kv-wc-h::after{display:none !important;}
.kv-wc-limits{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 22px;}
.kv-wc-limit-top{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin-bottom:6px;color:var(--kvt-muted);}
.kv-wc-limit-top span:first-child{font-weight:600;color:var(--kvt-text);}
.kv-wc-bar{height:6px;border-radius:999px;background:#EDF0F4;overflow:hidden;}
.kv-wc-bar i{display:block;height:100%;border-radius:999px;background:var(--kvt-blue);transition:width .18s ease,background-color .18s ease;}
.kv-wc-limit--near .kv-wc-bar i{background:#D98008;}
.kv-wc-limit--over .kv-wc-bar i{background:#C4362F;}
.kv-wc-limit--over .kv-wc-limit-top span:last-child{color:#C4362F;font-weight:600;}
.kv-wc-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:14px;font-size:14px;}
.kv-wc-controls label{font-weight:600;color:var(--kvt-text);}
.kv-wc-controls select{padding:7px 10px;border:1px solid var(--kvt-border);border-radius:6px;background:#fff;font:inherit;font-size:14px;color:var(--kvt-text);}
.kv-wc-controls select:focus-visible{outline:2px solid var(--kvt-blue);outline-offset:1px;}
.kv-wc-check{display:inline-flex;align-items:center;gap:7px;font-weight:500 !important;color:var(--kvt-muted) !important;}
.kv-wc-table{width:100%;border-collapse:collapse;font-size:14px;}
.kv-wc-table th,.kv-wc-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--kvt-border);}
.kv-wc-table th{font-size:12.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--kvt-muted);font-weight:700;}
.kv-wc-table td:nth-child(2),.kv-wc-table th:nth-child(2),.kv-wc-table td:nth-child(3),.kv-wc-table th:nth-child(3){text-align:right;width:84px;}
.kv-wc-table tbody tr:last-child td{border-bottom:0;}
@media (max-width:600px){
  .kv-wc-limits{grid-template-columns:1fr;}
  .kv-wc-cleanup-label{width:100%;}
}

/* KV percentage calculator */
.kv-pc-row{padding:20px 0;border-top:1px solid var(--kvt-border);}
.kv-pc-row:first-of-type{border-top:0;padding-top:6px;}
.kv-pc-h{font-size:15px !important;font-weight:700 !important;margin:0 0 12px !important;padding:0 !important;color:var(--kvt-muted) !important;text-transform:uppercase;letter-spacing:.05em;}
.kv-pc-h::after{display:none !important;}
.kv-pc-sentence{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 14px !important;font-size:17px;line-height:2.1;color:var(--kvt-text);}
.kv-pc-sentence input[type=text]{width:120px;padding:9px 12px;border:1px solid var(--kvt-border);border-radius:6px;background:#fff;font:inherit;font-size:16px;font-weight:600;color:var(--kvt-text);text-align:center;}
.kv-pc-sentence input[type=text]:focus{outline:none;border-color:var(--kvt-blue);box-shadow:0 0 0 3px rgba(46,111,242,.12);}
.kv-pc-sentence select{padding:9px 10px;border:1px solid var(--kvt-border);border-radius:6px;background:#fff;font:inherit;font-size:15px;font-weight:600;color:var(--kvt-text);}
.kv-pc-sentence select:focus{outline:none;border-color:var(--kvt-blue);box-shadow:0 0 0 3px rgba(46,111,242,.12);}
.kv-pc-result{display:flex;flex-wrap:wrap;align-items:center;gap:12px;}
.kv-pc-answer{font-size:30px;font-weight:800;letter-spacing:-.02em;color:var(--kvt-blue);line-height:1.2;}
.kv-pc-copy{padding:5px 12px;border:1px solid var(--kvt-border);border-radius:6px;background:#fff;font:inherit;font-size:12.5px;font-weight:600;color:var(--kvt-muted);cursor:pointer;transition:all .18s ease;}
.kv-pc-copy:hover{border-color:var(--kvt-blue);color:var(--kvt-blue);background:var(--kvt-tint);}
.kv-pc-copy:focus-visible{outline:2px solid var(--kvt-blue);outline-offset:1px;}
.kv-pc-working{margin:8px 0 0 !important;font-size:14px;color:var(--kvt-muted);font-variant-numeric:tabular-nums;}
@media (max-width:600px){
  .kv-pc-sentence{font-size:16px;line-height:1.9;gap:7px;}
  .kv-pc-sentence input[type=text]{width:100px;font-size:16px;}
  .kv-pc-answer{font-size:26px;}
}

/* KV compact tool cards - icon + name, centred, 4-up */
.kv-tools-page .kv-tools-filters{justify-content:center;}
.kv-tools-page .kv-tools-count{text-align:center;}
.kv-tools-page .kv-tools-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
.kv-tools-page .kv-tool-card{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;gap:12px;padding:26px 16px;min-height:132px;
}
.kv-tools-page .kv-tool-icon{margin:0;color:var(--kvt-blue);}
.kv-tools-page .kv-tool-icon svg{width:28px;height:28px;}
.kv-tools-page .kv-tool-title{
  margin:0 !important;font-size:15px !important;font-weight:700 !important;
  line-height:1.35 !important;color:var(--kvt-text) !important;letter-spacing:-.01em;
}
.kv-tools-page .kv-tool-card:hover .kv-tool-title{color:var(--kvt-blue-hover) !important;}
/* related-tools grid follows the same shape */
.kv-tools-page .kv-tools-related{grid-template-columns:repeat(3,minmax(0,1fr));}
@media (max-width:1024px){
  .kv-tools-page .kv-tools-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:760px){
  .kv-tools-page .kv-tools-grid,
  .kv-tools-page .kv-tools-related{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
  .kv-tools-page .kv-tool-card{min-height:118px;padding:22px 12px;}
}
@media (max-width:420px){
  .kv-tools-page .kv-tools-grid,
  .kv-tools-page .kv-tools-related{grid-template-columns:repeat(2,minmax(0,1fr));}
  .kv-tools-page .kv-tool-title{font-size:14px !important;}
}

/* KV case converter v2 */
.kv-cc-modes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px;}
.kv-cc-mode{padding:8px 15px;border:1.5px solid var(--kvt-border);border-radius:6px;background:#fff;font:inherit;font-size:13px;font-weight:700;color:var(--kvt-muted);cursor:pointer;transition:all .18s ease;}
.kv-cc-mode:hover{border-color:var(--kvt-blue);color:var(--kvt-blue);background:var(--kvt-tint);}
.kv-cc-mode[aria-pressed="true"]{background:var(--kvt-blue);border-color:var(--kvt-blue);color:#fff;}
.kv-cc-mode:focus-visible{outline:2px solid var(--kvt-blue);outline-offset:2px;}
.kv-cc-panes{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.kv-cc-panes textarea{min-height:190px;}
.kv-cc-panes textarea[readonly]{background:#FAFBFC;}
@media (max-width:760px){.kv-cc-panes{grid-template-columns:1fr;gap:16px;}}

/* KV discount calculator v2 */
.kv-dc-inputs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.kv-dc-chips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 4px;}
.kv-dc-chips-label{font-size:13px;font-weight:600;color:var(--kvt-muted);}
.kv-dc-chip{padding:6px 13px;border:1px solid var(--kvt-border);border-radius:6px;background:#fff;font:inherit;font-size:13px;font-weight:600;color:var(--kvt-text);cursor:pointer;transition:all .18s ease;}
.kv-dc-chip:hover{border-color:var(--kvt-blue);color:var(--kvt-blue);background:var(--kvt-tint);}
.kv-dc-chip:focus-visible{outline:2px solid var(--kvt-blue);outline-offset:2px;}
.kv-dc-result{margin-top:22px;padding:22px;border:1px solid var(--kvt-border);border-radius:10px;background:var(--kvt-tint);}
.kv-dc-main{margin-bottom:16px;}
.kv-dc-label{display:block;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--kvt-muted);margin-bottom:4px;}
.kv-dc-final{display:block;font-size:38px;font-weight:800;letter-spacing:-.025em;line-height:1.1;color:var(--kvt-blue);}
.kv-dc-side{display:flex;flex-wrap:wrap;gap:28px;margin-bottom:16px;}
.kv-dc-save{display:block;font-size:19px;font-weight:700;color:var(--kvt-text);}
.kv-dc-bar{height:8px;border-radius:999px;background:#E4E9F0;overflow:hidden;}
.kv-dc-bar i{display:block;height:100%;border-radius:999px;background:var(--kvt-blue);transition:width .22s ease;}
@media (max-width:760px){.kv-dc-inputs{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:460px){.kv-dc-inputs{grid-template-columns:1fr;}.kv-dc-final{font-size:32px;}}

/* KV image resizer v2 */
.kv-ir-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:38px 20px;border:2px dashed var(--kvt-border);border-radius:12px;background:#FAFBFC;text-align:center;cursor:pointer;transition:all .18s ease;}
.kv-ir-drop:hover,.kv-ir-drop:focus-visible{border-color:var(--kvt-blue);background:var(--kvt-tint);outline:none;}
.kv-ir-drop.is-over{border-color:var(--kvt-blue);background:var(--kvt-tint);}
.kv-ir-drop.is-loaded{padding:22px 20px;}
.kv-ir-drop svg{width:34px;height:34px;color:var(--kvt-blue);}
.kv-ir-drop-main{font-size:15px;font-weight:700;color:var(--kvt-text);}
.kv-ir-drop-sub{font-size:12.5px;color:var(--kvt-muted);}
.kv-ir-sizes{display:flex;flex-wrap:wrap;gap:14px;margin:20px 0 18px;}
.kv-ir-size{flex:1 1 180px;padding:13px 16px;border:1px solid var(--kvt-border);border-radius:8px;background:#fff;}
.kv-ir-size-label{display:block;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--kvt-muted);margin-bottom:3px;}
.kv-ir-size-val{display:block;font-size:15px;font-weight:700;color:var(--kvt-text);font-variant-numeric:tabular-nums;}
.kv-ir-size-val--new{color:var(--kvt-blue);}
.kv-ir-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:14px;}
.kv-ir-warn{margin:10px 0 0;padding:9px 13px;border-left:3px solid #D98008;background:#FDF6EC;border-radius:0 6px 6px 0;font-size:13.5px;color:#7A4E08;}
.kv-ir-presets{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0;}
.kv-ir-presets-label{font-size:13px;font-weight:600;color:var(--kvt-muted);}
.kv-ir-preset{padding:6px 13px;border:1px solid var(--kvt-border);border-radius:6px;background:#fff;font:inherit;font-size:12.5px;font-weight:600;color:var(--kvt-text);cursor:pointer;transition:all .18s ease;}
.kv-ir-preset:hover{border-color:var(--kvt-blue);color:var(--kvt-blue);background:var(--kvt-tint);}
.kv-ir-preset:focus-visible{outline:2px solid var(--kvt-blue);outline-offset:2px;}
.kv-ir-q{font-weight:700;color:var(--kvt-blue);}
.kv-ir input[type=range]{width:100%;accent-color:var(--kvt-blue);}
.kv-ir input[type=color]{width:100%;height:42px;padding:3px;border:1px solid var(--kvt-border);border-radius:6px;background:#fff;cursor:pointer;}
.kv-ir .kv-tool-preview img{max-width:100%;height:auto;border-radius:8px;border:1px solid var(--kvt-border);}
@media (max-width:760px){.kv-ir-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:460px){.kv-ir-grid{grid-template-columns:1fr;}.kv-ir-drop{padding:30px 16px;}}

/* KV resizer polish */
.kv-ir .kv-tool-preview{margin-top:18px;padding:14px;border:1px solid var(--kvt-border);border-radius:10px;background:#FAFBFC;display:flex;justify-content:center;align-items:center;}
.kv-ir .kv-tool-preview img{max-width:100%;max-height:320px;width:auto;height:auto;object-fit:contain;border-radius:6px;border:1px solid var(--kvt-border);background:#fff;}
.kv-ir .kv-tool-preview:empty{display:none;}
/* let the option row close its gaps when quality/background are hidden */
.kv-ir .kv-ir-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));}

/* KV percentage easy */
.kv-pc-row{padding:22px;border:1px solid var(--kvt-border);border-top:1px solid var(--kvt-border);border-radius:10px;background:#fff;margin-bottom:16px;transition:border-color .18s ease,box-shadow .18s ease;}
.kv-pc-row:first-of-type{padding-top:22px;}
.kv-pc-row:focus-within{border-color:var(--kvt-blue);box-shadow:0 0 0 3px rgba(46,111,242,.08);}
.kv-pc-h{color:var(--kvt-blue) !important;font-size:13px !important;}
.kv-pc-result{margin-top:14px;padding:14px 18px;border-radius:8px;background:var(--kvt-tint);}
.kv-pc-answer{font-size:32px;}
.kv-pc-working{padding-left:18px;}
@media (max-width:600px){.kv-pc-row{padding:18px 15px;}.kv-pc-result{padding:12px 14px;}}


/* ===== KV unified CGPA tool v2 (kv-cgpa-) - one flow, semesters ===== */
.kv-cgpa{--c-blue:var(--kvt-blue,#2E6FF2);--c-blue-h:var(--kvt-blue-hover,#1F57CC);--c-ink:var(--kvt-ink,#1B222C);--c-muted:var(--kvt-muted,#5A6579);--c-border:var(--kvt-border,#E1E5EA);--c-tint:var(--kvt-tint,#F5F8FF);--c-soft:#F7F8FA;
  position:relative;margin:24px 0 36px;padding:24px;border:1px solid var(--c-border);border-radius:12px;background:#fff;color:var(--c-ink);font-size:16px;line-height:1.5;min-height:720px}
.kv-cgpa *,.kv-cgpa *::before,.kv-cgpa *::after{box-sizing:border-box}
.kv-cgpa p{margin:0}
.kv-cgpa-noscript{padding:14px;border-radius:8px;background:var(--c-tint)}

/* top bar */
.kv-cgpa-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.kv-cgpa-pill{display:inline-block;padding:5px 12px;border-radius:999px;background:var(--c-tint);color:var(--c-blue);font-size:13px;font-weight:600}
.kv-cgpa-topctl{display:flex;flex-wrap:wrap;gap:12px}
.kv-cgpa-topctl label,.kv-cgpa-grid label,.kv-cgpa-gpaonly label{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600;color:var(--c-ink)}
.kv-cgpa-lede{margin-bottom:18px !important;color:var(--c-muted);font-size:15.5px}

/* inputs: 16px+ stops iOS zoom, 44px tap height */
.kv-cgpa-in{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--c-border);border-radius:8px;background:#fff;color:var(--c-ink);font:inherit;font-size:16px;line-height:1.3}
.kv-cgpa-in:focus{outline:none;border-color:var(--c-blue);box-shadow:0 0 0 3px rgba(46,111,242,.15)}
.kv-cgpa-in[aria-invalid="true"]{border-color:#C4362F;box-shadow:0 0 0 3px rgba(196,54,47,.12)}
select.kv-cgpa-in{padding-right:30px;cursor:pointer}

/* semester cards */
.kv-cgpa-sem{margin:0 0 14px;padding:16px;border:1px solid var(--c-border);border-radius:10px;background:#fff;min-width:0}
.kv-cgpa-prev{background:var(--c-soft)}
.kv-cgpa-semhead{display:flex;align-items:baseline;gap:10px;width:100%;padding:0 4px;float:left;margin-bottom:12px}
.kv-cgpa-semhead + *{clear:both}
.kv-cgpa-semname{font-size:16px;font-weight:700;color:var(--c-ink)}
.kv-cgpa-semgpa{margin-left:auto;font-size:14px;font-weight:600;color:var(--c-blue);font-variant-numeric:tabular-nums}

/* per-semester switch */
.kv-cgpa-switch{display:inline-flex;margin-bottom:14px;padding:3px;border-radius:9px;background:var(--c-soft);border:1px solid var(--c-border)}
.kv-cgpa-switch button{min-height:38px;padding:7px 14px;border:0;border-radius:7px;background:transparent;color:var(--c-muted);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.kv-cgpa-switch button[aria-pressed="true"]{background:#fff;color:var(--c-blue);box-shadow:0 1px 3px rgba(27,34,44,.12)}
.kv-cgpa-switch button:focus-visible{outline:2px solid var(--c-blue);outline-offset:2px}

/* subject rows */
.kv-cgpa-rowhead,.kv-cgpa-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 160px 64px 40px;gap:8px;align-items:center}
.kv-cgpa-rowhead{padding:0 2px 6px;font-size:13px;font-weight:600;color:var(--c-muted)}
.kv-cgpa-row{margin-bottom:8px}
.kv-cgpa-row.is-skipped .kv-cgpa-in{opacity:.5;text-decoration:line-through}
.kv-cgpa-skip{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--c-muted);cursor:pointer;white-space:nowrap}
.kv-cgpa-skip input{width:18px;height:18px;accent-color:var(--c-blue)}
.kv-cgpa-x{width:40px;height:44px;border:1px solid var(--c-border);border-radius:8px;background:#fff;color:var(--c-muted);font-size:20px;line-height:1;cursor:pointer}
.kv-cgpa-x:hover{border-color:#C4362F;color:#C4362F;background:#FDF2F1}
.kv-cgpa-addsub{margin-top:4px;min-height:40px;padding:8px 14px;border:1px dashed var(--c-border);border-radius:8px;background:transparent;color:var(--c-blue);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
.kv-cgpa-addsub:hover{border-color:var(--c-blue);background:var(--c-tint)}
.kv-cgpa-gpaonly{display:grid;grid-template-columns:repeat(2,minmax(0,220px));gap:12px;align-items:end}
.kv-cgpa-delsem{margin-top:12px;padding:0;border:0;background:none;color:var(--c-muted);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}
.kv-cgpa-delsem:hover{color:#C4362F}
.kv-cgpa-err{margin-top:10px !important;padding:8px 12px;border-radius:7px;background:#FDF2F1;color:#9F2A24;font-size:14px}
.kv-cgpa-hint{color:var(--c-muted);font-size:14px}

/* buttons */
.kv-cgpa-addrow,.kv-cgpa-actions{display:flex;flex-wrap:wrap;gap:10px;margin:6px 0 20px}
.kv-cgpa-btn{min-height:44px;padding:10px 18px;border:1.5px solid var(--c-blue);border-radius:6px;background:var(--c-blue);color:#fff;font:inherit;font-size:15px;font-weight:700;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.kv-cgpa-btn:hover{background:var(--c-blue-h);border-color:var(--c-blue-h)}
.kv-cgpa-btn--ghost{background:#fff;color:var(--c-blue)}
.kv-cgpa-btn--ghost:hover{background:var(--c-tint);color:var(--c-blue-h)}
.kv-cgpa-btn:focus-visible,.kv-cgpa-link:focus-visible,.kv-cgpa-x:focus-visible,.kv-cgpa-addsub:focus-visible{outline:2px solid var(--c-blue);outline-offset:2px}
.kv-cgpa-link{padding:0;border:0;background:none;color:var(--c-blue);font:inherit;font-size:15px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}

/* result */
.kv-cgpa-result{margin:4px 0 16px;padding:20px;border:1px solid var(--c-blue);border-radius:12px;background:var(--c-tint)}
.kv-cgpa-rlabel{font-size:14px;font-weight:600;color:var(--c-muted)}
.kv-cgpa-big{margin:2px 0 8px !important;font-size:44px;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--c-blue);font-variant-numeric:tabular-nums}
.kv-cgpa-max{font-size:15px;font-weight:600;color:var(--c-muted);letter-spacing:0}
.kv-cgpa-stats{display:flex;flex-wrap:wrap;gap:6px 22px;font-size:14.5px;color:var(--c-muted)}
.kv-cgpa-stats strong{color:var(--c-ink);font-variant-numeric:tabular-nums}
.kv-cgpa-meaning{margin-top:10px !important;font-size:15px;color:var(--c-ink)}
.kv-cgpa-equal{margin-top:8px !important;padding:8px 12px;border-left:3px solid #D98008;background:#FDF6EC;color:#7A4E08;font-size:14px;border-radius:0 6px 6px 0}
.kv-cgpa-next{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px}
.kv-cgpa-chart{margin-top:14px}
.kv-cgpa-chart svg{display:block;width:100%;max-width:420px;height:auto}
.kv-cgpa-axis{stroke:var(--c-border);stroke-width:1}
.kv-cgpa-line{fill:none;stroke:var(--c-blue);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.kv-cgpa-chart circle{fill:#fff;stroke:var(--c-blue);stroke-width:2}
.kv-cgpa-charttext{margin-top:4px !important;font-size:13px;color:var(--c-muted)}

/* mobile sticky mini result */
.kv-cgpa-mini{display:none}

/* panels */
.kv-cgpa-panel{margin-bottom:10px;border:1px solid var(--c-border);border-radius:10px;background:#fff}
.kv-cgpa-panel > summary{min-height:48px;padding:13px 16px;font-size:15.5px;font-weight:700;color:var(--c-ink);cursor:pointer;list-style-position:inside}
.kv-cgpa-panel > summary:focus-visible{outline:2px solid var(--c-blue);outline-offset:-2px;border-radius:10px}
.kv-cgpa-panel[open] > summary{border-bottom:1px solid var(--c-border)}
.kv-cgpa-panel > :not(summary){margin:14px 16px}
.kv-cgpa-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:end}
.kv-cgpa-grid--2{grid-template-columns:repeat(2,minmax(0,220px))}
.kv-cgpa-tout{padding:12px 14px;border-radius:8px;background:var(--c-soft);font-size:15px}
.kv-cgpa-tout.is-good{background:#EEF8F1;color:#1D5F33}
.kv-cgpa-tout.is-bad{background:#FDF2F1;color:#9F2A24}
.kv-cgpa-mult{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600}
.kv-cgpa-mult .kv-cgpa-in{width:90px}
.kv-cgpa-scale{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.kv-cgpa-scrow{display:grid;grid-template-columns:60px 1fr;gap:6px}
.kv-cgpa-table{width:100%;border-collapse:collapse;font-size:14px}
.kv-cgpa-table th,.kv-cgpa-table td{padding:7px 8px;border-bottom:1px solid var(--c-border);text-align:left}
.kv-cgpa-table th{font-size:13px;color:var(--c-muted);font-weight:600}
.kv-cgpa-table td:not(:first-child),.kv-cgpa-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.kv-cgpa-table .kv-cgpa-sub td{color:var(--c-muted);font-size:13px}
.kv-cgpa-table .kv-cgpa-total td{font-weight:700;border-bottom:0}
[data-kvc-work]{overflow-x:auto}
.kv-cgpa-notice{margin-bottom:8px !important;font-size:14px;color:var(--c-ink)}
.kv-cgpa-saved{font-size:13px;color:var(--c-muted)}

/* phones */
@media (max-width:700px){
  .kv-cgpa{padding:16px;border-radius:10px;min-height:0}
  .kv-cgpa-topctl{width:100%}
  .kv-cgpa-topctl{flex-direction:column}
  .kv-cgpa-topctl label{flex:1 1 100%}
  .kv-cgpa-rowhead{display:none}
  .kv-cgpa-row{grid-template-columns:84px minmax(0,1fr) auto 44px;grid-template-areas:"name name name x" "cr gr gr skip";padding:10px;border:1px solid var(--c-border);border-radius:9px;background:var(--c-soft)}
  .kv-cgpa-row .kv-cgpa-name{grid-area:name}
  .kv-cgpa-row .kv-cgpa-cr{grid-area:cr}
  .kv-cgpa-row .kv-cgpa-grade{grid-area:gr}
  .kv-cgpa-row .kv-cgpa-skip{grid-area:skip;justify-self:end}
  .kv-cgpa-row .kv-cgpa-x{grid-area:x;width:44px}
  .kv-cgpa-switch{display:flex;width:100%}
  .kv-cgpa-switch button{flex:1}
  .kv-cgpa-gpaonly,.kv-cgpa-grid,.kv-cgpa-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kv-cgpa-big{font-size:38px}
  .kv-cgpa-addrow .kv-cgpa-btn,.kv-cgpa-actions .kv-cgpa-btn{flex:1 1 140px}
  .kv-cgpa-mini{display:flex;align-items:baseline;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:20;padding:12px 76px 12px 18px;background:#fff;border-top:1px solid var(--c-border);box-shadow:0 -6px 16px rgba(27,34,44,.08);font-size:15px;color:var(--c-muted);transform:translateY(110%);transition:transform .2s ease}
  .kv-cgpa-mini strong{font-size:24px;color:var(--c-blue);font-variant-numeric:tabular-nums}
  .kv-cgpa-mini.is-show{transform:none}
}
@media (prefers-reduced-motion:reduce){.kv-cgpa *{transition:none !important}}

/* print: just the tool */
@media print{
  body *{visibility:hidden}
  .kv-cgpa,.kv-cgpa *{visibility:visible}
  .kv-cgpa{position:absolute;left:0;top:0;width:100%;border:0;min-height:0}
  .kv-cgpa-addrow,.kv-cgpa-actions,.kv-cgpa-next,.kv-cgpa-x,.kv-cgpa-addsub,.kv-cgpa-delsem,.kv-cgpa-switch,.kv-cgpa-saved,.kv-cgpa-notice,.kv-cgpa-mini,.kv-cgpa-pill{display:none !important}
  .kv-cgpa-panel{break-inside:avoid}
}

/* Readable article text on tool pages (below-the-tool content was rendering small) */
.kv-tools-page .entry-content > p,.kv-tools-page .entry-content > ul li,.kv-tools-page .entry-content > ol li,.kv-tools-page .entry-content > .wp-block-table td,.kv-tools-page .entry-content > .wp-block-table th{font-size:17px !important;line-height:1.7 !important}
