/* kv_public_landing.css — the public module landing pages (founder scope 2026-10-24).
 * Scoped under .kvpl- so it cannot reach the shared Koovira chrome around it.
 * Built on the existing Bootstrap grid; no new framework. */

.kvpl-hero{position:relative;overflow:hidden;border-radius:16px;padding:34px 26px 30px;margin:0 0 22px;
  background:linear-gradient(135deg,#2d1b69 0%,#5b21b6 55%,#7c3aed 100%);color:#fff}
.kvpl-hero:after{content:"";position:absolute;right:-70px;top:-70px;width:260px;height:260px;border-radius:50%;
  background:rgba(255,255,255,.07)}
.kvpl-hero h1{font-size:30px;line-height:1.2;font-weight:800;margin:0 0 10px;color:#fff}
.kvpl-hero p.kvpl-lede{font-size:15px;line-height:1.55;margin:0;max-width:760px;color:rgba(255,255,255,.9)}
.kvpl-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;background:rgba(255,255,255,.16);border-radius:999px;padding:5px 12px;margin-bottom:14px}
.kvpl-hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.kvpl-btn{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:10px;padding:11px 20px;font-size:14px;
  font-weight:700;text-decoration:none;cursor:pointer;line-height:1.2}
.kvpl-btn-primary{background:#fff;color:#5b21b6}
.kvpl-btn-primary:hover{background:#f3e8ff;color:#4c1d95}
.kvpl-btn-ghost{background:rgba(255,255,255,.14);color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.kvpl-btn-ghost:hover{background:rgba(255,255,255,.24);color:#fff}
.kvpl-btn-solid{background:#5b21b6;color:#fff}
.kvpl-btn-solid:hover{background:#4c1d95;color:#fff}
.kvpl-btn-line{background:#fff;color:#5b21b6;box-shadow:inset 0 0 0 1px #d8b4fe}
.kvpl-btn-line:hover{background:#f3e8ff;color:#4c1d95}

/* sub navigation: Overview · How it works · Intro · Join as merchant */
.kvpl-subnav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 18px;padding:6px;background:#fff;border:1px solid #ede9fe;
  border-radius:12px}
.kvpl-subnav a{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:9px;font-size:13.5px;
  font-weight:600;color:#4b3f66;text-decoration:none}
.kvpl-subnav a:hover{background:#f5f3ff;color:#5b21b6}
.kvpl-subnav a.kvpl-on{background:#5b21b6;color:#fff}

.kvpl-card{background:#fff;border:1px solid #ede9fe;border-radius:14px;padding:20px 20px 18px;margin:0 0 18px}
.kvpl-card h2{font-size:19px;font-weight:800;color:#2e2446;margin:0 0 4px}
.kvpl-card h2 + .kvpl-sub{font-size:13.5px;color:#7c7391;margin:0 0 16px}
.kvpl-sec-note{font-size:12.5px;color:#7c7391;margin:10px 0 0}

/* search panel */
.kvpl-form .kvpl-f{margin-bottom:12px}
.kvpl-form label{display:block;font-size:12px;font-weight:700;color:#4b3f66;margin:0 0 5px}
.kvpl-form input[type=text],.kvpl-form input[type=number],.kvpl-form input[type=date],.kvpl-form select,
.kvpl-form .kvpac-wrap input{width:100%;border:1px solid #ddd6fe;border-radius:10px;padding:10px 12px;font-size:14px;
  color:#1f1a2e;background:#fff}
.kvpl-form input:focus,.kvpl-form select:focus{outline:0;border-color:#a78bfa;box-shadow:0 0 0 3px rgba(167,139,250,.22)}
.kvpl-form .kvpac-wrap label{display:block}
.kvpl-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:6px}

/* the authentication gate panel — replaces results, never overlays them */
.kvpl-gate{border:1px solid #ddd6fe;background:linear-gradient(180deg,#faf5ff,#fff);border-radius:14px;
  padding:22px;margin:0 0 18px;text-align:center}
.kvpl-gate .kvpl-lock{width:46px;height:46px;border-radius:50%;background:#ede9fe;color:#5b21b6;display:inline-flex;
  align-items:center;justify-content:center;font-size:19px;margin-bottom:12px}
.kvpl-gate h2{font-size:19px;font-weight:800;color:#2e2446;margin:0 0 6px}
.kvpl-gate p{font-size:14px;color:#5c5375;margin:0 auto 16px;max-width:520px}
.kvpl-gate .kvpl-hero-cta{justify-content:center;margin-top:0}
.kvpl-recap{display:flex;flex-wrap:wrap;gap:7px;justify-content:center;margin:14px 0 0}
.kvpl-recap span{background:#fff;border:1px solid #e9d5ff;border-radius:999px;padding:5px 12px;font-size:12px;
  color:#5b21b6;font-weight:600}
.kvpl-recap span b{color:#2e2446;font-weight:700}

/* real public data */
.kvpl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.kvpl-chips a{display:inline-flex;align-items:baseline;gap:6px;background:#faf5ff;border:1px solid #ede9fe;
  border-radius:999px;padding:7px 13px;font-size:13px;color:#43395c;text-decoration:none;font-weight:600}
.kvpl-chips a:hover{background:#f3e8ff;border-color:#d8b4fe;color:#5b21b6}
.kvpl-chips a i{font-style:normal;font-size:11.5px;color:#8a7fa0;font-weight:600}
.kvpl-empty{font-size:13.5px;color:#7c7391;background:#faf9fc;border:1px dashed #e4e0ee;border-radius:10px;padding:14px}

/* cards grid: services, features, merchant types */
.kvpl-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(248px,1fr))}
.kvpl-tile{border:1px solid #ede9fe;border-radius:12px;padding:16px;background:#fff;text-decoration:none;display:block}
a.kvpl-tile:hover{border-color:#c4b5fd;background:#faf5ff}
.kvpl-tile h3{font-size:15px;font-weight:800;color:#2e2446;margin:0 0 5px}
.kvpl-tile p{font-size:13px;line-height:1.5;color:#6b6385;margin:0}
.kvpl-tile .kvpl-ti{width:36px;height:36px;border-radius:9px;background:#f3e8ff;color:#5b21b6;display:inline-flex;
  align-items:center;justify-content:center;margin-bottom:10px;font-size:15px}

/* how it works */
.kvpl-steps{list-style:none;margin:0;padding:0;counter-reset:kvpl}
.kvpl-steps li{counter-increment:kvpl;position:relative;padding:0 0 16px 46px}
.kvpl-steps li:before{content:counter(kvpl);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;
  background:#5b21b6;color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}
.kvpl-steps li:after{content:"";position:absolute;left:14.5px;top:32px;bottom:2px;width:1px;background:#e9d5ff}
.kvpl-steps li:last-child{padding-bottom:0}
.kvpl-steps li:last-child:after{display:none}
.kvpl-steps strong{display:block;font-size:14.5px;color:#2e2446;margin:0 0 2px}
.kvpl-steps span{font-size:13px;color:#6b6385;line-height:1.5}

.kvpl-list{margin:0;padding-left:18px}
.kvpl-list li{font-size:13.5px;color:#554d6e;line-height:1.75}

/* faq */
.kvpl-faq details{border:1px solid #ede9fe;border-radius:10px;padding:0;margin:0 0 9px;background:#fff}
.kvpl-faq summary{cursor:pointer;padding:13px 16px;font-size:14px;font-weight:700;color:#2e2446;list-style:none}
.kvpl-faq summary::-webkit-details-marker{display:none}
.kvpl-faq summary:after{content:"+";float:right;color:#8b7fae;font-weight:700}
.kvpl-faq details[open] summary:after{content:"\2212"}
.kvpl-faq p{margin:0;padding:0 16px 14px;font-size:13.5px;line-height:1.6;color:#5c5375}

.kvpl-honest{background:#fffbeb;border:1px solid #fde68a;border-radius:11px;padding:14px 16px;margin:0 0 18px;
  font-size:13px;line-height:1.6;color:#6b5618}
.kvpl-honest b{color:#4a3a0a}

.kvpl-more{display:flex;flex-wrap:wrap;gap:8px}
.kvpl-more a{font-size:13px;font-weight:600;color:#5b21b6;text-decoration:none;background:#faf5ff;
  border:1px solid #ede9fe;border-radius:9px;padding:7px 12px}
.kvpl-more a:hover{background:#f3e8ff}

@media (max-width:767.98px){
  .kvpl-hero{padding:24px 18px;border-radius:14px}
  .kvpl-hero h1{font-size:23px}
  .kvpl-hero p.kvpl-lede{font-size:14px}
  .kvpl-btn{width:100%;justify-content:center}
  .kvpl-hero-cta{gap:8px}
  .kvpl-card{padding:16px 15px}
  .kvpl-subnav{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .kvpl-subnav a{white-space:nowrap}
}
@media (prefers-color-scheme:dark){
  [data-bs-theme=dark] .kvpl-card,[data-bs-theme=dark] .kvpl-tile,[data-bs-theme=dark] .kvpl-subnav,
  [data-bs-theme=dark] .kvpl-faq details{background:#1b1725;border-color:#332b48}
  [data-bs-theme=dark] .kvpl-card h2,[data-bs-theme=dark] .kvpl-tile h3,[data-bs-theme=dark] .kvpl-faq summary,
  [data-bs-theme=dark] .kvpl-steps strong{color:#efeaf8}
  [data-bs-theme=dark] .kvpl-tile p,[data-bs-theme=dark] .kvpl-steps span,[data-bs-theme=dark] .kvpl-faq p,
  [data-bs-theme=dark] .kvpl-list li{color:#b3aac6}
  [data-bs-theme=dark] .kvpl-chips a{background:#231d31;border-color:#332b48;color:#cfc6e2}
  [data-bs-theme=dark] .kvpl-gate{background:#1b1725;border-color:#3b3155}
}
