.home-calendar { margin:0 0 24px; padding:16px 18px; border:1px solid #806643; border-radius:3px; background:#101814; box-shadow:inset 0 1px #f0c5870d,0 4px 16px #0003; }
.home-calendar [hidden] { display:none !important; }
.home-calendar__header { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:12px; }
#content .home-calendar h2 { margin:4px 0 4px; color:#eee0c5; font:600 clamp(25px,2vw,30px)/1.1 var(--serif); }
.home-calendar__header p { margin:0; color:#bbb2a3; font-size:14px; line-height:1.45; }
.home-league { display:flex; align-items:center; gap:10px; margin:0 0 10px; padding:8px 10px; border:1px solid #6d593b; background:#191e16; color:#ead5ad; text-decoration:none; }
.home-league:hover { border-color:#c2a273; background:#22271b; }
.home-league:focus-visible { outline:2px solid #ebc888; outline-offset:2px; }
.home-league img { flex:none; width:42px; height:42px; object-fit:contain; }
.home-league > span:first-of-type { display:flex; flex:1; flex-wrap:wrap; align-items:baseline; gap:4px 12px; }
.home-league small { color:#d8c39e; font-size:13px; }
.home-league__more { font-size:13px; white-space:nowrap; }
.home-calendar__controls { display:flex; align-items:stretch; gap:5px; flex:none; }
.home-calendar__controls button, .home-calendar__controls select { min-height:40px; border:1px solid #806846; border-radius:2px; background:#211f19; color:#f1d7a7; font-family:inherit; font-size:14px; font-weight:600; line-height:1.2; }
.home-calendar__controls button { width:40px; cursor:pointer; font-size:24px; line-height:1; }
.home-calendar__controls select { width:144px; padding:7px 9px; cursor:pointer; }
.home-calendar__controls button:hover, .home-calendar__controls select:hover { border-color:#caa977; background:#382b1d; }
.home-calendar__controls button:focus-visible, .home-calendar__controls select:focus-visible, .home-calendar__fallback:focus-visible { outline:2px solid #ebc888; outline-offset:2px; }
.home-calendar__sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.home-calendar__fallback { padding:9px 12px; color:#e7cea0; border:1px solid #69573b; cursor:pointer; font-weight:600; }
.home-calendar__month + .home-calendar__month { margin-top:6px; }
.home-calendar--enhanced .home-calendar__fallback { display:none; }
.home-calendar__grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr); gap:10px; }
.home-calendar__events, .home-calendar__collection { min-width:0; padding:11px 12px; border:1px solid #5b4b33; background:#0a110f; }
.home-calendar__label { display:flex; justify-content:space-between; gap:10px; padding-bottom:9px; margin-bottom:12px; border-bottom:1px solid #58492f; color:#e2c58f; font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.home-calendar__label span:last-child { color:#a99d85; font-weight:500; letter-spacing:0; text-transform:none; }
.home-calendar__item { display:flex; align-items:flex-start; gap:10px; }
.home-calendar__event-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.home-calendar__event { min-width:0; }
.home-calendar__event-link { display:flex; align-items:center; gap:9px; height:100%; min-height:58px; padding:6px; border:1px solid #39392d; background:#121a16; color:inherit; text-decoration:none; }
.home-calendar__event-link:hover { border-color:#a88250; background:#1c241b; }
.home-calendar__event-link:focus-visible { outline:2px solid #ebc888; outline-offset:2px; }
.home-calendar__event-link > img { flex:none; width:42px; height:42px; padding:3px; border:1px solid #786141; background:#1a1711; object-fit:contain; }
.home-calendar__event-text { display:block; min-width:0; }
.home-calendar__event-title { display:block; color:#f0dfc1; font-size:14px; line-height:1.2; font-weight:700; overflow-wrap:anywhere; }
.home-calendar__event-link:hover .home-calendar__event-title { color:#fff1d5; }
.home-calendar__event-link .home-calendar__date { display:block; margin-top:3px; color:#d4b47f; font-size:12px; line-height:1.25; }
.home-calendar__extra { margin-top:4px; }
.home-calendar__extra > summary { padding:8px 0; color:#e9c894; font-size:13px; font-weight:600; cursor:pointer; }
.home-calendar__extra > summary:focus-visible { outline:2px solid #ebc888; outline-offset:2px; }
.home-calendar__item > img { flex:none; width:48px; height:48px; padding:4px; border:1px solid #786141; background:#1a1711; object-fit:contain; image-rendering:auto; }
.home-calendar__item > div { min-width:0; }
#content .home-calendar h3 { margin:0 0 4px; color:#f0dfc1; font:600 19px/1.2 var(--serif); }
.home-calendar__item p, .home-calendar__empty { margin:4px 0 0; color:#c8c0b3; font-size:14px; line-height:1.5; }
.home-calendar__date span { color:#a8c383; }
.home-calendar__stats { margin-top:8px; padding-top:8px; border-top:1px solid #3a3a2d; color:#d3c9b9; font-size:13px; line-height:1.4; }
.home-calendar__stats strong { color:#ebd3a7; }
.home-calendar__stats ul { display:grid; gap:4px; margin:6px 0 0; padding-left:18px; }
.home-calendar__stats li::marker { color:#b9965e; }
.home-calendar__how { margin-top:10px; padding-top:9px; border-top:1px solid #3a3a2d; color:#c9c1b4; font-size:14px; line-height:1.5; }
.home-calendar__how summary { color:#e9c894; cursor:pointer; font-weight:600; }
.home-calendar__how p { margin:7px 0 0; }
@media(max-width:760px) {
  .home-calendar { padding:16px; }
  .home-calendar__header { flex-wrap:wrap; align-items:start; gap:12px; }
  .home-calendar__grid { grid-template-columns:minmax(0,1fr); }
  .home-calendar__events, .home-calendar__collection { padding:13px; }
}
@media(max-width:380px) {
  .home-calendar { padding:13px; }
  .home-calendar__controls { width:100%; }
  .home-calendar__controls label { flex:1; }
  .home-calendar__controls select { width:100%; }
}
@media(max-width:480px) {
  .home-league > span:first-of-type { display:grid; gap:2px; }
  .home-league__more { font-size:0; }
  .home-league__more::after { content:'→'; font-size:18px; }
  .home-calendar__event-list { grid-template-columns:minmax(0,1fr); }
  .home-calendar__event-link { min-height:50px; }
  .home-calendar__event-link > img { width:36px; height:36px; }
}

/* Calendar: two clear content bands instead of unequal-height columns. */
.inf-hero--home .inf-hero__copy > .clan-wordmark { font-size:clamp(42px,4.6vw,68px); line-height:1; font-weight:600; letter-spacing:-.03em; color:#f4ead7; text-shadow:1px 2px #825132,0 4px 4px #000; margin:0 0 8px; }
.bk-home { padding-top:20px; }
#content .bk-home-title { margin:0 0 16px; color:#eee0c5; font:600 clamp(24px,2vw,30px)/1.2 var(--serif); letter-spacing:.01em; }
.home-calendar { padding:20px 22px; }
.home-calendar__header { align-items:center; gap:20px; margin-bottom:16px; }
.home-calendar__header p { margin-top:6px; }
.home-calendar__controls button { width:44px; min-width:44px; min-height:44px; }
.home-league { margin-bottom:20px; padding:9px 12px; }
.home-calendar .home-calendar__grid { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; align-items:start; }
.home-calendar__events, .home-calendar__collection { padding:0; border:0; background:transparent; }
.home-calendar__label { align-items:center; margin:0 0 12px; padding:0 0 9px; border-color:#574b35; }
.home-calendar__event-list { grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:10px; }
.home-calendar__event-link { gap:12px; min-height:66px; padding:10px 12px; border-color:#403d2d; background:#151d17; }
.home-calendar__event-link::after { content:'\2192'; margin-left:auto; padding-left:8px; color:#ae9772; font-size:17px; }
.home-calendar__event-link:hover::after { color:#f0d7aa; }
.home-calendar__event-link > img { width:44px; height:44px; }
.home-calendar__event-title { font-size:15px; line-height:1.3; }
.home-calendar__event-link .home-calendar__date { margin-top:4px; line-height:1.4; }
.home-calendar__extra { margin-top:8px; }
.home-calendar__collection { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:28px; row-gap:12px; padding-top:18px; border-top:1px solid #574b35; }
.home-calendar__collection .home-calendar__label { grid-column:1 / -1; margin:0; padding:0; border:0; }
.home-calendar__item { gap:12px; }
.home-calendar__item > img { width:48px; height:48px; }
.home-calendar__stats { margin:0; padding:0; border:0; }
.home-calendar__stats ul { margin-top:5px; }
.home-calendar__how { grid-column:1 / -1; margin:0; padding:10px 0 0; }
.home-calendar__how summary { min-height:28px; }
.home-calendar__empty { margin:0; }
@media (min-width:761px) and (max-width:1200px) {
  .inf-hero--home .inf-hero__copy > .clan-wordmark { font-size:58px; }
}
@media (min-width:761px) and (max-width:1000px) {
  .inf-hero--home .inf-hero__copy > .clan-wordmark { font-size:44px; }
}
@media(max-width:760px) {
  .inf-hero--home .inf-hero__copy > .clan-wordmark { font-size:clamp(31px,8.3vw,53px); letter-spacing:-.04em; margin-bottom:9px; }
  .bk-home { padding-top:16px; }
  #content .bk-home-title { margin-bottom:12px; font-size:24px; }
  .home-calendar { padding:16px; }
  .home-calendar__header { align-items:flex-start; gap:12px; }
  .home-calendar .home-calendar__grid { gap:16px; }
  .home-calendar__collection { grid-template-columns:minmax(0,1fr); gap:12px; padding-top:16px; }
  .home-calendar__collection .home-calendar__label, .home-calendar__how { grid-column:auto; }
}
@media(max-width:480px) {
  .home-calendar__event-list { grid-template-columns:minmax(0,1fr); }
  .home-calendar__event-link { min-height:58px; padding:8px 10px; }
  .home-calendar__event-link > img { width:40px; height:40px; }
}
@media(max-width:380px) { .home-calendar { padding:14px; } }

/* Compact overview; complete collection details live on their own pages. */
.home-calendar { padding:14px 18px; }
.home-calendar__header { align-items:center; margin-bottom:8px; }
#content .home-calendar h2 { margin:0; font-size:clamp(21px,1.7vw,25px); line-height:1.2; }
.home-league { min-height:44px; gap:9px; margin:0 0 10px; padding:5px 10px; }
.home-league img { width:32px; height:32px; }
.home-calendar .home-calendar__grid { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:18px; }
.home-calendar__events, .home-calendar__collection { min-width:0; }
.home-calendar__label { min-height:16px; margin:0 0 7px; padding:0; border:0; font-size:11px; }
.home-calendar__label span:only-child { color:#e2c58f; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.home-calendar__event-list { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
.home-calendar__event-list--few { grid-template-columns:minmax(0,1fr); }
.home-calendar__event-link { min-height:44px; gap:9px; padding:5px 7px; }
.home-calendar__event-link::after { content:none; }
.home-calendar__event-link > img { width:32px; height:32px; padding:2px; }
.home-calendar__event-title { font-size:14px; line-height:1.2; }
.home-calendar__event-link .home-calendar__date { margin-top:2px; font-size:12px; line-height:1.25; }
.home-calendar__extra { margin-top:4px; }
.home-calendar__extra > summary { min-height:36px; padding:8px 0; }
.home-calendar__collection { display:block; padding:0 0 0 18px; border:0; border-left:1px solid #574b35; }
.home-calendar__collection .home-calendar__label { margin:0 0 7px; }
.home-calendar__item { gap:10px; }
.home-calendar__item > img { width:40px; height:40px; padding:3px; }
#content .home-calendar h3 { font-size:18px; margin:0 0 3px; }
.home-calendar__item h3, .home-calendar__highlight { overflow-wrap:anywhere; }
.home-calendar__item p { margin:0; font-size:13px; line-height:1.35; }
.home-calendar__item p.home-calendar__highlight { margin-top:4px; color:#dbc8aa; font-size:12px; }
.home-calendar__collection-link { display:inline-flex; align-items:center; gap:7px; min-height:32px; margin-top:2px; color:#e9c894; font-size:13px; font-weight:600; }
.home-calendar__collection-link:hover { color:#fff0d3; }
.home-calendar__collection-link:focus-visible { outline:2px solid #ebc888; outline-offset:2px; }
@media(max-width:760px) {
  .home-calendar { padding:14px; }
  .home-calendar .home-calendar__grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .home-calendar__collection { padding:12px 0 0; border-left:0; border-top:1px solid #574b35; }
  .home-calendar__collection-link { min-height:44px; }
  .home-calendar__extra > summary { min-height:44px; }
}
@media(max-width:480px) {
  .home-calendar__event-list { grid-template-columns:minmax(0,1fr); }
  .home-calendar__event-link { min-height:44px; }
  .home-calendar__event-link > img { width:32px; height:32px; }
}
