/*
 * NhPanel – Dedicated-Server: Server-Suche (/category/dedicated-server-1), Themenseiten (/dedicated-server/<thema>) und
 * die Server-Karte, die beide zeigen. Vorlagen: Resources/views/dedicated/*.twig, Verhalten: dedicated-finder.js.
 *
 * Darstellung: sachlich und technisch wie ein Datenblatt (Vorgabe des Inhabers vom 11.10.2026: „technisch, aber nicht
 * verspielt“). Keine Zeichnungen, nichts Gedrehtes, keine Leuchteffekte: weiße Flächen, feine Linien, klare Spalten.
 * Beschriftungen in JetBrains Mono, alles andere in der Schrift der Website, Zahlen in fester Breite.
 * Alle Regeln unter .nhd gekapselt; Überschriften mit !important, weil das Theme sie sonst umstellt.
 */
@font-face{font-family:"NH Sans";src:url("/themes/hw/booking/fonts/dm-sans-v17-latin-regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"NH Sans";src:url("/themes/hw/booking/fonts/dm-sans-v17-latin-500.woff2") format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"NH Sans";src:url("/themes/hw/booking/fonts/dm-sans-v17-latin-700.woff2") format("woff2");font-weight:600 800;font-display:swap}
@font-face{font-family:"NH Mono";src:url("/assets/fonts/system/jetbrains-mono/jetbrains-mono-v24-latin-600.woff2") format("woff2");font-weight:600;font-display:swap}

.nhd{--d-ink:#0b1020;--d-ink2:#2b354b;--d-muted:#5a6478;--d-line:#dde2ec;--d-soft:#f6f7fb;--d-accent:#4f46e5;--d-accent-d:#4038c7;
  --d-sans:"NH Sans","DM Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;--d-mono:"NH Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color:var(--d-ink);font:16px/1.6 var(--d-sans);text-align:left}
.nhd *,.nhd *::before,.nhd *::after{box-sizing:border-box}
/* Grundabstände ohne Gewicht (:where), damit jede Klasse unten sie überschreiben kann */
:where(.nhd) :where(h1,h2,h3,p,dl,dd,ul,ol){margin:0}
:where(.nhd) a{color:inherit}
.nhd h1,.nhd h2,.nhd h3{font-family:var(--d-sans)!important;color:var(--d-ink);text-transform:none}
.nhd :is(a,button,input,select,summary):focus-visible{outline:3px solid #8179ed;outline-offset:3px;border-radius:4px}
.nhd-wrap{max-width:1240px;margin:0 auto;padding:0 24px}
.nhd-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.nhd-eyebrow{display:block;font:600 11px/1 var(--d-mono);letter-spacing:.09em;text-transform:uppercase;color:var(--d-accent);margin:0 0 12px}
.nhd-flag{display:inline-block;width:18px;height:11px;border-radius:1px;box-shadow:0 0 0 1px rgba(11,16,32,.16);vertical-align:-1px;margin-right:8px;flex:0 0 auto}
/* Themenseiten liegen im schmalen Seitenrahmen des Themes – die Abschnitte sollen über die ganze Breite laufen */
main.page-main:has(> .nhd-page){max-width:none;padding-left:0;padding-right:0}

/* ---- Knöpfe ---- */
.nhd-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:46px;padding:11px 16px;border:1px solid var(--d-accent);border-radius:8px;background:var(--d-accent);color:#fff!important;font:650 14.5px/1.2 var(--d-sans);text-decoration:none!important;cursor:pointer;transition:background-color .15s,border-color .15s}
.nhd-btn:hover{background:var(--d-accent-d);border-color:var(--d-accent-d)}
.nhd-btn--big{min-height:52px;padding:14px 20px;font-size:16px}
.nhd-btn--ghost{background:#fff;color:var(--d-ink)!important;border-color:#c5ccdb}
.nhd-btn--ghost:hover{background:#fff;border-color:var(--d-ink)}

/* ---- Seitenkopf ---- */
.nhd-head{background:var(--d-soft);border-bottom:1px solid var(--d-line);padding:34px 0 56px}
.nhd-head__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:64px;align-items:center}
.nhd-crumbs{display:flex;flex-wrap:wrap;gap:8px;font-size:13.5px;color:var(--d-muted);margin:0 0 30px}
.nhd-crumbs a{color:var(--d-muted);text-decoration:none}
.nhd-crumbs a:hover{color:var(--d-ink);text-decoration:underline}
.nhd-crumbs [aria-current]{color:var(--d-ink);font-weight:600}
.nhd-head h1{font-size:clamp(2.1rem,4.2vw,3.3rem);font-weight:700;line-height:1.1;letter-spacing:-.035em;margin:0 0 18px;max-width:14em;text-wrap:balance}
.nhd-lead{font-size:1.12rem;line-height:1.62;color:var(--d-ink2);max-width:33em}
.nhd-count{display:flex;align-items:center;gap:10px;margin:24px 0 0;font:600 13.5px/1.4 var(--d-mono);color:var(--d-ink)}
.nhd-count[hidden]{display:none}
.nhd-count::before{content:"";width:8px;height:8px;background:#17915a;flex:0 0 auto}
.nhd-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}
.nhd-ticks{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;margin:26px 0 0;padding:0;font-size:14px;color:var(--d-ink2)}
.nhd-ticks li{display:flex;align-items:center;gap:8px}
.nhd-ticks li::before{content:"";width:12px;height:6px;border-left:2px solid #17915a;border-bottom:2px solid #17915a;transform:rotate(-45deg) translateY(-2px);flex:0 0 auto}

/* ---- „Gerade frei“: Tabelle im Kopf ---- */
.nhd-top{background:#fff;border:1px solid var(--d-line);border-radius:10px;overflow:hidden}
.nhd-top__head{display:flex;justify-content:space-between;gap:16px;padding:13px 20px 12px;background:#fbfcfe;border-bottom:1px solid var(--d-line);font:600 11px/1 var(--d-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted)}
.nhd-top__rows{list-style:none;margin:0;padding:0}
.nhd-top__rows li+li{border-top:1px solid var(--d-line)}
.nhd-top__row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px 22px;min-height:76px;padding:15px 20px;color:var(--d-ink)!important;text-decoration:none!important;transition:background-color .15s}
a.nhd-top__row:hover{background:var(--d-soft)}
.nhd-top__text{display:grid;gap:3px;min-width:0}
.nhd-top__pick{font:600 10.5px/1.2 var(--d-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--d-accent)}
.nhd-top__name{font-size:16.5px;font-weight:700;line-height:1.25;letter-spacing:-.015em;overflow-wrap:anywhere}
.nhd-top__spec{font-size:13px;line-height:1.4;color:var(--d-muted)}
.nhd-top__price{white-space:nowrap;text-align:right;line-height:1}
.nhd-top__price b{font-size:21px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nhd-top__price span{font:600 11px/1 var(--d-mono);color:var(--d-muted)}
.nhd-top__more{display:block;padding:13px 20px;border-top:1px solid var(--d-line);background:#fbfcfe;font-size:14px;font-weight:650;color:var(--d-accent)!important;text-decoration:none!important}
.nhd-top__more:hover{text-decoration:underline!important}
.nhd-top--empty .nhd-top__name{width:52%;height:16px;background:#eceff5}
.nhd-top--empty .nhd-top__spec{width:78%;height:11px;background:#f1f3f8;margin-top:6px}

/* ---- Server-Karte ---- */
.nhd-cards{display:grid;gap:14px}
.nhd-card{display:grid;grid-template-columns:minmax(0,1fr) 264px;background:#fff;border:1px solid var(--d-line);border-radius:10px;overflow:hidden;transition:border-color .15s}
.nhd-card:hover{border-color:#a9a5ea}
.nhd-card__main{padding:20px 24px 22px;min-width:0}
.nhd-card__top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 18px;margin:0 0 10px;font-size:13px;color:var(--d-muted)}
.nhd-card__loc{display:inline-flex;align-items:center}
.nhd-card__pick{font:600 10.5px/1.2 var(--d-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--d-accent)}
.nhd-card h3{font-size:22px;font-weight:700;letter-spacing:-.025em;line-height:1.22;overflow-wrap:anywhere}
.nhd-card__cpu{margin:4px 0 0;font-size:14px;color:var(--d-muted)}
.nhd-card__specs{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr) minmax(0,1.1fr) minmax(0,1.2fr);gap:14px 28px;margin:18px 0 0;padding-top:16px;border-top:1px solid #eceff5}
.nhd-card__specs dt{font:600 10px/1.2 var(--d-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--d-muted);margin:0 0 6px}
.nhd-card__specs dd{margin:0;font-size:15px;font-weight:650;line-height:1.4;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.nhd-bar{display:block;height:4px;margin:7px 0 6px;background:#e6e9f2;overflow:hidden}
.nhd-bar i{display:block;height:100%;background:var(--d-accent)}
.nhd-card__single{display:block;font-size:12.5px;font-weight:400;color:var(--d-muted)}
.nhd-card__buy{display:flex;flex-direction:column;justify-content:center;padding:20px 22px;background:#fbfcfe;border-left:1px solid var(--d-line)}
.nhd-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 7px;line-height:1}
.nhd-price strong{font-size:29px;font-weight:700;line-height:1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--d-ink)}
.nhd-price__from{flex-basis:100%;font:600 11px/1 var(--d-mono);letter-spacing:.06em;color:var(--d-muted);margin-bottom:6px}
.nhd-price__per{font-size:13.5px;color:var(--d-muted);white-space:nowrap}
.nhd-price__note{margin:9px 0 0;font-size:12.5px;line-height:1.45;color:var(--d-ink2)}
.nhd-price__note--terms{color:var(--d-muted);font-size:11.5px}
.nhd-card .nhd-btn{margin-top:16px;width:100%}

/* ---- Server-Suche ---- */
.nhd-finder{max-width:1380px;margin:0 auto;padding:44px 20px 76px;scroll-margin-top:90px;font-size:14px;line-height:1.5}
.nhd-finder button,.nhd-finder input,.nhd-finder select{font:inherit;color:var(--d-ink)}
.nhd-finder select{cursor:pointer;border:1px solid var(--d-line);border-radius:7px;background:#fff;padding:9px 12px;min-height:40px}
.nhd-f__head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding-bottom:26px;border-bottom:1px solid var(--d-line);margin-bottom:28px}
.nhd-f__head h2{font-size:clamp(1.7rem,3vw,2.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin:0 0 8px}
.nhd-f__head p{color:var(--d-muted);font-size:15.5px;max-width:36em}
.nhd-f__search{display:flex;gap:12px;align-items:center;border:1px solid #c5ccdb;border-radius:8px;background:#fff;padding:0 16px;width:min(460px,46%);min-height:50px;margin:0;color:var(--d-muted)}
.nhd-f__search input{width:100%;min-width:0;border:0;outline:0;background:transparent;padding:12px 0;font-size:15px}
.nhd-f__search:focus-within{border-color:var(--d-accent);box-shadow:0 0 0 3px rgba(79,70,229,.16)}
.nhd-f__layout{display:grid;grid-template-columns:264px minmax(0,1fr);gap:28px;align-items:start}
.nhd-f__side{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow:auto;scrollbar-width:thin;border:1px solid var(--d-line);border-radius:10px;background:#fff;padding:18px 20px;margin:0}
.nhd-f__sidehead{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding-bottom:12px}
.nhd-f__sidehead strong{font-size:17px}
.nhd-f__sidehead button{padding:2px 0;border:0;background:none;color:var(--d-accent);font-size:12.5px;min-height:30px;cursor:pointer}
.nhd-f__side fieldset{border:0;border-top:1px solid var(--d-line);margin:0;padding:14px 0;min-width:0}
.nhd-f__side legend{float:none;width:auto;font:600 10.5px/1.2 var(--d-mono);letter-spacing:.07em;text-transform:uppercase;color:var(--d-muted);margin:0 0 8px;padding:12px 0 0}
.nhd-f__check{display:flex;align-items:center;gap:9px;padding:5px 0;margin:0;cursor:pointer;min-height:32px;font-size:14px}
.nhd-f__check input{accent-color:var(--d-accent);width:16px;height:16px;margin:0;flex-shrink:0;cursor:pointer}
.nhd-f__check .nhd-flag{margin-right:6px}
.nhd-f__check small,.nhd .nhd-f__check small{margin-left:auto;color:var(--d-muted);font:600 11px/1 var(--d-mono)!important;font-variant-numeric:tabular-nums}
.nhd-f__side select{width:100%;font-size:14px}
.nhd-f__hint{font-size:11.5px;line-height:1.5;color:var(--d-muted);margin:12px 0 0}
.nhd-f__bar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;margin-bottom:14px}
.nhd-f__bar p{font:600 13px/1.3 var(--d-mono);margin:0}
.nhd-f__bar label{display:flex;align-items:center;gap:10px;color:var(--d-muted);margin:0;font-size:13px}
.nhd-f__empty{padding:40px 24px;border:1px dashed #b9c3da;border-radius:10px;background:#fff}
.nhd-f__empty h3{font-size:20px;font-weight:700;margin:0 0 8px}
.nhd-f__empty p{color:var(--d-muted);margin:0 0 18px}
.nhd-f__more{display:flex;margin:24px auto 0}
.nhd-f__more[hidden]{display:none}
.nhd-f__toggle{display:none}

/* ---- Themenseite: Text und „Worauf es ankommt“ ---- */
.nhd-text{padding:64px 0 60px;background:#fff}
.nhd-text__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:64px;align-items:start}
.nhd-text__body p{font-size:1.08rem;line-height:1.72;color:var(--d-ink2);max-width:34em}
.nhd-text__body p+p{margin-top:1.1em}
.nhd-arrow{display:inline-flex;gap:8px;font-weight:650;color:var(--d-accent)!important;text-decoration:underline!important;text-underline-offset:4px}
.nhd-points h2{font:600 11px/1 var(--d-mono)!important;letter-spacing:.09em;text-transform:uppercase;color:var(--d-accent);margin:6px 0 4px;padding-bottom:14px;border-bottom:2px solid var(--d-ink)}
.nhd-points ol{list-style:none;counter-reset:nhd;margin:0;padding:0}
.nhd-points li{counter-increment:nhd;display:grid;grid-template-columns:46px minmax(0,1fr);gap:0 6px;padding:20px 0;border-bottom:1px solid var(--d-line)}
.nhd-points li::before{content:counter(nhd,decimal-leading-zero);grid-row:1/3;font:600 13px/1.9 var(--d-mono);color:var(--d-muted)}
.nhd-points h3{font-size:18px;font-weight:700;letter-spacing:-.015em;line-height:1.3;margin:0 0 6px}
.nhd-points p{color:var(--d-muted);line-height:1.62}

/* ---- Themenseite: Liste ---- */
.nhd-list{padding:58px 0 66px;background:var(--d-soft);border-top:1px solid var(--d-line);border-bottom:1px solid var(--d-line);scroll-margin-top:80px}
.nhd-list h2{font-size:clamp(1.5rem,2.7vw,2rem);font-weight:700;letter-spacing:-.03em;line-height:1.2;max-width:28em}
.nhd-list__lead{color:var(--d-muted);margin:10px 0 28px;max-width:44em}
.nhd-list__more{margin:26px 0 0}

/* ---- Datenblatt „Das gehört zu jedem Server“ ---- */
.nhd-sheet{padding:68px 0 26px;background:#fff}
.nhd-sheet h2,.nhd-faq h2,.nhd-topics h2{font-size:clamp(1.55rem,2.9vw,2.1rem);font-weight:700;letter-spacing:-.03em;line-height:1.16}
.nhd-sheet__rows{columns:2;column-gap:56px;margin:30px 0 0;padding:0;border-top:2px solid var(--d-ink)}
.nhd-sheet__rows>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:0 18px;padding:16px 0;border-bottom:1px solid var(--d-line);break-inside:avoid}
.nhd-sheet__rows dt{font:600 11px/1.5 var(--d-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--d-ink);padding-top:3px}
.nhd-sheet__rows dd{margin:0;color:var(--d-ink2);line-height:1.6}
.nhd-sheet__links{display:flex;flex-wrap:wrap;gap:6px 22px;margin:18px 0 0;font-size:13.5px}
.nhd-sheet__links a{color:var(--d-muted);text-decoration:underline;text-underline-offset:3px}
.nhd-sheet__links a:hover{color:var(--d-ink)}

/* ---- Fragen ---- */
.nhd-faq{padding:54px 0 64px;background:#fff}
.nhd-faq__grid{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:56px;align-items:start}
.nhd-faq__list{border-top:2px solid var(--d-ink)}
.nhd-faq details{border-bottom:1px solid var(--d-line)}
.nhd-faq summary{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 0;cursor:pointer;list-style:none;font-size:17px;font-weight:650;line-height:1.4}
.nhd-faq summary::-webkit-details-marker{display:none}
.nhd-faq summary::after{content:"+";flex:0 0 auto;font:400 24px/1 var(--d-sans);color:var(--d-accent)}
.nhd-faq details[open] summary::after{content:"–"}
.nhd-faq details p{padding:0 44px 20px 0;color:var(--d-ink2);line-height:1.68;max-width:46em}

/* ---- Themen-Übersicht ---- */
.nhd-topics{padding:58px 0 72px;background:var(--d-soft);border-top:1px solid var(--d-line)}
.nhd-topics__lead{color:var(--d-muted);margin:10px 0 0;max-width:42em}
.nhd-topics__cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 34px;margin:30px 0 0}
.nhd-topics h3{font:600 11px/1.2 var(--d-mono)!important;letter-spacing:.08em;text-transform:uppercase;color:var(--d-muted);margin:0 0 4px;padding-bottom:10px;border-bottom:2px solid var(--d-ink)}
.nhd-topics ul{list-style:none;margin:0;padding:0}
.nhd-topics li a{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--d-line);font-weight:600;text-decoration:none}
.nhd-topics li a::after{content:"→";color:var(--d-accent)}
.nhd-topics li a:hover{color:var(--d-accent)}
.nhd-topics li a[aria-current]{color:var(--d-muted)}
.nhd-topics li a[aria-current]::after{content:""}
.nhd-topics__more{display:flex;flex-wrap:wrap;gap:8px 24px;margin:26px 0 0;font-size:14.5px}
.nhd-topics__more a{color:var(--d-accent);font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* ---- kleinere Bildschirme ---- */
@media(max-width:1180px){.nhd-card__specs{grid-template-columns:repeat(2,minmax(0,1fr))}.nhd-head__grid{gap:40px;grid-template-columns:minmax(0,1fr) minmax(0,440px)}}
@media(max-width:1020px){
  .nhd-head__grid{grid-template-columns:minmax(0,1fr)}
  .nhd-head__rack{max-width:600px}
  .nhd-text__grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .nhd-faq__grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .nhd-topics__cols{grid-template-columns:repeat(2,minmax(0,1fr))}
  .nhd-f__layout{grid-template-columns:240px minmax(0,1fr);gap:20px}
  .nhd-card{grid-template-columns:minmax(0,1fr)}
  .nhd-card__buy{border-left:0;border-top:1px solid var(--d-line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 20px;align-items:center}
  .nhd-card__buy>*{grid-column:1}
  .nhd-card__buy .nhd-btn{grid-column:2;grid-row:1/5;width:auto;margin:0;align-self:center}
}
@media(max-width:760px){
  .nhd-wrap{padding:0 18px}
  .nhd-head{padding:22px 0 40px}
  .nhd-crumbs{margin-bottom:20px}
  .nhd-lead{font-size:1.05rem}
  .nhd-actions .nhd-btn{flex:1 1 100%}
  .nhd-sheet__rows{columns:1}
  .nhd-sheet__rows>div{grid-template-columns:minmax(0,1fr);gap:4px}
  .nhd-text{padding:44px 0 40px}.nhd-list{padding:44px 0 50px}.nhd-sheet{padding:48px 0 14px}.nhd-faq{padding:40px 0 48px}.nhd-topics{padding:44px 0 52px}
  .nhd-faq details p{padding-right:0}
  .nhd-finder{padding:28px 14px 48px}
  .nhd-f__head{display:block}
  .nhd-f__search{width:100%;margin-top:18px}
  .nhd-f__layout{grid-template-columns:minmax(0,1fr);gap:14px}
  .nhd-f__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--d-line);border-radius:8px;background:#fff;font-weight:650;cursor:pointer}
  .nhd-f__toggle::after{content:"+";font:400 22px/1 var(--d-sans);color:var(--d-accent)}
  .nhd-f__toggle[aria-expanded=true]::after{content:"–"}
  .nhd-f__side{display:none;position:static;max-height:none}
  .nhd-f__side.is-open{display:block}
  .nhd-f__bar{flex-wrap:wrap}
  .nhd-card__main{padding:18px 16px}
  .nhd-card h3{font-size:20px}
  .nhd-card__specs{gap:14px 20px}
  .nhd-card__buy{display:flex;padding:18px 16px}
  .nhd-card__buy .nhd-btn{width:100%;margin-top:14px}
  .nhd-top__row{padding:14px 16px;gap:6px 14px}
  .nhd-top__head,.nhd-top__more{padding-left:16px;padding-right:16px}
  .nhd-top__name{font-size:15.5px}
  .nhd-top__price b{font-size:19px}
  .nhd-points li{grid-template-columns:38px minmax(0,1fr)}
}
@media(max-width:420px){.nhd-topics__cols{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.nhd *,.nhd *::before,.nhd *::after{transition:none!important}}
@media print{.nhd-card{break-inside:avoid}.nhd-btn{display:none}}
