/* Kovan Client theme — builds on /assets/core/kovan.css tokens. */
.lang { font-size: .8rem; font-weight: 600; text-decoration: none; color: var(--k-text-muted); padding: .2rem .45rem; border-radius: var(--k-radius-sm); }
.lang.active { background: var(--k-primary-soft); color: var(--k-primary-text); }

/* Auth & account */
.auth-wrap { padding: 48px 16px 64px; display: grid; place-items: start center; }
.auth-box { width: 100%; max-width: 26rem; }
.register-box { width: 100%; max-width: 44rem; }
.center { text-align: center; margin: 0; }
.type-switch { display: flex; gap: 1.5rem; }
.consent { align-items: flex-start; }
.consent input { margin-top: 3px; }
.account { padding-top: 24px; padding-bottom: 48px; display: grid; gap: 1.25rem; }
.account-nav { margin-bottom: .25rem; }
.flash { padding-top: 16px; }
.tabs { display: flex; gap: .25rem; overflow-x: auto; border-bottom: 1px solid var(--k-border); }
.tabs a { padding: .55rem .8rem; white-space: nowrap; text-decoration: none; color: var(--k-text-muted); border-bottom: 2px solid transparent; margin-bottom: -1px; font-weight: 500; }
.tabs a.active { color: var(--k-text); border-bottom-color: var(--k-primary); }

/* Individual/corporate fields without JavaScript: :has() reads the selected radio. */
#register:has(input[name="type"][value="individual"]:checked) .corporate-only,
#register:has(input[name="type"][value="corporate"]:checked) .individual-only,
#profile.individual .corporate-only,
#profile.corporate .individual-only { display: none; }

/* Store & cart */
.store { padding-top: 24px; padding-bottom: 48px; display: grid; gap: 1.25rem; }
.product-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); }
.product-card { display: flex; flex-direction: column; gap: .75rem; }
.product-card h2 { margin: 0; }
.product-desc { color: var(--k-text-muted); font-size: .9rem; }
.price-list { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.price-list li { display: flex; justify-content: space-between; gap: .5rem; flex-wrap: wrap; font-size: .9rem; }
.product-card .k-btn { margin-top: auto; }
.narrow-form { width: 100%; max-width: 40rem; }
.choice-list { border: 0; padding: 0; margin: 0; display: grid; gap: .5rem; }
.choice { display: flex; align-items: center; gap: .6rem; padding: .7rem .9rem; border: 1px solid var(--k-border-strong); border-radius: var(--k-radius); cursor: pointer; }
.choice:has(input:checked) { border-color: var(--k-primary); background: var(--k-primary-soft); }
.choice strong { margin-left: auto; }
.k-table tfoot td { font-weight: 600; }
.k-table tfoot .total td { font-size: 1.05rem; }
.bank-accounts { list-style: none; padding: 0; display: grid; gap: .4rem; }
.reply { display: grid; gap: .5rem; }
.reply-staff { border-inline-start: 3px solid var(--k-primary); }
.reply-meta { font-size: .8rem; }

/* Sales: affiliate, quotes, gift cards */
.copy-row { display: flex; gap: .4rem; }
.copy-row .k-input { flex: 1; min-width: 0; }
.affiliate-points { margin: 0; padding-inline-start: 1.25rem; display: grid; gap: .35rem; }
.affiliate-stats { grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr)); }
.quote-notes { padding: .75rem 1rem; background: var(--k-surface-2); border-radius: var(--k-radius); }

/* Knowledge base & announcements */
.content-page { max-width: 60rem; padding-top: 1.5rem; padding-bottom: 3rem; }
.kb-search .k-input { flex: 1; }
.kb-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 18rem), 1fr)); }
.kb-list { margin: 0; padding-inline-start: 1.1rem; display: grid; gap: .35rem; }
.kb-item { display: grid; gap: .25rem; text-decoration: none; color: inherit; }
.kb-item:hover { border-color: var(--k-primary); }
.crumbs { margin-bottom: .75rem; font-size: .9rem; }
.prose { line-height: 1.7; overflow-wrap: anywhere; }
.prose h1 { margin-top: 0; }
.prose pre { overflow-x: auto; padding: .75rem 1rem; background: var(--k-surface-2); border-radius: var(--k-radius); }
.prose code { font-family: var(--k-font-mono); font-size: .9em; }
.prose blockquote { margin: 1rem 0; padding: .25rem 1rem; border-inline-start: 4px solid var(--honey-400); background: var(--k-surface-2); border-radius: 0 var(--k-radius) var(--k-radius) 0; }
.contact-areas { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; }
