.kasshop { --ks-accent: var(--bs-primary, #0d6efd); --ks-radius: .75rem; }
.kasshop-topbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.5rem; }
.kasshop-search { margin-bottom: 2rem; border-radius: var(--ks-radius); }
.kasshop-results .ks-result { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; padding: .75rem 0; border-bottom: 1px solid rgba(0,0,0,.08); }
.kasshop-results .ks-result:last-child { border-bottom: 0; }
.kasshop-results .ks-domain { font-weight: 600; min-width: 12rem; }
.kasshop-results .ks-preferred .ks-domain { font-size: 1.15em; }
.kasshop-results .ks-state { min-width: 7rem; }
.kasshop-results .ks-price { color: #555; min-width: 8rem; }
.kasshop-results .ks-actions { margin-left: auto; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.kasshop-results .ks-actions form { display: flex; gap: .5rem; flex-wrap: wrap; margin: 0; }
.kasshop-results .ks-actions select, .kasshop-results .ks-actions input { width: auto; }
.kasshop-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); gap: 1.25rem; margin-bottom: 2rem; }
.kasshop-package { position: relative; border-radius: var(--ks-radius); }
.kasshop-package.is-featured { border: 2px solid var(--ks-accent); }
.kasshop-ribbon { position: absolute; top: -.75rem; right: 1rem; background: var(--ks-accent); color: #fff; font-size: .8rem; padding: .15rem .6rem; border-radius: 1rem; }
.kasshop-price { font-size: 1.75rem; font-weight: 700; margin-bottom: .25rem; }
.kasshop-price small { font-size: .9rem; font-weight: 400; color: #666; }
.kasshop-features { padding-left: 1.1rem; margin: .75rem 0 1rem; }
.kasshop-modes { display: flex; flex-direction: column; gap: .15rem; font-size: .9rem; }
.kasshop-checkout { border-radius: var(--ks-radius); margin-top: 1.5rem; }
