/* =============================================================================
   Shows page only. The show LIST rows + add-to-calendar live in site.css
   (shared with the home teaser). This file is the Shows-page layout: the
   List/Calendar toggle, the custom month calendar, and the subscribe link.
   ============================================================================= */

.intro{padding:clamp(48px,8vw,84px) 0 clamp(24px,4vw,32px)}
.intro .top{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.intro .kicker{display:block;margin-bottom:14px}
.intro h1{font-size:clamp(2.2rem,5.2vw,3.2rem)}

/* this page's sections only pad the bottom (the intro handles the top) */
section{padding:0 0 clamp(64px,9vw,100px)}

.view-toggle{display:inline-flex;border:1px solid var(--line);border-radius:2px;overflow:hidden;margin:26px 0 30px}
.view-toggle button{background:transparent;border:none;color:var(--dim);font-family:inherit;font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;padding:11px 20px;cursor:pointer;transition:all .16s ease;border-right:1px solid var(--line)}
.view-toggle button:last-child{border-right:none}
.view-toggle button:hover{color:var(--text)}
.view-toggle button[aria-selected="true"]{background:var(--brass);color:#181205}
.view{display:none}
.view.active{display:block}

/* month calendar */
.cal{max-width:560px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.cal-head .mlabel{font-size:1.15rem;letter-spacing:.04em;color:#fff}
.cal-nav{display:flex;gap:8px}
.cal-nav button{width:38px;height:38px;background:transparent;border:1px solid var(--line);color:var(--dim);font-family:inherit;font-size:1rem;cursor:pointer;transition:all .16s ease}
.cal-nav button:hover{border-color:var(--brass);color:var(--brass-lt)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.cal-grid .dow{background:var(--ink-2);text-align:center;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint);padding:10px 0}
.cal-cell{background:var(--ink);min-height:64px;padding:8px 9px;position:relative;font-size:.86rem;color:var(--dim)}
.cal-cell.empty{background:var(--ink-2);opacity:.35}
.cal-cell.today{outline:1px solid var(--brass);outline-offset:-1px}
.cal-cell.today .cell-n{color:var(--brass-lt)}
.cal-cell.has-show{cursor:pointer;color:#fff}
.cal-cell.has-show:hover{background:var(--panel)}
.cal-cell.has-show::after{content:"";position:absolute;left:9px;bottom:9px;width:7px;height:7px;border-radius:50%;background:var(--brass)}
.cal-cell.sel{background:var(--panel-2)}
.cell-n{font-weight:400}
.cal-detail{margin-top:22px;min-height:20px}
.cal-detail .empty-hint{color:var(--faint);font-size:.9rem;font-style:italic}
.cal-card{border:1px solid var(--line);border-left:2px solid var(--brass);padding:18px 20px;background:var(--ink-2)}
.cal-card .d{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin-bottom:6px}
.cal-card .v{font-size:1.18rem;color:#fff;font-weight:400}
.cal-card .m{font-size:.9rem;color:var(--dim);margin-top:2px}
.cal-card .map-link{color:var(--dim)}
.cal-card .card-actions{display:flex;gap:16px;align-items:center;margin-top:14px}

.subscribe{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:.88rem;color:var(--dim)}
.empty-shows{color:var(--dim);padding:24px 0;font-size:1.02rem}
