/*
 * NhPanel – „VPS mit App bestellen“ auf /vps-apps (views/vps-app-order/*.twig, vps-app-order.js). Baut auf dedicated.css auf
 * (.nhd, Tokens --d-*, Knöpfe .nhd-btn). Knopf in der App-Karte + ein Dialog. Keine neuen Farben; Dunkelmodus über den
 * automatischen Zwilling (Support\DarkMode). Kein abgeschnittener Text: alles bricht um.
 */
.nha .nhvo-buy{margin:4px 0 0}
.nha .nhvo-buy__btn{width:100%;min-height:44px}

.nhvo-root{position:static}
.nhvo{position:fixed;inset:0;margin:auto;height:fit-content;width:min(640px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--d-line);border-radius:12px;background:#fff;color:var(--d-ink);box-shadow:0 18px 50px rgba(11,16,32,.22);overflow:hidden}
.nhvo[open]{display:flex;flex-direction:column}
.nhvo::backdrop{background:rgba(11,16,32,.5)}
.nhvo__form{display:flex;flex-direction:column;min-height:0;max-height:calc(100dvh - 26px);margin:0}
.nhvo__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--d-line)}
.nhvo__head h2{margin:0;font-size:19px!important;font-weight:700;line-height:1.3;letter-spacing:-.01em;overflow-wrap:anywhere}
.nhvo__x{flex:0 0 auto;width:44px;height:44px;margin:-8px -10px 0 0;border:0;background:transparent;color:var(--d-muted);font-size:26px;line-height:1;cursor:pointer;border-radius:8px}
.nhvo__x:hover{color:var(--d-ink)}
.nhvo__body{display:grid;gap:16px;padding:16px 20px;overflow-y:auto;min-height:0}
.nhvo__set{margin:0;padding:0;border:0;min-width:0}
.nhvo__set legend{margin:0 0 8px;padding:0;font:600 11px/1.4 var(--d-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--d-muted)}
.nhvo__plans{display:grid;gap:8px}
.nhvo__plan{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:4px 12px;min-height:56px;margin:0;padding:10px 14px;border:1px solid var(--d-line);border-radius:8px;cursor:pointer;transition:border-color .15s,background-color .15s}
.nhvo__plan:hover{border-color:#c5ccdb}
.nhvo__plan:has(input:checked){border-color:var(--d-accent);background:var(--d-soft)}
.nhvo__plan input{width:18px;height:18px;margin:0;accent-color:var(--d-accent)}
.nhvo__plan-main{display:grid;gap:2px;min-width:0}
.nhvo__plan-main b{font-size:15px;line-height:1.35}
.nhvo__plan-main small{font-size:13px;line-height:1.45;color:var(--d-ink2);overflow-wrap:anywhere}
.nhvo__plan .nhvo__why{color:var(--d-muted)}
.nhvo__price{font:600 14px/1.3 var(--d-mono);color:var(--d-ink);white-space:nowrap}
.nhvo__plan.is-off{cursor:not-allowed;background:#fbfcfe;opacity:.62}
.nhvo__plan.is-off b,.nhvo__plan.is-off .nhvo__price{color:var(--d-muted)}
.nhvo__none{margin:8px 0 0;font-size:13.5px;color:var(--d-muted)}
.nhvo__pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
.nhvo__seg{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--d-line);border-radius:8px;overflow:hidden}
.nhvo__seg label{position:relative;margin:0;cursor:pointer}
.nhvo__seg label+label{border-left:1px solid var(--d-line)}
.nhvo__seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.nhvo__seg span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;font-size:14.5px;font-weight:600;text-align:center;color:var(--d-ink2)}
.nhvo__seg input:checked+span{background:var(--d-soft);color:var(--d-ink);box-shadow:inset 0 -2px 0 var(--d-accent)}
.nhvo__seg input:focus-visible+span{outline:3px solid #8179ed;outline-offset:-3px}
.nhvo__hw{margin:-6px 0 0;font-size:13px;color:var(--d-muted)}
.nhvo__soft{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:baseline;padding:12px 0 0;border-top:1px solid var(--d-line)}
.nhvo__label{font:600 11px/1.6 var(--d-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--d-muted)}
.nhvo__soft-v{font-size:14.5px;line-height:1.5;overflow-wrap:anywhere}
.nhvo__soft-note{color:var(--d-ink2)}
.nhvo__foot{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 16px;padding:14px 20px 18px;border-top:1px solid var(--d-line);background:#fbfcfe}
.nhvo__total{margin:0;font-size:14px;color:var(--d-ink2)}
.nhvo__total b{font:700 18px/1.2 var(--d-mono);color:var(--d-ink)}
.nhvo__hint{grid-column:1;margin:0;font-size:13px;color:var(--d-muted)}
.nhvo__actions{grid-column:2;grid-row:1/3;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.nhvo__actions .nhd-btn{justify-content:center}
.nhvo__actions .nhd-btn:disabled{opacity:.55;cursor:not-allowed}
@media (max-width:560px){
  .nhvo__foot{grid-template-columns:minmax(0,1fr)}
  .nhvo__actions{grid-column:1;grid-row:auto;justify-content:stretch}
  .nhvo__actions .nhd-btn{flex:1 1 140px}
  .nhvo__body,.nhvo__head,.nhvo__foot{padding-left:16px;padding-right:16px}
}
