/* Season calendar and Book Your Hunt. Matches the site tokens. */
#schedule,#book,#request{scroll-margin-top:120px}
.hunt-cal{padding:36px 0 72px}
.hunt-cal-top{display:block}
.hunt-cal-intro .eyebrow{margin:0 0 10px}
.hunt-cal h2{font-weight:500;font-size:34px;line-height:1.08;margin:0 0 12px;color:var(--green-dark)}
.hunt-cal-lede{font-size:18px;line-height:1.5;margin:0 0 18px;color:#2f4a2c;max-width:36em}
.hunt-cal-price{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;border-top:1px solid var(--gray-warm);border-bottom:1px solid var(--gray-warm);padding:12px 0;margin:0 0 16px}
.hunt-cal-price b{font-size:26px;font-weight:600;color:var(--green-dark)}
.hunt-cal-price span{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--bronze)}
.hunt-cal-next{background:var(--green-2);color:var(--warm-white);border-radius:4px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:0 0 22px}
.hunt-cal-next small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:3px}
.hunt-cal-next strong{font-size:20px;font-weight:500;color:var(--warm-white)}
.hunt-cal .btn,.hunt-sheet .btn,.hunt-request .btn{appearance:none;border:0;cursor:pointer;background:var(--gold);color:var(--green-dark);font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:12px 16px;border-radius:3px;white-space:nowrap;min-height:44px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.hunt-cal .btn:hover,.hunt-sheet .btn:hover,.hunt-request .btn:hover{background:#d8a961}
.hunt-cal .btn.ghost,.hunt-sheet .btn.ghost,.hunt-request .btn.ghost{background:transparent;border:1px solid var(--gray-warm);color:var(--green-dark)}
.hunt-cal .btn.block,.hunt-sheet .btn.block,.hunt-request .btn.block{width:100%}
.hunt-request .btn:disabled{opacity:.65;cursor:wait}
.hunt-cal-legend{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:#3d5239}
.hunt-cal-legend div{display:flex;align-items:center;gap:8px}
.hunt-sw{width:18px;height:18px;border-radius:3px;flex:none}
.hunt-sw.open{background:#fff;border:1.5px solid var(--green-2)}
.hunt-sw.few{background:#fff;border:1.5px solid var(--gold);box-shadow:inset 0 -4px 0 var(--gold)}
.hunt-sw.zero{background:var(--green-2)}
.hunt-sw.reserved{background:repeating-linear-gradient(135deg,var(--gray-warm) 0 3px,#e6d9c3 3px 6px)}
.hunt-cal-months{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;margin-top:8px}
.hunt-month h3{font-weight:500;font-size:22px;margin:0 0 8px;display:flex;justify-content:space-between;align-items:baseline;color:var(--green-dark)}
.hunt-month h3 span{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);font-weight:400}
.hunt-dow,.hunt-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.hunt-dow div{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-align:center;color:var(--bronze);padding:4px 0}
.hunt-day{position:relative;aspect-ratio:1/1.08;border-radius:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:17px;border:0;padding:0;background:transparent;font-family:var(--serif);color:var(--green-dark)}
.hunt-day.blank{visibility:hidden}
.hunt-day.reserved{background:repeating-linear-gradient(135deg,var(--gray-warm) 0 3px,#e6d9c3 3px 6px);color:#8a7d66}
.hunt-day.later,.hunt-day.past{color:#bfb39d}
.hunt-day.open,.hunt-day.few,.hunt-day.zero{cursor:pointer;font-weight:500}
.hunt-day.open,.hunt-day.few{background:#fff;border:1.5px solid var(--green-2);color:var(--green-dark)}
.hunt-day.few{border-color:var(--gold)}
.hunt-day.zero{background:var(--green-2);color:var(--warm-white)}
.hunt-day.open:hover,.hunt-day.few:hover{background:#fbf6ec}
.hunt-day.sel{outline:2px solid var(--green-dark);outline-offset:1px}
.hunt-pips{display:flex;gap:2px}
.hunt-pips i{width:5px;height:5px;border-radius:50%;border:1px solid var(--green-2);display:block}
.hunt-day.zero .hunt-pips i{border-color:var(--warm-white)}
.hunt-pips i.on{background:var(--green-2)}
.hunt-day.zero .hunt-pips i.on{background:var(--warm-white)}
.hunt-tag{font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--bronze);line-height:1}
.hunt-day.zero .hunt-tag{color:var(--gold)}
.hunt-cal-note{font-size:15px;color:#4b5f47;margin:10px 0 0;font-style:italic}
.hunt-cal-fine,.hunt-cal-status{font-size:14px;color:#5a6b56;line-height:1.5;margin:18px 0 0}
.hunt-scrim{position:fixed;inset:0;background:rgba(27,51,25,.55);opacity:0;pointer-events:none;transition:opacity .2s;z-index:10000}
.hunt-scrim.on{opacity:1;pointer-events:auto}
.hunt-sheet{position:fixed;left:0;right:0;bottom:0;max-height:92vh;overflow:auto;background:var(--warm-white);border-radius:12px 12px 0 0;transform:translateY(105%);transition:transform .25s ease;z-index:10001;padding:10px 20px 26px;box-shadow:0 -10px 30px rgba(0,0,0,.25);color:var(--green-dark)}
.hunt-sheet.on{transform:none}
.hunt-sheet:not(.on){visibility:hidden}
.hunt-grab{width:40px;height:4px;border-radius:2px;background:var(--gray-warm);margin:0 auto 12px}
.hunt-sheet h3{font-weight:500;font-size:26px;margin:0 0 2px;color:var(--green-dark);line-height:1.15}
.hunt-sheet .sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);margin:0 0 16px}
.hunt-x{position:absolute;right:14px;top:12px;background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--green-dark);width:44px;height:44px}
.hunt-sess{border-top:1px solid var(--gray-warm);padding:12px 0}
.hunt-sess h4{margin:0 0 8px;font-weight:500;font-size:19px;display:flex;justify-content:space-between;align-items:baseline;color:var(--green-dark)}
.hunt-sess h4 span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);font-weight:400}
.hunt-slot{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;flex-wrap:wrap}
.hunt-slot .nm{font-size:17px}
.hunt-slot .st{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-2)}
.hunt-slot.gone .nm{color:#8b8f86;text-decoration:line-through;text-decoration-color:rgba(0,0,0,.25)}
.hunt-corp{margin:14px 0 0;font-size:17px;text-align:center}
.hunt-corp a{color:var(--green-2);text-underline-offset:3px;text-decoration-color:var(--gold)}
.hunt-party{background:#fff;border:1px solid var(--gray-warm);border-radius:3px;padding:12px;font-size:18px;color:var(--green-dark)}
.hunt-party span{color:#5a6b56}
.hunt-sum{background:#fff;border:1px solid var(--gray-warm);border-radius:4px;padding:12px 14px;margin:6px 0 14px;font-size:16px}
.hunt-sum div{display:flex;justify-content:space-between;gap:12px;padding:3px 0}
.hunt-sum .due{border-top:1px solid #eee2cf;margin-top:6px;padding-top:8px;font-weight:600}
.hunt-tiny{font-size:13.5px;color:#5a6b56;line-height:1.45;margin:10px 0 0}
.hunt-sheet .field{margin:0 0 12px}
.hunt-sheet label.l{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin:0 0 5px}
.hunt-sheet input,.hunt-sheet select{width:100%;font-family:var(--serif);font-size:18px;padding:11px 12px;border:1px solid var(--gray-warm);border-radius:3px;background:#fff;color:var(--green-dark);min-height:46px}
.hunt-sheet input:focus,.hunt-sheet select:focus{outline:none;border-color:var(--gold)}
.hunt-sheet .hp{position:absolute;left:-5000px}
.hunt-conf{text-align:center;padding:10px 4px 6px}
.hunt-conf img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto 6px;display:block;box-shadow:0 0 0 1px rgba(204,153,82,.35);background:#fff}
.hunt-conf h3{font-size:30px}
.hunt-card{background:#fff;border:1px solid var(--gray-warm);border-radius:4px;padding:14px;margin:16px 0;text-align:left;font-size:17px}
.hunt-card div{display:flex;justify-content:space-between;padding:4px 0;gap:10px}
.hunt-card span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);padding-top:4px}
.hunt-sig{font-style:italic;font-size:18px;margin:8px 0 0}
.hunt-hide{display:none!important}
.hunt-sheet .mstatus{display:none;margin-top:14px;font-size:14.5px;line-height:1.5;color:#8a4b2a}
@media (max-width:820px){
  .hunt-cal{padding:16px 0 48px}
}
@media (min-width:900px){
  .hunt-cal{padding:56px 0 80px}
  .hunt-cal-top{display:grid;grid-template-columns:340px minmax(0,1fr);gap:48px;align-items:start}
  .hunt-cal-intro{position:sticky;top:140px}
  .hunt-cal h2{font-size:44px}
  .hunt-cal-months{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;margin-top:0}
  .hunt-day{font-size:18px}
  .hunt-sheet{left:50%;right:auto;bottom:auto;top:50%;width:460px;max-height:88vh;border-radius:8px;transform:translate(-50%,-46%);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}
  .hunt-sheet.on{transform:translate(-50%,-50%);opacity:1;pointer-events:auto}
  .hunt-grab{display:none}
}
.hunt-request{padding:8px 0 64px}
.hunt-request h2{font-weight:500;font-size:34px;line-height:1.08;margin:0 0 12px;color:var(--green-dark)}
.hunt-request .lede{font-size:18px;line-height:1.55;margin:0 0 22px;color:#2f4a2c;max-width:40em}
.hunt-request form,.hunt-request-thanks{max-width:640px;background:#fff;border:1px solid #e2d8c1;border-radius:4px;padding:22px 20px 18px}
.hunt-request-thanks p{margin:0;font-size:18px;line-height:1.55;color:#2f4a2c}
.hunt-request .field{margin:0 0 14px}
.hunt-request label.l{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin:0 0 5px}
.hunt-request input,.hunt-request select,.hunt-request textarea{width:100%;font-family:var(--serif);font-size:16px;line-height:1.4;padding:11px 12px;border:1px solid var(--gray-warm);border-radius:3px;background:#fff;color:var(--green-dark);min-height:46px}
.hunt-choices{border:0;margin:0 0 8px;padding:0}
.hunt-choices legend{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bronze);margin:0 0 8px;padding:0}
.hunt-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid var(--gray-warm);border-radius:3px;background:#fff;padding:12px;margin:0 0 8px;cursor:pointer;min-height:44px}
.hunt-choice:has(input:checked){border-color:var(--gold);background:#fbf6ec}
.hunt-choice.is-disabled{opacity:.5;cursor:not-allowed}
.hunt-request .hunt-choice input{width:20px;height:20px;min-height:0;margin:3px 0 0;padding:0;flex:none;accent-color:var(--green-dark);border:0;border-radius:0;background:transparent}
.hunt-choice-name{display:block;font-size:18px;line-height:1.2;color:var(--green-dark)}
.hunt-choice-meta{display:block;font-size:15px;line-height:1.4;color:#5a6b56;margin-top:3px}
#request{display:block;height:0;overflow:hidden}
.hunt-request textarea{min-height:96px;resize:vertical}
.hunt-request input:focus,.hunt-request select:focus,.hunt-request textarea:focus{outline:none;border-color:var(--gold)}
.hunt-request input[readonly]{background:#f7f1e4}
.hunt-request select{appearance:none;background-color:#fff;background-image:linear-gradient(45deg,transparent 50%,var(--bronze) 50%),linear-gradient(135deg,var(--bronze) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 12px) 55%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:32px}
.hunt-request option:disabled{color:#8a7d66}
.hunt-request .hp{position:absolute;left:-5000px;height:0;width:0;opacity:0}
.hunt-request-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.hunt-both{font-size:15px;line-height:1.45;color:#3d5239;margin:-4px 0 14px}
.hunt-request-fine{font-size:14px;line-height:1.5;color:#5a6b56;margin:12px 0 0}
.hunt-request .mstatus{display:none;margin-top:12px;font-size:15px;line-height:1.5;color:#8a4b2a}
.hunt-book{position:fixed;inset:0;z-index:10050}
.hunt-book[hidden]{display:none !important}
.hunt-book-scrim{position:fixed;inset:0;background:rgba(27,51,25,.55)}
.hunt-book-panel{position:relative;z-index:1;margin:10px;width:auto;min-height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--warm-white);color:var(--green-dark);border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.35);padding:20px 16px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom))}
.hunt-book-panel:focus{outline:none}
.hunt-book .hunt-request{padding:0}
.hunt-book .hunt-request h2{padding-right:42px}
.hunt-book .hunt-x{top:6px;right:6px}
.hunt-book form,.hunt-book .hunt-request-thanks{max-width:none}
.hunt-book-sum{margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--gray-warm)}
.hunt-book-sum .field{margin:0 0 12px}
.hunt-book-sum input[readonly]{font-size:20px;line-height:1.3;background:#f7f1e4}
.hunt-book .hunt-request-thanks p:focus{outline:none}
.hunt-sheet .hunt-slot .btn{letter-spacing:.06em;padding:12px 12px}
@media (max-width:640px){
  .hunt-request{padding:0 0 48px}
  .hunt-request h2{font-size:32px}
  .hunt-request-row{grid-template-columns:1fr;gap:0}
  .hunt-request form,.hunt-request-thanks{padding:18px 16px 16px}
  .hunt-sheet .hunt-slot{align-items:stretch}
  .hunt-sheet .hunt-slot .btn{width:100%;white-space:normal;text-align:center}
}
@media (min-width:760px){
  .hunt-book-panel{min-height:0;max-height:calc(100dvh - 64px);width:min(640px, calc(100% - 48px));margin:32px auto;padding:28px 26px 22px;border-top:4px solid var(--gold)}
}
@media (min-width:900px){
  .hunt-request h2{font-size:44px}
  .hunt-book .hunt-request h2{font-size:40px}
}
