/* HKC Wettkampfseite 1.6.3 */

.hkcw{--hkcw-red:#d40000;--hkcw-red-dark:#a30000;--hkcw-ink:#161922;--hkcw-text:#333;--hkcw-muted:#6a6a72;--hkcw-line:#e1e3e7;--hkcw-bg:#f5f6f8;--hkcw-radius:14px;--hkcw-card:#fff;--hkcw-shiro:#ffffff;--hkcw-aka:#d40000;--hkcw-ok:#1e7b34;--hkcw-warn:#b26a00;
  font-family:inherit;color:var(--hkcw-text);line-height:1.55;font-size:16px;box-sizing:border-box}
.hkcw *,.hkcw *::before,.hkcw *::after{box-sizing:border-box}
.hkcw h2{font-size:28px;line-height:1.2;margin:0 0 6px;color:var(--hkcw-ink)}
.hkcw h3{font-size:20px;line-height:1.25;margin:0 0 10px;color:var(--hkcw-ink)}
.hkcw h4{font-size:16px;margin:14px 0 6px;color:var(--hkcw-ink)}
.hkcw p{margin:0 0 10px}
.hkcw ul,.hkcw ol{margin:0 0 10px;padding-left:20px}
.hkcw li{margin:2px 0}
.hkcw small,.hkcw .hkcw-muted{color:var(--hkcw-muted)}
.hkcw-section{padding:40px 0;scroll-margin-top:110px}
.hkcw-section+.hkcw-section{border-top:1px solid var(--hkcw-line)}
.hkcw-kicker{display:inline-block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--hkcw-red);font-weight:700;margin-bottom:4px}
.hkcw-lead{font-size:17px;color:var(--hkcw-muted);max-width:820px;margin-bottom:22px}

/* Hero + Navigation */
.hkcw-hero{background:#f7f7f7;color:var(--hkcw-ink);border:1px solid var(--hkcw-line);padding:44px 32px;border-radius:var(--hkcw-radius);position:relative;overflow:hidden}
.hkcw-hero::after{content:"試合";position:absolute;right:20px;bottom:-30px;font-size:160px;line-height:1;color:rgba(212,0,0,.07);font-weight:700}
.hkcw-hero h1{color:var(--hkcw-ink);font-size:36px;line-height:1.15;margin:0 0 8px}
.hkcw-hero p{color:var(--hkcw-muted);max-width:700px;margin:0}
.hkcw-hero .hkcw-kicker{color:var(--hkcw-red)}
.hkcw-nav{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--hkcw-line);display:flex;flex-wrap:wrap;gap:4px;padding:8px 0;margin-top:14px}
.hkcw-nav a{display:inline-block;padding:9px 14px;border-radius:10px;text-decoration:none!important;color:var(--hkcw-ink)!important;font-weight:600;font-size:15px}
.hkcw-nav a:hover,.hkcw-nav a.is-active{background:var(--hkcw-red);color:#fff!important}
.hkcw-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:22px}
.hkcw-tile{display:block;background:var(--hkcw-card);border:1px solid var(--hkcw-line);border-top:4px solid var(--hkcw-red);border-radius:12px;padding:16px;text-decoration:none!important;color:var(--hkcw-ink)!important;transition:transform .15s,box-shadow .15s}
.hkcw-tile:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.08)}
.hkcw-tile strong{display:block;font-size:17px;margin-bottom:4px}
.hkcw-tile span{font-size:14px;color:var(--hkcw-muted)}

