/* Selo da loja + QR dos apps oficiais (komori_app_badges.php) — APPS-SELOS-QR-20261003.
   Selos oficiais sem recolorir, mesma altura visual (Apple ≥ 40px), área livre ao redor. */
.kab{--kab-accent:#0f2f4f;--kab-fg:#14202e;--kab-muted:#5b6878;--kab-card:#fff;--kab-line:rgba(15,47,79,.12);
  --kab-badge-h:48px;--kab-qr:112px;font-family:inherit;color:var(--kab-fg);box-sizing:border-box;margin:0 auto;max-width:1080px;padding:28px 20px}
.kab *,.kab *::before,.kab *::after{box-sizing:border-box}
.kab--dark{--kab-fg:#eef3f8;--kab-muted:#a9b6c6;--kab-card:rgba(255,255,255,.06);--kab-line:rgba(255,255,255,.14)}
.kab-head{display:flex;align-items:center;gap:14px;margin:0 0 18px}
.kab-title{display:block;font-size:1.25rem;font-weight:700;line-height:1.35;color:var(--kab-fg)}
.kab-lead{margin:4px 0 0;color:var(--kab-muted);font-size:.92rem;line-height:1.6}
.kab-icon{width:48px;height:48px;border-radius:22%;flex:0 0 48px;object-fit:cover;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.kab-stores{display:flex;flex-wrap:wrap;gap:16px;align-items:stretch}
.kab-store{display:flex;align-items:center;gap:18px;background:var(--kab-card);border:1px solid var(--kab-line);border-radius:16px;padding:16px 18px;min-width:0}
.kab-badge-col{display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.kab-badge{display:inline-flex;position:relative;line-height:0;border-radius:8px;outline-offset:4px;text-decoration:none}
.kab-badge-img{height:var(--kab-badge-h);width:auto;display:block}
a.kab-badge:hover .kab-badge-img{filter:brightness(1.12)}
a.kab-badge:focus-visible{outline:3px solid var(--kab-accent)}
.kab-meta{font-size:.78rem;color:var(--kab-muted);line-height:1.3;white-space:nowrap}
.kab-store.is-soon .kab-badge-img{opacity:.38}
.kab-soon-tag{position:absolute;right:-6px;top:-9px;background:#fff;color:#4a5563;border:1px solid #cfd6df;border-radius:999px;font-size:.68rem;line-height:1;padding:4px 8px;font-weight:600;white-space:nowrap}
.kab-qr{margin:0;display:flex;flex-direction:column;align-items:center;gap:6px;width:calc(var(--kab-qr) + 30px)}
.kab-qr img{width:var(--kab-qr);height:var(--kab-qr);background:#fff;border-radius:8px;padding:6px;box-shadow:0 0 0 1px rgba(0,0,0,.08);display:block;box-sizing:content-box}
.kab-qr figcaption{font-size:.72rem;color:var(--kab-muted);text-align:center;line-height:1.35}
.kab-tf{display:inline-flex;align-items:center;gap:8px;height:var(--kab-badge-h);padding:0 14px;border-radius:9px;background:#000;color:#fff;font-size:.85rem;line-height:1.2}
.kab-tf b{font-weight:700}
/* Página de apps (vários) */
.kab--grid{max-width:1180px;padding:8px 0}
.kab-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:18px}
.kab-card{background:var(--kab-card);border:1px solid var(--kab-line);border-radius:18px;padding:18px}
.kab-card-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.kab-card-head strong{font-size:1.08rem}
.kab-card-head p{margin:2px 0 0;font-size:.84rem;color:var(--kab-muted);line-height:1.5}
.kab-card .kab-store{border:0;background:transparent;padding:4px 0;gap:12px}
.kab-card .kab-stores{gap:10px 22px}
.kab-card{--kab-badge-h:40px}
.kab-card .kab-qr figcaption{font-size:.68rem}
.kab--compact{padding:12px 0}
/* Celular / tablet: sem QR; a loja da pessoa grande e primeiro, a outra menor. */
.kab[data-kab-os=android] .kab-qr,.kab[data-kab-os=ios] .kab-qr{display:none}
.kab[data-kab-os=android] .kab-store,.kab[data-kab-os=ios] .kab-store{padding:12px 14px}
.kab[data-kab-os=android] .kab-store.is-mine,.kab[data-kab-os=ios] .kab-store.is-mine{--kab-badge-h:58px;order:-1;flex:1 1 100%}
.kab[data-kab-os=android] .kab-store:not(.is-mine),.kab[data-kab-os=ios] .kab-store:not(.is-mine){--kab-badge-h:36px;border-style:dashed}
.kab[data-kab-os=android] .kab-card .kab-store:not(.is-mine),.kab[data-kab-os=ios] .kab-card .kab-store:not(.is-mine){border:0}
@media (max-width:640px){
  .kab{padding:22px 14px}
  .kab-stores{flex-direction:column}
  .kab-store{width:100%}
  .kab-head{align-items:flex-start}
  .kab[data-kab-os=desktop] .kab-store{justify-content:space-between}
}
/* Aviso discreto (navegador do celular / PWA) */
.kab-banner{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px) + var(--kab-banner-bottom,0px));z-index:2147483000;
  display:flex;align-items:center;gap:10px;max-width:520px;margin:0 auto;padding:10px 10px 10px 12px;border-radius:14px;
  background:#fff;color:#14202e;box-shadow:0 8px 28px rgba(10,20,40,.22),0 0 0 1px rgba(10,20,40,.06);font:14px/1.35 system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif}
.kab-banner[hidden]{display:none}
.kab-banner img{width:40px;height:40px;border-radius:22%;flex:0 0 40px}
.kab-banner-txt{flex:1 1 auto;min-width:0}
.kab-banner-txt b{display:block;font-size:.9rem;font-weight:700}
.kab-banner-txt small{display:block;color:#5b6878;font-size:.76rem}
.kab-banner-cta{flex:0 0 auto;background:#0b57d0;color:#fff!important;text-decoration:none!important;font-weight:700;font-size:.85rem;border-radius:999px;padding:8px 14px}
.kab-banner-x{flex:0 0 auto;width:32px;height:32px;border:0;background:transparent;color:#5b6878;font-size:22px;line-height:1;border-radius:50%;cursor:pointer}
.kab-banner-x:hover{background:rgba(0,0,0,.06)}
@media (prefers-color-scheme:dark){.kab-banner{background:#1d2633;color:#eef3f8}.kab-banner-txt small{color:#a9b6c6}.kab-banner-x{color:#a9b6c6}}
@media print{.kab-banner{display:none!important}}
.kab-card .kab-qr{width:calc(var(--kab-qr) + 14px)}.kab-card .kab-stores{gap:10px 18px}.kab-card .kab-store{gap:10px}
.kab-qr figcaption{text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere}
