/* Keksu pricing: concise choices, a stable total, and a separate provider comparison. */
.kp{--kp-paper:#fffdf9}
.kp-intro{padding-top:48px;padding-bottom:32px}
.kp-intro .eyebrow{margin-bottom:14px}
.kp-intro h1{font-size:clamp(36px,4.3vw,60px);line-height:1.08;max-width:22ch;text-wrap:initial}
.kp-intro>p{font-size:19px;line-height:1.55;max-width:49ch;margin-top:18px}
.kp-config{padding-top:12px;padding-bottom:56px}
.kp-config-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.kp-config-head h2{font-size:26px}
.kp-config-head>span{font-size:13px;color:var(--muted)}
.kp-presets{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 24px}
.kp-presets button{border:1px solid var(--line);border-radius:8px;padding:10px 15px;min-height:44px;background:transparent;color:var(--ink);font-size:14px;font-weight:750;touch-action:manipulation;transition:background .15s,border-color .15s}
.kp-presets button:hover{background:var(--soft);border-color:var(--accent)}
.kp-presets button[aria-pressed=true]{border-color:var(--green);background:var(--green);color:var(--bg)}
.kp-columns{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:36px}
.kp-columns>*{min-width:0}
.kp-devices{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0 24px;border-bottom:1px solid var(--line)}
.kp-devices label{font-size:17px;line-height:1.4;cursor:pointer}
.kp-devices small{display:block;font-size:13px;color:var(--muted);margin-top:5px}
.kp-devices select{width:76px;min-height:48px;background:var(--kp-paper);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 34px 9px 14px;font-size:17px;font-weight:750;flex:none}
.kp-module-list{border:0;min-width:0;padding:0;margin:22px 0 0}
.kp-module-list legend{font-size:14px;font-weight:800;margin-bottom:12px;padding:0}
.kp-module{border-bottom:1px solid var(--line);padding:0 0 8px;margin-bottom:8px}
.kp-option{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;align-items:center;gap:18px;padding:14px 0 4px;min-height:76px;cursor:pointer}
.kp-option>span{min-width:0}
.kp-option strong{display:block;font-size:18px;line-height:1.3;color:var(--ink)}
.kp-option small{display:block;color:var(--muted);font-size:14px;line-height:1.45;margin-top:5px}
.kp-option .kp-option-price{font-size:21px;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums;text-align:right;align-self:center}
.kp-option-price small{font-size:12px;font-weight:400;margin-top:1px}
.kp-option input{width:22px;height:22px;margin:0;accent-color:var(--green);cursor:pointer;flex:none}
.kp-option:has(input:checked) strong{color:var(--accent)}
.kp-module-link{display:inline-flex;align-items:center;gap:8px;min-height:36px;font-size:12px;text-decoration:none;color:var(--muted)}
.kp-module-link .icon{width:14px;height:14px}
.kp-module-link:hover{text-decoration:underline;color:var(--ink)}
.kp-note{font-size:13px;line-height:1.6;color:var(--muted);margin-top:18px;max-width:65ch}
.kp-summary{--muted:#eee8f1;position:sticky;top:112px;background:var(--green);color:var(--bg);border-radius:12px;padding:28px;scroll-margin-top:112px}
.kp-summary h2{font-size:14px;line-height:1.5;letter-spacing:0;font-weight:600;color:inherit}
.kp-summary output{display:block;font-size:56px;font-weight:800;line-height:1.15;letter-spacing:-.04em;margin:8px 0 18px;font-variant-numeric:tabular-nums;color:inherit}
.kp-summary ul{list-style:none;padding:0;display:grid;gap:7px;margin:0 0 22px;font-size:14px;line-height:1.5;color:inherit}
.kp-summary li{display:flex;align-items:start;gap:9px}
.kp-summary li>span{font-size:12px;line-height:1.75}
.kp-tse{border-top:1px solid #ffffff35;padding-top:16px;margin-top:16px}
.kp-tse p,.kp-tse small{color:#eee8f1;font-size:13px;line-height:1.5}
.kp-tse p:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px}
.kp-tse strong{color:var(--bg);font-size:14px}
.kp-tse small{display:block;margin-top:5px;font-size:12px}
.kp-tse .kp-with-tse{margin-top:12px;font-size:14px}
.kp-with-tse span{color:var(--bg);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}
.keksu-preview .kp-summary .button{background:var(--bg);color:var(--green);display:flex;justify-content:space-between;margin-top:22px;min-height:52px;font-size:16px}
.keksu-preview .kp-summary .button:hover{background:#fff}
.kp-summary .kp-summary-note{font-size:12px;line-height:1.5;color:#eee8f1;margin-top:12px}
/* Distinct roles: comparison callout, free feature overview, and quieter FAQ band. */
.kp-comparison{--ink:#faf7f2;--muted:#e3d7e9;display:grid;grid-template-columns:64px minmax(0,1fr) minmax(280px,.8fr);align-items:center;gap:28px;background:#38213f;color:#faf7f2;border:0;border-radius:20px;padding:32px 36px;scroll-margin-top:110px}
.kp-compare-symbol{display:grid;place-items:center;width:64px;height:64px;border-radius:18px;background:#cbb5e2;color:#38213f;align-self:start}
.kp-compare-symbol .icon{width:34px;height:34px;stroke-width:1.6}
.kp-comparison .eyebrow{color:#d9c4e5;margin-bottom:10px}
.keksu-preview .kp-comparison h2{font-size:clamp(28px,2.7vw,38px);line-height:1.12;color:inherit}
.kp-comparison p{font-size:17px;line-height:1.5;max-width:40ch;margin-top:14px}
.kp-comparison-action{display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-width:0}
.keksu-preview .kp-comparison .button{justify-content:space-between;width:100%;max-width:360px;background:#faf7f2;color:#38213f;border:0;box-shadow:none}
.keksu-preview .kp-comparison .button:hover{background:#e8dcf0;color:#38213f}
.kp-comparison-action>span{font-size:14px;line-height:1.55;color:var(--muted);max-width:42ch;text-wrap:balance}
.kp-comparison .button:focus-visible{outline:3px solid #cbb5e2;outline-offset:4px}
.kp-included{display:grid;grid-template-columns:250px minmax(0,1fr);gap:24px 48px;padding-block:56px}
.kp-included-head{display:flex;flex-direction:column;align-items:flex-start;gap:24px;grid-row:1/3}
.kp-included .eyebrow{margin-bottom:12px}
.kp-included h2{font-size:32px;line-height:1.13}
.kp-included-price{display:grid;gap:8px}
.kp-included-price>strong{font-size:80px;line-height:1;font-weight:800;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.kp-included-price>span{font-size:16px;line-height:1.45;color:var(--muted);max-width:19ch}
.kp-included-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}
.kp-included-grid article{min-width:0}
.kp-included-grid article+article{border-left:1px solid var(--line);padding-left:24px}
.kp-included-icon{display:block;color:#634277;margin-bottom:16px}
.kp-included-icon>.icon{width:36px;height:36px;stroke-width:1.5}
.kp-included-grid h3{font-size:20px;line-height:1.3;margin-bottom:14px}
.kp-included-grid ul{display:grid;gap:10px;list-style:none;margin:0;padding:0;font-size:16px;line-height:1.45;color:var(--muted)}
.kp-included-grid li{display:flex;align-items:start;gap:8px}
.kp-included-grid li>.icon{width:16px;height:16px;flex:none;margin-top:3px;color:#634277;stroke-width:2}
.kp-included>.kp-note{grid-column:2;margin:0;max-width:none}
.kp-included>.kp-note a{display:inline-flex;align-items:center;min-height:44px;margin-left:6px;text-underline-offset:4px}
.kp-faq-band{background:#eee8f1;margin-bottom:40px}
.kp-faq-band .faq{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;padding-block:48px}
.keksu-live .kp-faq-band .faq h2{font-size:clamp(30px,3vw,38px);line-height:1.13}
.kp-faq-band .faq>div:first-child>p{font-size:16px;line-height:1.6;margin-top:20px}
.kp-faq-band .faq-list{border-top:0}
.kp-faq-band .faq-list details{border-color:#d4c8dd}
.keksu-live .kp-faq-band .faq-list summary{font-size:18px;line-height:1.4;min-height:66px;padding-block:18px;gap:20px}
.kp-faq-band .faq-list summary>span{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid #c9b9d3;border-radius:50%;font-size:21px;font-weight:400;color:#634277}
.kp-faq-band .faq-list summary:focus-visible{outline:3px solid #634277;outline-offset:4px;border-radius:3px}
.kp-faq-band .faq-list p{max-width:62ch;padding-bottom:22px}
.kp-dock{display:none}
@media(min-width:901px) and (max-height:760px){.kp-summary{position:static}}
@media(max-width:900px){
 body:has(.kp-config) .sup{display:none}
 .kp-columns{grid-template-columns:minmax(0,1fr);gap:24px}
 .kp-summary{position:static;order:-1;scroll-margin-top:90px}
 .kp-summary output{font-size:46px;margin-bottom:12px}
 .kp-summary ul{margin-bottom:16px}
 .kp-comparison{grid-template-columns:56px minmax(0,1fr);gap:20px;padding:28px}
 .kp-compare-symbol{width:56px;height:56px}
 .kp-comparison-action{grid-column:2}
 .kp-included{grid-template-columns:1fr;gap:28px}
 .kp-included-head{grid-row:auto;flex-direction:row;align-items:center;justify-content:space-between;gap:32px}
 .kp-included-price{min-width:155px}
 .kp-included>.kp-note{grid-column:auto}
 .kp-faq-band .faq{grid-template-columns:1fr;gap:24px;padding-block:38px}
 .kp-dock:not([hidden]){display:flex;position:fixed;bottom:0;left:0;right:0;z-index:25;align-items:center;justify-content:space-between;gap:16px;background:var(--bg);border-top:1px solid var(--line);padding:10px max(20px,env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px #38213f08}
 .kp-dock small{display:block;font-size:11px;color:var(--muted)}
 .kp-dock strong{display:block;font-size:22px;line-height:1.3;font-variant-numeric:tabular-nums}
 .kp-dock a{display:flex;align-items:center;gap:16px;min-height:44px;padding:10px 14px;border-radius:8px;text-decoration:none;font-size:13px;font-weight:800;background:var(--green);color:var(--bg)}
 .kp-dock .icon{width:18px;height:18px;transform:rotate(-90deg)}
 body:has(.kp-dock:not([hidden])) .sup{bottom:calc(86px + env(safe-area-inset-bottom))}
 body:has(#navigation.is-open) .kp-dock{display:none}
 .kp-option input,.kp-devices select{scroll-margin-top:100px;scroll-margin-bottom:110px}
}
@media(max-width:760px){
 .kp-intro{padding-top:30px;padding-bottom:28px}
 .kp-intro .eyebrow{font-size:10px;letter-spacing:.11em;margin-bottom:12px}
 .kp-intro h1{font-size:clamp(32px,8.4vw,42px);line-height:1.08}
 .kp-intro>p{font-size:16px;line-height:1.5;margin-top:16px}
 .kp-config{padding-top:4px;padding-bottom:36px}
 .kp-config-head{display:block}
 .kp-config-head h2{font-size:23px}
 .kp-config-head>span{display:block;font-size:12px;margin-top:6px}
 .kp-presets{gap:7px;margin-block:16px 20px}
 .kp-presets button{font-size:12px;padding:9px 10px}
 .kp-summary{padding:22px;border-radius:10px}
 .kp-summary output{font-size:44px}
 .kp-summary h2{font-size:13px}
 .kp-devices{padding-top:4px;gap:12px}
 .kp-devices label{font-size:16px}
 .kp-devices small{font-size:12px}
 .kp-option{gap:12px;grid-template-columns:minmax(0,1fr) auto 22px}
 .kp-option strong{font-size:16px}
 .kp-option small{font-size:13px}
 .kp-option .kp-option-price{font-size:19px}
 .kp-option-price small{font-size:11px}
 .kp-module-link{min-height:44px;font-size:12px}
 .kp-comparison{padding:24px;gap:18px}
 .kp-comparison h2{font-size:29px}
 .kp-comparison p{font-size:16px}
 .kp-comparison-action .button{width:100%;max-width:none;font-size:15px;min-height:52px}
 .kp-comparison-action>span{font-size:14px}
 .kp-included{padding-block:40px}
 .kp-included h2{font-size:28px}
 .kp-included-grid ul{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.kp-presets button{transition:none}}
/* The test button fills the lower right of the price card. The help bubble covered it, and on the left it covered the module rows. Phone and mail stay in the footer. */
body:has(.kp-summary) .sup{display:none}

/* Compact introduction: show the configuration in the first viewport. */
.kp-intro{padding-top:30px;padding-bottom:24px}.kp-intro .eyebrow{margin-bottom:8px}.kp-intro h1{font-size:clamp(30px,3vw,42px);max-width:none;line-height:1.15}.kp-intro>p{font-size:17px;max-width:none;margin:10px 0 8px}.kp-intro>.text-link{font-size:15px;min-height:36px}.kp-config{padding-top:0}
@media(max-width:760px){.kp-intro{padding-top:24px;padding-bottom:20px}.kp-intro h1{font-size:30px}.kp-intro>p{font-size:16px}.kp-config-head{align-items:start}.kp-config-head h2{font-size:23px}.kp-config-head>span{max-width:14ch;text-align:right}}

/* On mobile, select modules first; the existing total dock stays available. */
@media(max-width:900px){.kp-summary{order:0}}@media(max-width:760px){.kp-config-head>span{max-width:none;text-align:left}}

/* Separate TSE payment choices from the free POS setup. */
.kp-setup-band{background:var(--soft);margin-block:0 32px;scroll-margin-top:94px}
.kp-setup{padding-block:40px 30px}
.kp-setup-head .eyebrow{margin-bottom:12px}
.kp-setup-head h2{font-size:32px;line-height:1.15}
.kp-setup-head>p{max-width:780px;font-size:17px;line-height:1.55;margin-top:12px;color:var(--muted)}
.kp-setup-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:36px;margin-top:30px}
.kp-tse-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}
.kp-setup-label{display:block;color:var(--muted);font-size:12px;font-weight:700;margin-bottom:7px}
.kp-setup-layout h3{font-size:20px;line-height:1.3;margin:0}
.kp-setup .kp-setup-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px 9px;margin:12px 0 20px}
.kp-setup-price>strong{font-size:34px;line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:-.035em}
.kp-setup-price>span{font-size:14px;color:var(--muted)}
.kp-tse-options dl{display:grid;gap:14px;margin:0}
.kp-tse-options dt{font-size:14px;line-height:1.5;color:var(--muted)}
.kp-tse-options dd{font-size:16px;line-height:1.5;margin:2px 0 0;color:var(--ink);font-weight:700}
.kp-tse-options dd span{font-weight:500}
.kp-setup .kp-setup-terms{font-size:13px;line-height:1.5;color:var(--muted);margin-top:12px;max-width:28ch}
.kp-cash-setup{border-left:1px solid #bfaacb;padding-left:36px}
.kp-cash-setup>p:not(.kp-setup-price){font-size:15px;line-height:1.55;color:var(--muted)}
.kp-setup-service{margin-top:16px}
.kp-setup-service strong{display:block;color:var(--ink);font-size:15px;margin-bottom:5px}
.kp-cash-setup .text-link{font-size:15px;min-height:44px;margin-top:8px}
.kp-setup .kp-setup-note{border-top:1px solid #cdbcd6;margin-top:26px;padding-top:16px;font-size:13px;line-height:1.6;color:var(--muted);max-width:none}
@media(max-width:900px){
 .kp-setup-layout{grid-template-columns:1fr;gap:26px}
 .kp-cash-setup{border-left:0;border-top:1px solid #cdbcd6;padding:24px 0 0}
 .kp-cash-setup .kp-setup-price{margin-bottom:12px}
}
@media(max-width:600px){
 .kp-setup-band{scroll-margin-top:70px;margin-bottom:12px}
 .kp-setup{padding-block:30px 24px}
 .kp-setup-head h2{font-size:28px}.kp-setup-head>p{font-size:16px}
 .kp-tse-options{grid-template-columns:1fr;gap:24px}
 .kp-tse-options>article+article{border-top:1px solid #cdbcd6;padding-top:24px}
 .kp-setup-price>strong{font-size:32px}
 .kp-setup .kp-setup-terms{max-width:none}
 .kp-cash-setup .text-link{width:100%;justify-content:space-between}
}

@media(max-width:600px){
 .kp-comparison{grid-template-columns:minmax(0,1fr)}
 .kp-compare-symbol{display:none}
 .kp-comparison-action{grid-column:auto}
 .kp-included-head{flex-direction:column;align-items:flex-start;gap:18px}
 .kp-included-price{display:flex;align-items:center;gap:20px;min-width:0}
 .kp-included-price>strong{font-size:72px}
 .kp-included-price>span{max-width:15ch}
 .kp-included-grid{grid-template-columns:1fr;gap:0}
 .kp-included-grid article{display:grid;grid-template-columns:40px minmax(0,1fr);gap:16px;padding-block:22px}
 .kp-included-grid article:first-child{padding-top:0}
 .kp-included-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}
 .kp-included-icon{margin:0}
 .kp-included-grid h3{margin-bottom:10px}
 .kp-included-grid ul{gap:7px}
 .kp-faq-band{margin-bottom:28px}
 .kp-faq-band .faq{padding-block:36px;gap:22px}
 .keksu-live .kp-faq-band .faq-list summary{font-size:17px;min-height:64px;gap:16px}
}

/* Preisaufschlüsselung: lange Kostenbezeichnung umbrechen, Betrag zusammenhalten. */
.kp-summary .kr-price-breakdown dt{min-width:0}
.kp-summary .kr-price-breakdown dd{flex-shrink:0;white-space:nowrap}

/* Einmalige Einrichtung klar von den laufenden Softwarekosten trennen. */
.kp-summary .kp-oneoff-heading{margin:20px 0 12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.3);font-size:17px;font-weight:800;line-height:1.4;letter-spacing:0;color:inherit}
.kp-summary .kp-oneoff-breakdown{margin-top:0}
