/* KKAA Solutions: site-wide polish layer, loaded on every page via partials/header.php (after page CSS order-independent: selectors are scoped). */

/* Line icons that replace emoji */
.ki{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.125em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.symptom-icon,.service-emoji,.service-icon,.cat-icon,.invoice-icon,.urg-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.symptom-icon .ki{width:22px;height:22px;color:#f87171}
.service-emoji,.service-icon,.cat-icon{width:48px;height:48px;border-radius:12px;background:rgba(14,165,160,.12);border:1px solid rgba(14,165,160,.25);color:#14c4bd;font-size:0}
.service-emoji .ki,.service-icon .ki,.cat-icon .ki{width:24px;height:24px}
.invoice-icon .ki,.urg-icon .ki{width:24px;height:24px;color:#14c4bd}
.pain-icon .ki{color:#f87171}
.check .ki{color:#14c4bd}
.check-big{display:flex;justify-content:center;color:#22c55e}
.check-big .ki{width:56px;height:56px;stroke-width:1.5}
.empty-icon{color:#6f86a0}
.empty-icon .ki{width:40px;height:40px}
.search-icon .ki{width:18px;height:18px}
.cb-icon .ki{width:20px;height:20px;color:#14c4bd}
.brand-logo{width:26px;height:26px;border-radius:6px;object-fit:cover;flex:none}
.auth-brand-icon img{width:64px;height:64px;border-radius:14px;display:block;margin:0 auto}

/* Code blocks: no stray indent on the first line */
pre code{display:block;padding:0;background:none;border:0;white-space:pre}

/* Media never overflows */
img,video,iframe{max-width:100%}
img{height:auto}

/* Touch devices: 16px inputs (no iOS zoom), 44px tap targets */
@media (max-width:1120px){
  input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea{font-size:16px!important}
  .share-btn,.share-x,.page-btn,.filter-btn,.filter-pills>*{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}
  .breadcrumbs a{display:inline-flex;align-items:center;min-height:44px}
}

/* Horizontal-scroll chip rows on phones instead of wrapping into a wall */
@media (max-width:640px){
  .severity-filters,.filter-pills{min-width:0;max-width:100%;flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}
  .severity-filters::-webkit-scrollbar,.filter-pills::-webkit-scrollbar{display:none}
  .severity-filters>*,.filter-pills>*{flex:none}
}

/* Flex inputs may shrink (16px font widens their intrinsic size) */
/* No max-width here: it would override page-level caps such as the KB's 560px search */
.search-box,.search-wrap{min-width:0;box-sizing:border-box}
.search-box input,.search-wrap input{min-width:0;width:100%;flex:1 1 auto}

/* Portal sign-in card: room for the 300px Turnstile widget on phones */
@media (max-width:480px){.auth-card{padding:28px 20px!important}}

/* Hero stats: three in one row on phones, no orphan */
@media (max-width:520px){
  .trust-bar,.hero-stats{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px!important;align-items:start}
  .trust-num,.stat-number{font-size:clamp(24px,7vw,30px)!important;white-space:nowrap}
  .trust-label,.stat-label{font-size:12.5px;line-height:1.35;display:block}
}

/* Cookie banner (inline-styled by each page's head script): site font, safe-area aware, two equal buttons on phones */
#kkaa-consent>div{font-family:inherit!important;font-size:14px!important;line-height:1.5;gap:12px 20px!important;padding:16px max(20px,env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))!important;box-shadow:0 -12px 32px rgba(0,0,0,.35)}
#kkaa-consent span{flex:0 1 auto;max-width:620px}
#kkaa-consent button{flex:none;font-family:inherit!important;min-width:120px}
#kkaa-consent button:focus-visible{outline:2px solid #14c4bd;outline-offset:2px}
@media (max-width:640px){
  #kkaa-consent>div{display:grid!important;grid-template-columns:1fr 1fr;align-items:stretch}
  #kkaa-consent span{grid-column:1/-1;max-width:none}
  #kkaa-consent button{width:100%;min-width:0}
}