/* Karten / Raster */
.hkcw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}
.hkcw-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:16px}
.hkcw-card{background:var(--hkcw-card);border:1px solid var(--hkcw-line);border-radius:var(--hkcw-radius);padding:20px;box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.05)}
.hkcw-card>h3{border-left:4px solid var(--hkcw-red);padding-left:10px}
.hkcw-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:18px}
.hkcw-fact{background:var(--hkcw-bg);border:1px solid var(--hkcw-line);border-radius:12px;padding:12px 14px}
.hkcw-fact b{display:block;font-size:22px;color:var(--hkcw-red);line-height:1.2}
.hkcw-fact span{font-size:13px;color:var(--hkcw-muted)}
.hkcw-note{background:#fff7e6;border-left:4px solid var(--hkcw-warn);padding:10px 12px;border-radius:4px;font-size:14px;margin:10px 0}
.hkcw-src{font-size:12px;color:var(--hkcw-muted);margin-top:8px}

/* Akkordeon */
.hkcw details{background:var(--hkcw-card);border:1px solid var(--hkcw-line);border-radius:var(--hkcw-radius);margin:0 0 12px;overflow:hidden}
.hkcw details>summary{cursor:pointer;list-style:none;padding:14px 44px 14px 16px;font-weight:700;font-size:16px;position:relative}
.hkcw details>summary::-webkit-details-marker{display:none}
.hkcw details>summary::after{content:"+";position:absolute;right:16px;top:9px;font-size:24px;color:var(--hkcw-red);font-weight:400}
.hkcw details[open]>summary::after{content:"–"}
.hkcw details[open]>summary{border-bottom:1px solid var(--hkcw-line)}
.hkcw details>.hkcw-body{padding:14px 16px}

/* Tabellen */
.hkcw-table-wrap{overflow-x:auto;margin:0 0 10px}
.hkcw table.hkcw-table{width:100%;border-collapse:collapse;font-size:14px;margin:0}
.hkcw-table th,.hkcw-table td{border:1px solid var(--hkcw-line);padding:7px 9px;text-align:left;vertical-align:top}
.hkcw-table th{background:var(--hkcw-bg);font-weight:700}
.hkcw-table tr.is-top td{background:#fdf2f2}
.hkcw-chip{display:inline-block;padding:1px 8px;border-radius:20px;font-size:12px;font-weight:700;background:var(--hkcw-bg);border:1px solid var(--hkcw-line);white-space:nowrap}
.hkcw-chip.aka{background:var(--hkcw-aka);color:#fff;border-color:var(--hkcw-aka)}
.hkcw-chip.shiro{background:#fff;color:var(--hkcw-ink);border-color:#999}
.hkcw-chip.h{background:#eee}
.hkcw-filter{width:100%;max-width:360px;padding:8px 10px;border:1px solid #ccc;border-radius:4px;margin-bottom:10px;font-size:15px}

/* Formulare / Buttons */
.hkcw-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--hkcw-ink);background:#fff;color:var(--hkcw-ink);padding:9px 14px;border-radius:10px;font-weight:700;font-size:14px;cursor:pointer;line-height:1.2;font-family:inherit;text-transform:none;letter-spacing:0;margin:0;box-shadow:none}
.hkcw-btn:hover{background:var(--hkcw-bg)}
.hkcw-btn.primary{background:var(--hkcw-red);border-color:var(--hkcw-red);color:#fff}
.hkcw-btn.primary:hover{background:var(--hkcw-red-dark)}
.hkcw-btn.dark{background:var(--hkcw-ink);color:#fff}
.hkcw-btn.small{padding:5px 9px;font-size:13px}
.hkcw-btn:disabled{opacity:.4;cursor:not-allowed}
.hkcw-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.hkcw-field{display:flex;flex-direction:column;gap:3px;font-size:13px;font-weight:600;min-width:120px}
.hkcw-field input,.hkcw-field select,.hkcw input.hkcw-in,.hkcw select.hkcw-in{padding:7px 9px;border:1px solid #bbb;border-radius:4px;font-size:15px;font-family:inherit;background:#fff;color:var(--hkcw-ink);margin:0;height:auto;width:100%;box-shadow:none}
.hkcw-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:var(--hkcw-bg);border:1px solid var(--hkcw-line);padding:12px;border-radius:12px;margin-bottom:14px}
.hkcw-seg{display:inline-flex;border:1px solid var(--hkcw-ink);border-radius:10px;overflow:hidden}
.hkcw-seg button{border:0;background:#fff;padding:8px 12px;font-weight:700;cursor:pointer;font-family:inherit;font-size:14px;color:var(--hkcw-ink);margin:0}
.hkcw-seg button+button{border-left:1px solid var(--hkcw-ink)}
.hkcw-seg button.is-on{background:var(--hkcw-ink);color:#fff}

/* Kampfflächen-Grafik */
.hkcw-mat svg{width:100%;max-width:380px;height:auto;display:block;margin:0 auto}

/* ---------- Kumite-Rechner ---------- */
.hkcw-board{display:grid;grid-template-columns:1fr 210px 1fr;gap:12px;align-items:stretch}
.hkcw-side{border-radius:var(--hkcw-radius);padding:14px;border:2px solid var(--hkcw-line)}
.hkcw-side.shiro{background:#fff;border-color:#999}
.hkcw-side.aka{background:var(--hkcw-aka);color:#fff;border-color:var(--hkcw-aka)}
.hkcw-side.aka .hkcw-btn{border-color:#fff;background:transparent;color:#fff}
.hkcw-side.aka .hkcw-btn:hover{background:rgba(255,255,255,.15)}
.hkcw-side.aka .hkcw-field input{border-color:#fff}
.hkcw-side-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;gap:8px}
.hkcw-side-head .lbl{font-weight:800;font-size:20px;letter-spacing:.05em}
.hkcw-score{font-size:64px;font-weight:800;text-align:center;line-height:1;margin:6px 0}
.hkcw-score small{display:block;font-size:13px;font-weight:600;color:inherit;opacity:.8;margin-top:6px}
.hkcw-pen{display:grid;grid-template-columns:auto 1fr;gap:6px 8px;align-items:center;font-size:13px;margin-top:10px}
.hkcw-dots{display:flex;gap:4px}
.hkcw-dots i{display:inline-block;min-width:30px;padding:2px 4px;text-align:center;border-radius:3px;border:1px solid currentColor;font-style:normal;font-size:11px;font-weight:700;opacity:.3}
.hkcw-dots i.on{opacity:1;background:currentColor}
.hkcw-side.shiro .hkcw-dots i.on{color:var(--hkcw-ink)}
.hkcw-side.shiro .hkcw-dots i.on span{color:#fff}
.hkcw-side.aka .hkcw-dots i.on span{color:var(--hkcw-aka)}
.hkcw-center{background:var(--hkcw-ink);color:#fff;border-radius:var(--hkcw-radius);padding:12px;text-align:center;display:flex;flex-direction:column;gap:8px;justify-content:center}
.hkcw-clock{font-size:46px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}
.hkcw-clock.warn{color:#ffb020}
.hkcw-clock.over{color:#ff5a5f}
.hkcw-center .hkcw-btn{width:100%;border-color:#fff;background:transparent;color:#fff}
.hkcw-center .hkcw-btn.primary{background:var(--hkcw-red);border-color:var(--hkcw-red)}
.hkcw-phase{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#bbb}
.hkcw-banner{margin:12px 0;padding:14px;border-radius:12px;font-weight:700;font-size:18px;text-align:center;display:none}
.hkcw-banner.show{display:block}
.hkcw-banner.win-aka{background:var(--hkcw-aka);color:#fff}
.hkcw-banner.win-shiro{background:#fff;border:2px solid var(--hkcw-ink)}
.hkcw-banner.draw{background:#eee}
.hkcw-hantei{border:2px dashed var(--hkcw-ink);border-radius:var(--hkcw-radius);padding:14px;margin:12px 0;display:none}
.hkcw-hantei.show{display:block}
.hkcw-flags{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0}
.hkcw-flag{border:1px solid var(--hkcw-line);border-radius:6px;padding:8px}
.hkcw-flag .hkcw-seg button{padding:6px 10px}
.hkcw-flag .hkcw-seg button.is-on.s{background:#fff;color:var(--hkcw-ink);box-shadow:inset 0 0 0 3px var(--hkcw-ink)}
.hkcw-flag .hkcw-seg button.is-on.a{background:var(--hkcw-aka);color:#fff}
.hkcw-log{max-height:260px;overflow:auto;font-size:13px;border:1px solid var(--hkcw-line);border-radius:6px;padding:0;margin:0;list-style:none}
.hkcw-log li{padding:5px 10px;border-bottom:1px solid var(--hkcw-line);margin:0;display:flex;gap:10px}
.hkcw-log li b{font-variant-numeric:tabular-nums;min-width:44px}
.hkcw-tabs{display:flex;gap:4px;border-bottom:2px solid var(--hkcw-ink);margin-bottom:14px;flex-wrap:wrap}
.hkcw-tabs button{border:0;background:var(--hkcw-bg);padding:9px 14px;font-weight:700;cursor:pointer;border-radius:4px 4px 0 0;font-family:inherit;font-size:14px;color:var(--hkcw-ink);margin:0}
.hkcw-tabs button.is-on{background:var(--hkcw-ink);color:#fff}
.hkcw-pane{display:none}
.hkcw-pane.is-on{display:block}
.hkcw-team-total{font-weight:800}
.hkcw-win{color:var(--hkcw-ok);font-weight:800}

/* ---------- Kata-Rechner ---------- */
.hkcw-kata td input.hkcw-sc{width:58px;padding:5px 4px;text-align:center;border:1px solid #bbb;border-radius:3px;font-size:15px;font-variant-numeric:tabular-nums;margin:0;height:auto}
.hkcw-kata td input.hkcw-sc.cut{text-decoration:line-through;color:#999;background:#f3f3f3}
.hkcw-kata td input.hkcw-sc.bad{border-color:var(--hkcw-red);background:#fff0f0}
.hkcw-kata td input.hkcw-txt{width:100%;min-width:110px;padding:5px 6px;border:1px solid #bbb;border-radius:3px;font-size:14px;margin:0;height:auto}
.hkcw-kata td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.hkcw-kata td.rank{font-weight:800;font-size:18px;text-align:center}
.hkcw-kata tr.r1 td.rank{color:#b8860b}.hkcw-kata tr.r2 td.rank{color:#777}.hkcw-kata tr.r3 td.rank{color:#a0522d}
.hkcw-tie{font-size:11px;color:var(--hkcw-warn);font-weight:700;display:block}

@media (max-width:860px){
  .hkcw-board{grid-template-columns:1fr}
  .hkcw-center{order:-1}
  .hkcw-hero h1{font-size:28px}
  .hkcw-grid-2{grid-template-columns:1fr}
}
@media print{
  .hkcw-noprint,.hkcw-nav,#Header_wrapper,#Footer,#Top_bar{display:none!important}
  .hkcw-section{padding:10px 0}
  .hkcw details{border:0}
  .hkcw-side.aka{color:#000;background:#fff}
}

/* ---------- Bereichs-Tabs (1.1.0) ---------- */
.hkcw-tabs-on .hkcw-section[hidden]{display:none!important}
.hkcw-tabs-on .hkcw-section+.hkcw-section{border-top:0}
.hkcw-tabs-on .hkcw-section{padding-top:28px}
.hkcw-nav{gap:6px;padding:10px 0;margin-top:16px}
.hkcw-nav a{border:1px solid var(--hkcw-line);background:#fff}
.hkcw-nav a.is-active{background:var(--hkcw-red);border-color:var(--hkcw-red);color:#fff!important}
.hkcw-nav a:focus-visible{outline:2px solid var(--hkcw-ink);outline-offset:2px}
@media (max-width:600px){
  .hkcw-nav{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .hkcw-nav::-webkit-scrollbar{display:none}
  .hkcw-nav a{white-space:nowrap;flex:0 0 auto}
}

/* 1.4.1: Abstand der ersten Klappkachel zum Inhalt davor wie zwischen den Kacheln */
.hkcw-section > :not(details) + details,.hkcw-section .mcb-wrap :not(details) + details{margin-top:16px!important}

/* 1.6.0/1.6.1: Aufbau in BeBuilder (Bereiche = BeBuilder-Sections mit ID hkcw-… und Klasse "hkcw hkcw-section") */
.mcb-section.hkcw{background-color:transparent;padding-top:0!important;padding-bottom:0!important}
.mcb-section.hkcw .section_wrapper,.mcb-section.hkcw .mcb-wrap-inner{padding-top:0!important;padding-bottom:0!important}
.mcb-section.hkcw .mcb-column,.mcb-section.hkcw .mcb-column-inner,.mcb-section.hkcw .column_attr{margin-bottom:0!important;padding-top:0;padding-bottom:0}
.mcb-section.hkcw-section .mcb-column{padding-top:28px!important}
.mcb-section.hkcw .hkcw-navwrap .hkcw-nav{position:static}
/* 1.6.3: Kata-Rechner bündig links unter der Überschrift "Punktsystem" */
.hkcw .hkc-kata{margin-left:0!important;margin-right:0!important}
