/* Court finder — builds on guide.css tokens (--green, --lime, --line, --muted, --ink). */
.cf{--cf-club:var(--green);--cf-cell:var(--green-2);margin-top:8px}
.cf button{font:inherit;color:inherit}
.cf-status{padding:48px 0;color:var(--muted);font-weight:700}
.cf-error{color:#a3361b}
.cf-label{display:block;margin:0 0 .5rem;color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.cf-label small{margin-left:.4rem;letter-spacing:0;text-transform:none;font-size:.8rem;font-weight:600}
.cf-text-button{padding:2px 0;border:0;border-bottom:2px solid var(--lime);background:none;cursor:pointer;font-size:.82rem!important;font-weight:800}

.cf-freshness{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:14px;font-size:.82rem;font-weight:700}
.cf-live{display:inline-flex;align-items:center;gap:.5rem;color:var(--green-2)}
.cf-live i{width:8px;height:8px;border-radius:50%;background:#2fa36b;box-shadow:0 0 0 4px rgba(47,163,107,.18)}
.cf-stale{padding:.2rem .6rem;background:#fbe9df;color:#8a3415}
.cf-disclaimer{margin:0 0 16px;padding:12px 14px;border-left:3px solid #e0a23b;background:#fbf3e2;color:#5b4413;font-size:.88rem}
.cf-checked{margin:0 0 10px;padding:8px 10px;background:#fbf3e2;color:#5b4413;font-size:.82rem}

.cf-panel{padding:24px;background:var(--white);border:1px solid var(--line)}
.cf-quick{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px}
.cf-quick .cf-label{margin:0 6px 0 0}
.cf-quick button{min-height:40px;padding:.45rem .9rem;border:1px solid var(--ink);border-radius:999px;background:transparent;cursor:pointer;font-size:.85rem;font-weight:750}
.cf-quick button:hover{background:rgba(214,239,51,.35)}
.cf-quick button.active{background:var(--green);border-color:var(--green);color:#fff}

.cf-filter-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.cf-dates{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-right:0}
.cf-date{position:relative;min-height:92px;padding:12px 12px 22px;border:0;border-right:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}
.cf-date span{display:block;font-size:.7rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.cf-date span.wknd{color:#c2552f}
.cf-date strong{display:block;font-size:1.9rem;line-height:1.1;letter-spacing:-.04em}
.cf-date small{display:block;color:var(--muted);font-size:.72rem;font-weight:700}
.cf-date em{position:absolute;left:12px;right:12px;bottom:10px;height:4px;background:var(--line)}
.cf-date em:after{content:"";position:absolute;inset:0 auto 0 0;width:var(--fill);background:var(--green-2)}
.cf-date:hover{background:#f4f8e2}
.cf-date.active{background:var(--green);color:#fff}
.cf-date.active small{color:#cfe0d8}
.cf-date.active span.wknd{color:var(--lime)}
.cf-date.active em{background:rgba(255,255,255,.2)}
.cf-date.active em:after{background:var(--lime)}
.cf-date.is-empty:not(.active){color:var(--muted)}

/* Time and duration share the first row; clubs and surfaces each get a full-width row so chips never stack. */
.cf-filters{display:grid;grid-template-columns:minmax(280px,440px) auto;justify-content:start;align-items:start;gap:22px 48px;margin-top:22px}
.cf-filters .cf-wide{grid-column:1/-1}
.cf-filters fieldset{min-width:0;margin:0;padding:0;border:0}
.cf-filters legend{padding:0}
.cf-range-value{display:block;font-size:1.05rem;font-variant-numeric:tabular-nums}
.cf-range-track{position:relative;height:36px;--a:0%;--b:0%}
.cf-range-track:before,.cf-range-track i{content:"";position:absolute;top:50%;height:6px;margin-top:-3px}
.cf-range-track:before{left:0;right:0;background:var(--line)}
.cf-range-track i{left:var(--a);right:var(--b);background:var(--green-2)}
.cf-range input{position:absolute;inset:0;width:100%;height:100%;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.cf-range input::-webkit-slider-runnable-track{background:none;border:0}
.cf-range input::-moz-range-track{background:none;border:0}
.cf-range input::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:3px solid var(--green);box-shadow:0 2px 6px rgba(6,30,22,.2);cursor:grab}
.cf-range input::-moz-range-thumb{pointer-events:auto;width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid var(--green);cursor:grab}
.cf-range input:focus-visible::-webkit-slider-thumb{outline:3px solid var(--lime);outline-offset:2px}
.cf-range input:focus-visible::-moz-range-thumb{outline:3px solid var(--lime);outline-offset:2px}
.cf-range-ends{display:flex;justify-content:space-between;color:var(--muted);font-size:.72rem;font-weight:700}
.cf-segment{display:flex;min-height:44px;min-width:260px;border:1px solid var(--line)}
.cf-segment button{flex:1}
.cf-segment button{padding:0 14px;border:0;border-right:1px solid var(--line);background:#fff;cursor:pointer;font-size:.85rem;font-weight:750}
.cf-segment button:last-child{border-right:0}
.cf-segment button.active{background:var(--lime);color:#173222}
.cf-chips{display:flex;flex-wrap:wrap;gap:6px}
.cf-chip{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;white-space:nowrap;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:.85rem;font-weight:750}
.cf-chip i{flex:none;width:10px;height:10px;border-radius:50%;background:var(--club,var(--ink))}
.cf-chip:hover{border-color:var(--green)}
.cf-chip.active{border-color:var(--green);background:var(--green);color:#fff!important}
.cf-chip.active i{box-shadow:0 0 0 2px #fff}

.cf-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:22px;padding-top:16px;border-top:1px dashed var(--line)}
.cf-summary{margin:0;color:var(--muted);font-size:.9rem}
.cf-summary strong{color:var(--ink)}
.cf-foot-actions{display:flex;align-items:center;gap:18px}
.cf .button{cursor:pointer}

.cf-results{margin-top:40px}
.cf-results-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;padding-bottom:16px;border-bottom:2px solid var(--ink)}
.cf-results-head h2{margin:0;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.05;letter-spacing:-.05em}
.cf-views{display:flex;border:1px solid var(--ink)}
.cf-views button{min-height:44px;padding:0 16px;border:0;border-right:1px solid var(--ink);background:#fff;cursor:pointer;font-size:.82rem;font-weight:800}
.cf-views button:last-child{border-right:0}
.cf-views button[aria-selected=true]{background:var(--green);color:#fff}

.cf-highlights{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px;margin:22px 0}
.cf-highlight{display:flex;flex-direction:column;gap:4px;padding:16px 18px;border:1px solid var(--line);background:#fff;text-align:left}
button.cf-highlight{cursor:pointer}
button.cf-highlight:hover{border-color:var(--green);box-shadow:4px 4px 0 var(--lime)}
.cf-highlight .cf-label{margin:0}
.cf-highlight strong{font-size:1.25rem;line-height:1.15;letter-spacing:-.03em}
.cf-highlight small{color:var(--muted);font-size:.82rem}
.cf-split-row{display:grid;grid-template-columns:120px 1fr 36px;align-items:center;gap:10px;font-size:.82rem}
.cf-split-row span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.cf-split-row i{height:8px;background:linear-gradient(90deg,var(--club) var(--w),var(--line) var(--w))}
.cf-split-row b{text-align:right}

.cf-hint{margin:0 0 12px;color:var(--muted);font-size:.9rem}
.cf-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.cf-legend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:14px;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.cf-scale{display:inline-flex;gap:3px}
.cf-scale i{width:18px;height:14px;background:color-mix(in srgb,var(--cf-cell) calc(var(--level)*19%),#fff)}
.cf-legend-club{display:inline-flex;align-items:center;gap:6px}
.cf-legend-club i{width:14px;height:4px}

.cf-week{display:grid;grid-template-columns:58px repeat(var(--days),minmax(48px,1fr));gap:4px;min-width:calc(58px + var(--days)*52px)}
.cf-wg-corner,.cf-wg-hour{position:sticky;left:0;z-index:1;background:var(--paper)}
.cf-wg-day{padding:6px 4px 8px;text-align:center;border-bottom:2px solid var(--ink)}
.cf-wg-day span{display:block;color:var(--muted);font-size:.68rem;font-weight:850;text-transform:uppercase}
.cf-wg-day.wknd span{color:#c2552f}
.cf-wg-day strong{font-size:1.3rem;letter-spacing:-.03em}
.cf-wg-hour{display:flex;align-items:center;padding-right:8px;color:var(--muted);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}
.cf-wg-cell{position:relative;min-height:46px;border:0;background:color-mix(in srgb,var(--cf-cell) calc(var(--level)*19%),#fff);cursor:pointer;overflow:hidden}
.cf-wg-cell.dark{color:#fff!important}
.cf-wg-cell strong{font-size:1.05rem}
.cf-wg-cell:after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--mix)}
.cf-wg-cell:hover,.cf-wg-cell:focus-visible{z-index:2;box-shadow:0 0 0 2px var(--ink),4px 4px 0 var(--lime)}
.cf-wg-cell.cf-none{cursor:default;background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(23,35,29,.06) 6px 7px)}

.cf-day-tabs{display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;padding-bottom:4px}
.cf-day-tabs button{display:flex;align-items:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid var(--line);background:#fff;cursor:pointer;white-space:nowrap;font-size:.86rem;font-weight:750}
.cf-day-tabs small{padding:1px 7px;border-radius:999px;background:var(--line);font-size:.72rem}
.cf-day-tabs button.active{border-color:var(--green);background:var(--green);color:#fff}
.cf-day-tabs button.active small{background:var(--lime);color:#173222}

.cf-timeline{display:grid;grid-template-columns:150px repeat(var(--cols),minmax(30px,1fr));min-width:calc(150px + var(--cols)*32px);border-top:1px solid var(--line)}
.cf-tl-corner,.cf-tl-court{position:sticky;left:0;z-index:1;background:var(--paper);border-right:1px solid var(--line)}
.cf-tl-corner{padding:8px 10px;color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase}
.cf-tl-head{padding:8px 0;color:var(--muted);font-size:.72rem;font-weight:700;white-space:nowrap}
.cf-tl-club{grid-column:1/-1;position:sticky;left:0;padding:14px 10px 6px;border-bottom:2px solid var(--club);font-weight:850;letter-spacing:-.02em}
.cf-tl-court{display:flex;flex-direction:column;justify-content:center;min-height:40px;padding:4px 10px;border-bottom:1px solid var(--line)}
.cf-tl-court strong{overflow:hidden;font-size:.82rem;white-space:nowrap;text-overflow:ellipsis}
.cf-tl-court small{color:var(--muted);font-size:.68rem;font-weight:700;text-transform:uppercase}
.cf-tl-cell{border-bottom:1px solid var(--line)}
.cf-tl-cell.hour{border-left:1px solid var(--line)}
.cf-tl-cell.slot{margin:4px 1px;padding:0;border:0;background:color-mix(in srgb,var(--club) 42%,#fff);cursor:pointer}
.cf-tl-cell.slot.long{background:var(--club)}
.cf-tl-cell.slot:hover,.cf-tl-cell.slot:focus-visible{box-shadow:0 0 0 2px var(--ink)}
.cf-tl-key{grid-column:1/-1;display:flex;align-items:center;gap:8px;margin:14px 0 0;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}
.cf-tl-key i{width:18px;height:12px}
.cf-tl-key .k-long{background:var(--green-2)}
.cf-tl-key .k-short{margin-left:14px;background:color-mix(in srgb,var(--green-2) 42%,#fff)}

.cf-list-date{margin:26px 0 6px;font-size:1.3rem;letter-spacing:-.03em}
.cf-list-date:first-child{margin-top:4px}
.cf-time-row{display:grid;grid-template-columns:90px 1fr;gap:14px;padding:12px 0;border-top:1px solid var(--line)}
.cf-time strong{display:block;font-size:1.5rem;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums}
.cf-time small{color:var(--muted);font-size:.75rem;font-weight:700}
.cf-time-chips{display:flex;flex-wrap:wrap;gap:8px}
.cf-court-chip{display:flex;align-items:stretch;gap:10px;min-height:48px;padding:0 12px 0 0;border:1px solid var(--line);background:#fff;cursor:pointer;text-align:left}
.cf-court-chip i{width:6px;background:var(--club)}
.cf-court-chip span{display:flex;flex-direction:column;justify-content:center}
.cf-court-chip strong{font-size:.9rem}
.cf-court-chip small{color:var(--muted);font-size:.75rem}
.cf-court-chip:hover,.cf-court-chip:focus-visible{border-color:var(--green);box-shadow:4px 4px 0 var(--lime)}
.cf-more{display:flex;margin:26px auto 0}
.cf-empty{padding:60px 20px;text-align:center}
.cf-empty h3{margin:0 0 .3rem;font-size:1.5rem}
.cf-empty p{color:var(--muted)}

.cf-drawer{width:min(480px,100vw);max-width:100vw;height:100dvh;max-height:100dvh;margin:0 0 0 auto;padding:0;border:0;border-left:3px solid var(--lime);background:var(--paper);color:var(--ink)}
.cf-drawer::backdrop{background:rgba(6,30,22,.5)}
.cf-drawer-inner{display:flex;flex-direction:column;height:100%}
.cf-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:22px 22px 16px;background:var(--green);color:#fff}
.cf-drawer-head .cf-label{color:var(--lime)}
.cf-drawer-head h3{margin:0;font-size:1.5rem;line-height:1.1;letter-spacing:-.04em}
.cf-close{flex:none;width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:transparent;color:#fff!important;cursor:pointer;font-size:1.5rem;line-height:1}
.cf-close:hover{background:rgba(255,255,255,.12)}
.cf-drawer-body{flex:1;overflow-y:auto;padding:20px 22px 32px}
.cf-facts{display:grid;gap:10px;margin:0 0 20px}
.cf-facts div{display:grid;grid-template-columns:80px 1fr;gap:10px}
.cf-facts dt{color:var(--muted);font-size:.7rem;font-weight:850;letter-spacing:.1em;line-height:1.9;text-transform:uppercase}
.cf-facts dd{margin:0;font-weight:700}
.cf-book-steps{padding:16px;background:#fff;border:1px solid var(--line)}
.cf-book-steps p{margin:0 0 14px;font-size:.92rem}
.cf-book-actions{display:flex;flex-wrap:wrap;gap:10px}
.cf-sub{margin-top:26px}
.cf-drawer-list{margin:0;padding:0;list-style:none}
.cf-drawer-slot{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:8px;padding:10px 0 10px 12px;border-bottom:1px solid var(--line);border-left:4px solid var(--club)}
.cf-drawer-slot strong{display:block;font-size:.92rem}
.cf-drawer-slot small{color:var(--muted);font-size:.75rem}
.cf-mini{display:inline-flex;align-items:center;min-height:36px;padding:0 10px;border:1px solid var(--ink);background:#fff;cursor:pointer;text-decoration:none;font-size:.75rem;font-weight:800}
.cf-mini-book{border-color:var(--lime);background:var(--lime);color:#173222}
.cf-full{width:100%;margin-top:16px}
.cf-toast{position:fixed;left:50%;bottom:24px;z-index:200;transform:translateX(-50%);padding:12px 18px;background:var(--green);color:#fff;box-shadow:4px 4px 0 var(--lime);font-size:.88rem;font-weight:750}


@media (max-width:1100px){.cf-highlights{grid-template-columns:1fr 1fr}.cf-split{grid-column:1/-1}}
@media (max-width:760px){
  .cf-panel{padding:16px}
  .cf-quick{flex-wrap:nowrap;overflow-x:auto;margin-inline:-16px;padding:0 16px 4px}
  .cf-quick button{flex:none}
  .cf-dates{grid-template-columns:repeat(7,80px);overflow-x:auto}
  .cf-filters{grid-template-columns:1fr}
  .cf-segment button{flex:1}
  .cf-segment{min-width:0}
  .cf-chip{padding:0 12px}
  .cf-foot{flex-direction:column;align-items:flex-start}
  .cf-foot-actions{flex-wrap:wrap}
  .cf-results-head{flex-direction:column;align-items:flex-start}
  .cf-views{width:100%}
  .cf-views button{flex:1;padding:0 6px}
  .cf-highlights{grid-template-columns:1fr}
  .cf-split-row{grid-template-columns:96px 1fr 32px}
  .cf-week{grid-template-columns:44px repeat(var(--days),minmax(38px,1fr));gap:3px;min-width:calc(44px + var(--days)*40px)}
  .cf-wg-cell{min-height:40px}
  .cf-timeline{grid-template-columns:112px repeat(var(--cols),30px);min-width:0}
  .cf-time-row{grid-template-columns:1fr;gap:8px}
  .cf-time{display:flex;align-items:baseline;gap:10px}
  .cf-court-chip{flex:1 1 100%}
  .cf-drawer{width:100vw;height:auto;max-height:88dvh;margin:auto 0 0;border-left:0;border-top:3px solid var(--lime)}
}
