/* NFMSS Championship Calendar — v1.0.0 */
/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   NFMSS Championship Calendar — scoped CSS
   All rules prefixed .cal-wrap to avoid
   WordPress theme conflicts
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
.cal-wrap{font-family:'Barlow',sans-serif!important;max-width:900px!important;width:100%!important;margin:0 auto!important;padding:0 0 16px!important;box-sizing:border-box!important}
.cal-wrap *{box-sizing:border-box!important}
.cal-wrap p,.cal-wrap h1,.cal-wrap h2,.cal-wrap h3,.cal-wrap h4{margin:0;padding:0}

/* Section head */
.cal-wrap .cal-sh{padding-bottom:10px;border-bottom:2px solid #0d1f35;margin-bottom:16px}
.cal-wrap .cal-sh-title{font-size:18px!important;font-weight:800!important;color:#0d1f35!important;letter-spacing:.01em;display:block}
.cal-wrap .cal-sh-sub{font-size:12px!important;color:#6b7280!important;display:block;margin-top:3px}
.cal-wrap .cal-desc{font-size:13.5px!important;color:#6b7280!important;line-height:1.65!important;margin-bottom:18px!important;display:block}

/* CEO banner */
.cal-wrap .cal-ceo{background:#0d1f35!important;border-radius:10px;padding:15px 18px;margin-bottom:20px;display:flex!important;align-items:flex-start!important;gap:12px}
.cal-wrap .cal-ceo-icon{font-size:20px;flex-shrink:0;margin-top:1px;display:block}
.cal-wrap .cal-ceo h4{font-size:11.5px!important;font-weight:800!important;color:#C9A84C!important;letter-spacing:.07em;text-transform:uppercase;margin-bottom:5px!important;display:block}
.cal-wrap .cal-ceo p{font-size:12px!important;color:rgba(255,255,255,.78)!important;line-height:1.62!important;display:block}
.cal-wrap .cal-ceo strong{color:#C9A84C!important}

/* Legend */
.cal-wrap .cal-legend{display:flex!important;flex-wrap:wrap!important;gap:14px!important;margin-bottom:18px!important;padding:11px 15px!important;background:#fff!important;border:1px solid #e2dfd8!important;border-radius:10px!important}
.cal-wrap .cal-leg{display:flex!important;align-items:center!important;gap:6px!important;font-size:12px!important;font-weight:500!important;color:#0d1f35!important;line-height:1.2!important}
.cal-wrap .cal-dot{width:9px!important;height:9px!important;border-radius:50%!important;display:inline-block!important;flex-shrink:0!important;vertical-align:middle}

/* ── TAB SCROLL CONTAINER
   overflow-x:auto + nowrap = horizontal scroll on mobile
   Works in Twenty-Twenty-One, Astra, Divi, Elementor, GeneratePress ── */
.cal-wrap .cal-tabs-outer{width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-width:thin!important;margin-bottom:18px!important;padding-bottom:4px!important}
.cal-wrap .cal-tabs-outer::-webkit-scrollbar{height:3px}
.cal-wrap .cal-tabs-outer::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:2px}
.cal-wrap .cal-tabs{display:flex!important;flex-wrap:nowrap!important;gap:5px!important;width:max-content!important;min-width:100%!important}
.cal-wrap .cal-tab{font-size:11.5px!important;font-weight:600!important;padding:7px 13px!important;border-radius:20px!important;border:1.5px solid #e2dfd8!important;background:#fff!important;color:#6b7280!important;cursor:pointer!important;white-space:nowrap!important;font-family:'Barlow',sans-serif!important;line-height:1.2!important;transition:all .15s;outline:none!important;box-shadow:none!important}
.cal-wrap .cal-tab:hover{background:#f0f4ff!important;border-color:#0d1f35!important;color:#0d1f35!important}
.cal-wrap .cal-tab-active{background:#0d1f35!important;color:#fff!important;border-color:#C9A84C!important}

/* Panels */
.cal-wrap .cal-panel{display:none!important}
.cal-wrap .cal-panel.cal-active{display:block!important}

/* Sport header */
.cal-wrap .cal-sport-hd{background:linear-gradient(135deg,#0d1f35 0%,#1a3a70 100%)!important;border-radius:10px!important;padding:15px 18px!important;margin-bottom:13px!important;display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;justify-content:space-between!important;gap:10px!important}
.cal-wrap .cal-sport-name{font-size:17px!important;font-weight:800!important;color:#fff!important;line-height:1.2!important;display:block}
.cal-wrap .cal-sport-meta{font-size:11px!important;color:rgba(255,255,255,.62)!important;margin-top:3px!important;display:block;line-height:1.4!important}
.cal-wrap .cal-chips{display:flex!important;flex-wrap:wrap!important;gap:5px!important;align-items:center!important;padding-top:2px}
.cal-wrap .cal-chip{font-size:10.5px!important;font-weight:700!important;padding:3px 9px!important;border-radius:12px!important;white-space:nowrap!important;display:inline-block!important;line-height:1.4!important}
.cal-wrap .chip-a{background:rgba(21,128,61,.15)!important;color:#bbf7d0!important;border:1px solid rgba(21,128,61,.35)!important}
.cal-wrap .chip-b{background:rgba(37,99,235,.15)!important;color:#93c5fd!important;border:1px solid rgba(37,99,235,.3)!important}
.cal-wrap .chip-c{background:rgba(251,191,36,.15)!important;color:#fbbf24!important;border:1px solid rgba(251,191,36,.3)!important}

/* Priority bar */
.cal-wrap .cal-pbar{background:#EFF6FF!important;border:1px solid #BFDBFE!important;border-radius:8px!important;padding:9px 13px!important;margin-bottom:12px!important;font-size:11.5px!important;color:#0d1f35!important;font-weight:600!important;line-height:1.5!important;display:block}
.cal-wrap .cal-pbar span{color:#1a5c9a!important}

/* ── CARD GRID
   auto-fill minmax = responsive columns, no media queries needed ── */
.cal-wrap .cal-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))!important;gap:7px!important;margin-bottom:10px!important}
.cal-wrap .cal-card{background:#fff!important;border:1px solid #e2dfd8!important;border-radius:8px!important;padding:11px 13px!important;transition:box-shadow .15s}
.cal-wrap .cal-card:hover{box-shadow:0 3px 10px rgba(0,0,0,.07)!important}
.cal-wrap .cal-priority{border-color:rgba(201,168,76,.45)!important;background:#fffdf5!important}
.cal-wrap .cal-sname{font-size:12.5px!important;font-weight:700!important;color:#0d1f35!important;margin-bottom:2px!important;line-height:1.3!important;display:block}
.cal-wrap .cal-star{color:#C9A84C!important;margin-right:2px!important;font-style:normal!important}
.cal-wrap .cal-date{font-size:11.5px!important;font-weight:600!important;margin-bottom:2px!important;display:block}
.cal-wrap .cal-date.nov{color:#15803d!important}
.cal-wrap .cal-date.dec4{color:#1d4ed8!important}
.cal-wrap .cal-date.dec11{color:#b45309!important}
.cal-wrap .cal-venue{font-size:10.5px!important;color:#9ca3af!important;display:block}

/* Download strip */
.cal-wrap .cal-dl{background:#f8faff!important;border:1px solid #e2e8f0!important;border-radius:10px!important;padding:13px 15px!important;display:flex!important;align-items:center!important;gap:11px!important;margin-top:12px!important;flex-wrap:wrap!important}
.cal-wrap .cal-dl-icon{width:33px!important;height:41px!important;background:#0d1f35!important;border-radius:4px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:7.5px!important;font-weight:700!important;color:#C9A84C!important;flex-shrink:0!important}
.cal-wrap .cal-dl-info{flex:1!important;min-width:160px!important}
.cal-wrap .cal-dl-name{font-size:12.5px!important;font-weight:700!important;color:#0d1f35!important;margin-bottom:2px!important;display:block}
.cal-wrap .cal-dl-meta{font-size:11px!important;color:#6b7280!important;line-height:1.4!important;display:block}
.cal-wrap .cal-free{display:inline-block!important;font-size:9.5px!important;font-weight:700!important;letter-spacing:.05em!important;text-transform:uppercase!important;padding:2px 6px!important;border-radius:8px!important;background:#dcfce7!important;color:#15803d!important;vertical-align:middle!important;margin-left:4px!important}
.cal-wrap .cal-dl-btn{display:inline-flex!important;align-items:center!important;gap:4px!important;font-size:11.5px!important;font-weight:700!important;padding:9px 14px!important;background:#0d1f35!important;color:#fff!important;border-radius:8px!important;text-decoration:none!important;white-space:nowrap!important;font-family:'Barlow',sans-serif!important;flex-shrink:0!important}
.cal-wrap .cal-dl-btn:hover{background:#1a3a70!important;color:#fff!important}

/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE — mobile first
   Only override what can't be handled by
   auto-fill grid + flex-wrap
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:640px){
  .cal-wrap .cal-ceo{flex-direction:column!important;padding:13px 14px!important}
  .cal-wrap .cal-sport-hd{flex-direction:column!important;padding:13px 14px!important}
  .cal-wrap .cal-legend{flex-direction:column!important;gap:8px!important;padding:10px 13px!important}
  .cal-wrap .cal-grid{grid-template-columns:1fr 1fr!important}
  .cal-wrap .cal-dl{flex-direction:column!important;align-items:flex-start!important}
  .cal-wrap .cal-dl-btn{width:100%!important;justify-content:center!important;padding:11px!important}
  .cal-wrap .cal-dl-info{min-width:unset!important;width:100%!important}
}
@media(max-width:400px){
  .cal-wrap .cal-grid{grid-template-columns:1fr!important}
  .cal-wrap .cal-tab{font-size:10.5px!important;padding:6px 10px!important}
  .cal-wrap .cal-sh-title{font-size:16px!important}
}