/* kv_page_unify.css — the shared visual baseline for pages that render their own shell
 * (founder, 2026-10-24: "so many pages are not in 1 layout").
 *
 * WHY A BASELINE AND NOT A CONVERSION. 166 pages hand-write their own <head>. Converting them to
 * incfiles/_kv_standard_page_head.php is the structurally right answer but it is per-page work:
 * an automated attempt damaged 8 pages (two-document pages spliced across both branches) and was
 * reverted. This file instead gives every such page the SAME typography, colour, controls and
 * surfaces as the rest of Koovira, with no markup change at all.
 *
 * EVERY RULE IS WRAPPED IN :where(), WHICH HAS ZERO SPECIFICITY. That is the whole safety model:
 * a page's own stylesheet — any selector, even a bare element one — always wins. This can only
 * fill in what a page never styled; it cannot override a deliberate design. Dropping the one
 * <link> (or the entry in kv_emit_bottomnav_css) reverts every page at once.
 *
 * Tokens match assets/css/kv_public_landing.css and kv_intro_unify.css, so a visitor moving
 * between /hotels/, staygo_intro.php and policy.php sees one product.
 */

:root{
  --kvp-purple:#5b21b6; --kvp-purple-d:#4c1d95; --kvp-soft:#faf5ff;
  --kvp-ink:#2e2446; --kvp-muted:#6b6385; --kvp-line:#ede9fe; --kvp-bg:#fff;
  --kvp-r-card:14px; --kvp-r-ctl:10px;
  --kvp-font:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
}

:where(body){
  font-family:var(--kvp-font);
  color:var(--kvp-ink);
  background:var(--kvp-bg);
  font-size:15px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

/* headings — weight and colour only; sizes stay close to the browser scale so no page reflows */
:where(h1){font-size:30px;line-height:1.2;font-weight:800;color:var(--kvp-ink);margin:0 0 12px}
:where(h2){font-size:22px;line-height:1.25;font-weight:800;color:var(--kvp-ink);margin:0 0 10px}
:where(h3){font-size:18px;line-height:1.3;font-weight:700;color:var(--kvp-ink);margin:0 0 8px}
:where(h4,h5,h6){font-weight:700;color:var(--kvp-ink);margin:0 0 6px}
:where(p){color:var(--kvp-muted);margin:0 0 12px}
:where(small,.text-muted){color:var(--kvp-muted)}

:where(a){color:var(--kvp-purple);text-decoration:none}
:where(a:hover){color:var(--kvp-purple-d);text-decoration:underline}

/* controls — the single biggest source of "this page looks like a different site" */
:where(button,.btn,input[type=submit],input[type=button]){
  font-family:inherit;font-size:14px;font-weight:700;line-height:1.2;
  border-radius:var(--kvp-r-ctl);padding:11px 20px;border:0;cursor:pointer;
}
:where(.btn-primary,button[type=submit],input[type=submit]){background:var(--kvp-purple);color:#fff}
:where(.btn-primary:hover,button[type=submit]:hover){background:var(--kvp-purple-d);color:#fff}
:where(input[type=text],input[type=email],input[type=tel],input[type=number],input[type=date],
       input[type=search],input[type=password],select,textarea){
  font-family:inherit;font-size:14px;color:var(--kvp-ink);background:#fff;
  border:1px solid #ddd6fe;border-radius:var(--kvp-r-ctl);padding:10px 12px;
}
:where(input:focus,select:focus,textarea:focus){
  outline:0;border-color:#a78bfa;box-shadow:0 0 0 3px rgba(167,139,250,.22);
}
:where(label){font-size:12px;font-weight:700;color:#4b3f66;margin:0 0 5px;display:block}

/* surfaces */
:where(.card,.panel,.box,.tile){
  background:#fff;border:1px solid var(--kvp-line);border-radius:var(--kvp-r-card);padding:16px;
}
:where(table){border-collapse:collapse;width:100%;font-size:14px}
:where(th){text-align:left;font-weight:700;color:var(--kvp-ink);border-bottom:1px solid var(--kvp-line);padding:10px 12px}
:where(td){border-bottom:1px solid var(--kvp-line);padding:10px 12px;color:var(--kvp-muted)}
:where(hr){border:0;border-top:1px solid var(--kvp-line);margin:20px 0}
:where(code,pre){font-family:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}

:where(img){max-width:100%;height:auto}

@media (max-width:767.98px){
  :where(h1){font-size:23px}
  :where(h2){font-size:19px}
  :where(body){font-size:14.5px}
}

@media (prefers-color-scheme:dark){
  :where([data-bs-theme=dark]){--kvp-ink:#efeaf8;--kvp-muted:#b3aac6;--kvp-line:#332b48;--kvp-bg:#15121e;--kvp-soft:#1b1725}
  :where([data-bs-theme=dark] .card,[data-bs-theme=dark] .panel,[data-bs-theme=dark] .box,[data-bs-theme=dark] .tile){background:#1b1725;border-color:#332b48}
  :where([data-bs-theme=dark] input,[data-bs-theme=dark] select,[data-bs-theme=dark] textarea){background:#1b1725;border-color:#332b48;color:#efeaf8}
}
