.hassia-tournament {
  --ht-primary: var(--wp--preset--color--primary, #1f2937);
  --ht-primary-dark: var(--wp--preset--color--contrast, #111827);
  --ht-accent: #d7a900;
  --ht-surface: #fff;
  --ht-soft: #f5f6f8;
  --ht-text: inherit;
  --ht-muted: #596273;
  color: var(--ht-text);
  margin: 1.5rem auto;
  max-width: 980px;
}
.hassia-tournament * { box-sizing: border-box; }
.hassia-hero { background: var(--ht-primary); border-radius: 1rem; color: #fff; padding: clamp(1.25rem, 5vw, 2rem); }
.hassia-hero h2 { color: inherit; font-size: clamp(1.75rem, 5vw, 2.6rem); line-height: 1.1; margin: .2rem 0 .75rem; }
.hassia-kicker { color: var(--ht-accent); font-size: .78rem; font-weight: 800; letter-spacing: .11em; margin: 0; text-transform: uppercase; }
.hassia-badge { background: rgba(255,255,255,.16); border-radius: 999px; display: inline-block; font-size: .9rem; font-weight: 700; margin: .5rem .5rem 0 0; padding: .4rem .75rem; }
.hassia-badge-warning { background: #fff1c9; color: #694a00; }
.hassia-facts { display: grid; gap: .75rem; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 1rem 0; }
.hassia-fact { background: var(--ht-surface); border: 1px solid color-mix(in srgb,var(--ht-primary) 22%,transparent); border-left: .3rem solid var(--ht-accent); border-radius: .7rem; padding: .85rem; }
.hassia-fact span { color: var(--ht-muted); display: block; font-size: .75rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.hassia-fact strong { display: block; margin-top: .2rem; overflow-wrap: anywhere; }
.hassia-content, .hassia-box { margin: 1.25rem 0; }
.hassia-box { background: var(--ht-surface); border: 1px solid color-mix(in srgb,var(--ht-primary) 22%,transparent); border-radius: 1rem; padding: clamp(1rem,4vw,1.5rem); }
.hassia-box h3 { color: var(--ht-primary); margin-top: 0; }
.hassia-form { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.hassia-form label { display: block; font-weight: 700; margin-bottom: .35rem; }
.hassia-form label span { color: var(--ht-muted); font-size: .8rem; font-weight: 400; }
.hassia-form input:not([type=checkbox]), .hassia-form textarea, .hassia-form select { background: #fff; border: 1px solid #b8c0cc; border-radius: .55rem; color: #111827; font: inherit; padding: .75rem; width: 100%; }
.hassia-form input:focus, .hassia-form textarea:focus, .hassia-form select:focus { box-shadow: 0 0 0 3px color-mix(in srgb,var(--ht-primary) 22%,transparent); outline: 2px solid var(--ht-primary); outline-offset: 1px; }
.hassia-full { grid-column: 1/-1; }
.hassia-consent { background: var(--ht-soft); border-radius: .55rem; padding: .8rem; }
.hassia-consent label { font-weight: 500; margin: 0; }
.hassia-consent input { margin-right: .4rem; }
.hassia-button { background: var(--ht-primary); border: 0; border-radius: .6rem; color: #fff; cursor: pointer; font: inherit; font-weight: 800; min-height: 44px; padding: .75rem 1.1rem; }
.hassia-button:hover { background: var(--ht-primary-dark); }
.hassia-button:focus-visible { outline: 3px solid var(--ht-accent); outline-offset: 3px; }
.hassia-note, .hassia-success, .hassia-warning, .hassia-error { border-left: .35rem solid var(--ht-accent); border-radius: .45rem; margin: 1rem 0; padding: .8rem 1rem; }
.hassia-note { background: var(--ht-soft); }
.hassia-success { background: #ecfdf3; border-color: #15803d; }
.hassia-warning { background: #fff8e1; border-color: #a16207; }
.hassia-error { background: #fff1f2; border-color: #b91c1c; }
.hassia-resource-list, .hassia-participants { list-style: none; margin: 0; padding: 0; }
.hassia-resource-list li { align-items: center; border-bottom: 1px solid #e5e7eb; display: flex; gap: .75rem; justify-content: space-between; padding: .7rem 0; }
.hassia-resource-list span { color: var(--ht-muted); font-size: .8rem; }
.hassia-participants { display: grid; gap: .6rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.hassia-participants li { background: var(--ht-soft); border-left: .25rem solid var(--ht-accent); border-radius: .4rem; padding: .65rem .8rem; }
.hassia-trap { height: 1px; left: -10000px; overflow: hidden; position: absolute; width: 1px; }
@media (max-width: 800px) { .hassia-facts { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 600px) {
  .hassia-facts, .hassia-form, .hassia-participants { grid-template-columns: 1fr; }
  .hassia-full { grid-column: auto; }
  .hassia-resource-list li { align-items: flex-start; flex-direction: column; }
}
