:root{
  --black:#080705;
  --deep:#100d09;
  --charcoal:#17130e;
  --cream:#f4ecdf;
  --muted:#c5b8a3;
  --gold:#d7a64a;
  --gold-bright:#f0c36a;
  --line:rgba(215,166,74,.34);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--cream);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
a{color:inherit}img{display:block;max-width:100%}
.site-header{position:absolute;z-index:30;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:22px 5vw;border-bottom:1px solid rgba(255,255,255,.16);background:linear-gradient(to bottom,rgba(0,0,0,.78),rgba(0,0,0,.04))}
.brand{text-decoration:none;font-family:Georgia,'Times New Roman',serif;font-size:26px;line-height:1}.brand small{display:block;margin-top:7px;color:var(--gold-bright);font-family:Arial,sans-serif;font-size:9px;font-weight:700;letter-spacing:.22em}
.site-nav{display:flex;align-items:center;gap:30px}.site-nav a{text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.15em}.site-nav a:hover{color:var(--gold-bright)}.nav-cta{padding:12px 17px;border:1px solid var(--gold)}
.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:28px;height:2px;margin:5px;background:#fff}
.hero{position:relative;min-height:820px;height:100svh;display:flex;align-items:center;background:url('assets/tavern-exterior.png') center 48%/cover no-repeat;overflow:hidden}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.47) 38%,rgba(0,0,0,.10) 69%),linear-gradient(0deg,rgba(0,0,0,.76) 0%,transparent 40%)}
.hero-content{position:relative;z-index:2;width:min(1240px,90vw);margin:auto;padding-bottom:100px}.eyebrow{margin:0 0 15px;color:var(--gold-bright);font-size:10px;font-weight:900;letter-spacing:.24em;text-transform:uppercase}.hero h1{max-width:900px;margin:0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(58px,7.7vw,116px);font-weight:400;line-height:.92;letter-spacing:-.05em;text-shadow:0 6px 28px #000}.hero h1 em{color:var(--gold-bright);font-weight:400}.hero-copy{max-width:650px;margin:27px 0 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,2vw,24px);line-height:1.55;color:#eee4d6;text-shadow:0 3px 16px #000}.hero-actions{display:flex;gap:12px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-width:170px;padding:16px 21px;border:1px solid;text-decoration:none;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.16em;transition:.2s ease}.button-gold{background:var(--gold);border-color:var(--gold);color:#181006}.button-gold:hover{background:var(--gold-bright);transform:translateY(-1px)}.button-dark{background:rgba(0,0,0,.42);border-color:rgba(255,255,255,.72)}.button-dark:hover{border-color:var(--gold-bright);color:var(--gold-bright)}
.weekly-ribbon{position:absolute;z-index:3;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);background:rgba(7,6,4,.90);border-top:1px solid var(--line);backdrop-filter:blur(10px)}.weekly-ribbon div{padding:20px 5vw;border-right:1px solid rgba(255,255,255,.11)}.weekly-ribbon strong{display:block;margin-bottom:6px;color:var(--gold-bright);font-size:9px;letter-spacing:.20em}.weekly-ribbon span{font-family:Georgia,'Times New Roman',serif;font-size:19px}.scroll-cue{position:absolute;z-index:4;bottom:82px;right:4vw;text-decoration:none;color:#fff;font-size:25px;opacity:.7}
.band{background:linear-gradient(120deg,#1b140b,#0c0a07 55%,#181006);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.intro{padding:100px 5vw}.intro-inner{max-width:1040px;margin:auto;text-align:center}.intro h2,.section-title h2,.hours-heading h2,.about-copy h2,.visit-card h2,.image-statement h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}.intro h2{font-size:clamp(46px,6vw,78px);line-height:1.03;margin:8px 0 22px}.intro p:last-child{max-width:770px;margin:0 auto;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.7}
.events{padding:110px 5vw 125px;background:radial-gradient(circle at 50% 0,#251b0f 0,#0a0907 35%)}.section-title{max-width:1200px;margin:0 auto 48px}.section-title h2{max-width:800px;margin:0;font-size:clamp(44px,5.8vw,76px);line-height:1.06}.event-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.event-card{position:relative;min-height:440px;border:1px solid rgba(255,255,255,.11);background:#14110d;overflow:hidden;display:flex;flex-direction:column}.event-card::before{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.94),rgba(0,0,0,.42) 62%,rgba(0,0,0,.2));z-index:0}.event-card.music{background:linear-gradient(145deg,#3a280f,#15110b)}.event-card.music{border-color:var(--gold)}.event-tag{position:relative;z-index:1;padding:18px 24px;border-bottom:1px solid rgba(255,255,255,.14);color:var(--gold-bright);font-size:9px;font-weight:900;letter-spacing:.20em}.event-body{position:relative;z-index:1;margin-top:auto;padding:30px}.event-no{display:block;font-family:Georgia,'Times New Roman',serif;font-size:76px;line-height:.8;color:rgba(255,255,255,.08)}.event-card h3{margin:18px 0 10px;font-family:Georgia,'Times New Roman',serif;font-size:44px;font-weight:400}.event-card p{margin:0;color:#cfc4b5;line-height:1.65}.event-card small{display:block;margin-top:24px;padding-top:18px;border-top:1px solid var(--line);color:#ead6ac;font-size:9px;font-weight:900;letter-spacing:.15em}
.image-statement{position:relative;min-height:720px;background:url('assets/tavern-exterior.png') center/cover fixed no-repeat;display:flex;align-items:center}.image-statement-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.05)),linear-gradient(to top,rgba(0,0,0,.35),transparent)}.image-statement-copy{position:relative;z-index:1;width:min(1200px,90vw);margin:auto}.image-statement h2{margin:8px 0 0;font-size:clamp(60px,8vw,118px);line-height:.90;text-shadow:0 5px 28px #000}
.hours-section{max-width:1200px;margin:auto;padding:120px 5vw;display:grid;grid-template-columns:.8fr 1.2fr;gap:9vw;align-items:start}.hours-heading h2{margin:8px 0 25px;font-size:clamp(48px,6vw,76px);line-height:1.02}.hours-heading>p:last-child{color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:1.65}.hours-board{border-top:2px solid var(--gold)}.hour-row{display:flex;justify-content:space-between;gap:25px;padding:21px 0;border-bottom:1px solid rgba(255,255,255,.13)}.hour-row span{font-family:Georgia,'Times New Roman',serif;font-size:19px}.hour-row strong{white-space:nowrap;color:#e8d4ae;font-size:13px;letter-spacing:.06em}.featured-row span,.featured-row strong{color:var(--gold-bright)}
.about{display:grid;grid-template-columns:1.1fr .9fr;background:#13100c;min-height:720px}.about-photo{overflow:hidden;min-height:620px}.about-photo img{width:100%;height:100%;object-fit:cover}.about-copy{padding:9vw 7vw;align-self:center}.about-copy h2{font-size:clamp(44px,5vw,68px);line-height:1.03;margin:7px 0 28px}.about-copy>p:not(.eyebrow){color:#cfc4b5;font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.7}.coming-soon{margin-top:35px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.coming-soon span{display:block;margin-bottom:7px;color:var(--gold-bright);font-size:9px;font-weight:900;letter-spacing:.18em}.coming-soon strong{font-family:Georgia,'Times New Roman',serif;font-weight:400;color:#eadfce}
.visit{position:relative;min-height:600px;display:flex;align-items:center;justify-content:center;text-align:center;background:url('assets/tavern-exterior.png') center 68%/cover no-repeat}.visit-overlay{position:absolute;inset:0;background:rgba(0,0,0,.72)}.visit-card{position:relative;z-index:1;max-width:850px;padding:70px 30px}.visit-card h2{margin:10px 0 20px;font-size:clamp(46px,6.8vw,80px);line-height:1.06}.visit-card p:not(.eyebrow){margin:0 0 30px;color:#d9cdbc;font-family:Georgia,'Times New Roman',serif;font-size:20px}
footer{display:grid;grid-template-columns:1fr auto auto;gap:35px;align-items:end;padding:34px 5vw;background:#050504;border-top:1px solid var(--line);color:#968f85;font-size:10px}.footer-brand strong{display:block;margin-bottom:6px;color:var(--cream);font-family:Georgia,'Times New Roman',serif;font-size:18px;font-weight:400}.footer-hours{display:flex;gap:16px}.copyright{text-align:right}

.facebook-section{max-width:1200px;margin:auto;padding:110px 5vw;display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center;background:var(--black)}
.facebook-copy h2{margin:8px 0 24px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,5.8vw,76px);font-weight:400;line-height:1.03;letter-spacing:-.035em}
.facebook-copy>p:not(.eyebrow){max-width:690px;margin:0 0 30px;color:var(--muted);font-family:Georgia,'Times New Roman',serif;font-size:19px;line-height:1.7}
.facebook-qr-card{justify-self:center;width:min(360px,100%);padding:20px 20px 25px;background:#f7f3eb;border:1px solid var(--gold);box-shadow:0 22px 55px rgba(0,0,0,.38);text-align:center;color:#16110a}
.facebook-qr-card img{width:100%;height:auto;background:#fff}
.facebook-qr-card strong{display:block;margin-top:20px;color:#17110a;font-size:11px;letter-spacing:.18em}
.facebook-qr-card span{display:block;margin-top:7px;color:#6f6250;font-family:Georgia,'Times New Roman',serif;font-size:15px}
.footer-facebook{color:var(--gold-bright);text-decoration:none;text-transform:uppercase;font-weight:900;letter-spacing:.14em}
.footer-facebook:hover{color:var(--cream)}

@media(max-width:900px){
 .facebook-section{grid-template-columns:1fr;gap:50px;padding:85px 5vw}.facebook-qr-card{justify-self:start;max-width:330px}
 .site-nav{display:none;position:absolute;top:77px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:22px;padding:28px 5vw;background:#080705f5;border-bottom:1px solid var(--line)}.site-nav.open{display:flex}.menu-toggle{display:block}.hero{min-height:790px;background-position:61% center}.hero-content{padding-bottom:130px}.hero h1{font-size:clamp(52px,13vw,78px);max-width:90%}.weekly-ribbon{grid-template-columns:1fr}.weekly-ribbon div{padding:9px 5vw}.weekly-ribbon span{font-size:14px}.scroll-cue{display:none}.event-grid,.hours-section,.about{grid-template-columns:1fr}.event-card{min-height:340px}.image-statement{min-height:520px;background-attachment:scroll}.hours-section{gap:45px;padding:85px 5vw}.about-photo{min-height:420px}.about-copy{padding:75px 7vw}.visit{min-height:520px}footer{grid-template-columns:1fr;align-items:start}.footer-hours{flex-wrap:wrap}.copyright{text-align:left}
}
@media(max-width:520px){
 .brand{font-size:21px}.brand small{font-size:7px}.site-header{padding:18px 5vw}.hero{min-height:760px}.hero-content{padding-top:30px;padding-bottom:145px}.hero-copy{font-size:17px}.hero-actions{flex-direction:column;align-items:flex-start}.button{width:100%;max-width:260px}.intro,.events{padding-left:6vw;padding-right:6vw}.event-card h3{font-size:38px}.hour-row{flex-direction:column;gap:7px}.hour-row strong{font-size:12px}.visit-card{padding-left:6vw;padding-right:6vw}
}

.social-buttons{display:flex;gap:14px;flex-wrap:wrap}.social-instagram{border-color:var(--gold);color:var(--gold-bright)}.footer-social{display:flex;gap:18px;align-items:center}
.contact-section{padding:110px 5vw;background:linear-gradient(135deg,#171109,#090806 60%);border-top:1px solid var(--line)}.contact-heading{max-width:1200px;margin:0 auto 42px}.contact-heading h2{max-width:900px;margin:8px 0 0;font:400 clamp(42px,5.4vw,70px)/1.04 Georgia,'Times New Roman',serif;letter-spacing:-.035em}.contact-grid{max-width:1200px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contact-card{min-height:210px;padding:30px;border:1px solid rgba(255,255,255,.13);background:#100d09;text-decoration:none;display:flex;flex-direction:column;transition:.2s}.contact-card:hover{border-color:var(--gold);transform:translateY(-3px)}.contact-card span{color:var(--gold-bright);font-size:9px;font-weight:900;letter-spacing:.18em}.contact-card strong{margin:22px 0 auto;font:400 22px/1.3 Georgia,'Times New Roman',serif;overflow-wrap:anywhere}.contact-card small{padding-top:25px;color:var(--muted);font-size:10px;letter-spacing:.05em}.jobs-card{background:linear-gradient(145deg,#2c1e0c,#110e09);border-color:var(--gold)}
.jobs-header{position:absolute}.jobs-hero{position:relative;min-height:760px;display:flex;align-items:center;background:url('assets/tavern-exterior.png') center/cover no-repeat}.jobs-hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.3)),linear-gradient(0deg,#080705 0,transparent 35%)}.jobs-hero-copy{position:relative;z-index:1;width:min(1200px,90vw);margin:auto;padding-top:70px}.jobs-hero h1{margin:0;font:400 clamp(62px,8vw,112px)/.9 Georgia,'Times New Roman',serif;letter-spacing:-.05em;text-shadow:0 6px 28px #000}.jobs-hero h1 em{color:var(--gold-bright);font-weight:400}.jobs-hero-copy>p:not(.eyebrow){max-width:650px;margin:28px 0 30px;color:#e3d7c5;font:20px/1.65 Georgia,'Times New Roman',serif}.openings-section{max-width:1200px;margin:auto;padding:110px 5vw}.openings-section>h2{margin:8px 0 42px;font:400 clamp(44px,5vw,68px)/1.04 Georgia,'Times New Roman',serif}.opening-placeholder{padding:48px;border:1px solid var(--line);background:#12100c}.opening-placeholder span{color:var(--gold-bright);font-size:9px;font-weight:900;letter-spacing:.18em}.opening-placeholder h3{margin:18px 0 12px;font:400 34px Georgia,'Times New Roman',serif}.opening-placeholder p{max-width:700px;color:var(--muted);line-height:1.7}.opening-placeholder a{display:inline-block;margin-top:16px;color:var(--gold-bright);text-decoration:none;font-weight:700}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}.jobs-nav{display:flex;position:static;flex-direction:row;background:none;border:0;padding:0}.jobs-hero{min-height:700px}.jobs-hero-copy{padding-top:100px}}@media(max-width:650px){.jobs-nav{display:none}.contact-section{padding:80px 5vw}.opening-placeholder{padding:30px 24px}}

.job-listing{border:1px solid var(--line);background:linear-gradient(145deg,#17120c,#0d0b08);box-shadow:0 25px 70px rgba(0,0,0,.25)}.job-listing-head{display:grid;grid-template-columns:1fr auto;gap:40px;padding:38px 42px;border-bottom:1px solid rgba(255,255,255,.12)}.job-kicker{color:var(--gold-bright);font-size:9px;font-weight:900;letter-spacing:.2em}.job-listing h3{margin:12px 0 8px;font:400 clamp(34px,4vw,52px)/1 Georgia,'Times New Roman',serif}.job-meta{margin:0;color:var(--muted);font-size:12px;letter-spacing:.05em}.job-pay{min-width:220px;padding-left:28px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center}.job-pay small{color:var(--gold-bright);font-size:8px;font-weight:900;letter-spacing:.18em}.job-pay strong{margin:7px 0 4px;font:400 25px Georgia,'Times New Roman',serif}.job-pay span{max-width:210px;color:var(--muted);font-size:11px;line-height:1.45}.job-intro{padding:30px 42px;border-bottom:1px solid rgba(255,255,255,.09)}.job-intro p{max-width:900px;margin:0;color:#d7ccbc;font:18px/1.7 Georgia,'Times New Roman',serif}.job-columns{display:grid;grid-template-columns:1fr 1fr;gap:55px;padding:38px 42px}.job-columns h4{margin:0 0 18px;color:var(--gold-bright);font:400 25px Georgia,'Times New Roman',serif}.job-columns h4:not(:first-child){margin-top:34px}.job-columns ul{margin:0;padding-left:20px;color:#c9beae;line-height:1.65}.job-columns li{margin:0 0 12px}.job-columns li::marker{color:var(--gold)}.job-columns strong{color:#eee3d1}.job-apply{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px 42px;background:#21170b;border-top:1px solid var(--line)}.job-apply div{display:flex;flex-direction:column;gap:5px}.job-apply strong{font:400 21px Georgia,'Times New Roman',serif}.job-apply span{color:var(--muted);font-size:12px}@media(max-width:800px){.job-listing-head,.job-columns{grid-template-columns:1fr}.job-pay{padding:22px 0 0;border-left:0;border-top:1px solid var(--line)}.job-apply{align-items:flex-start;flex-direction:column}.job-listing-head,.job-intro,.job-columns,.job-apply{padding-left:25px;padding-right:25px}}

/* Monthly events calendar */
.calendar-section{padding:115px 5vw 125px;background:linear-gradient(180deg,#0d0a07,#151007 52%,#090806);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.calendar-heading{max-width:1200px;margin:0 auto 42px;display:flex;justify-content:space-between;align-items:flex-end;gap:55px}.calendar-heading h2{margin:8px 0 16px;font:400 clamp(46px,5.8vw,76px)/1.02 Georgia,'Times New Roman',serif;letter-spacing:-.035em}.calendar-heading>div:first-child>p:last-child{max-width:760px;margin:0;color:var(--muted);font:18px/1.65 Georgia,'Times New Roman',serif}.calendar-key{display:flex;gap:20px;flex-wrap:wrap;justify-content:flex-end;padding-bottom:5px}.calendar-key span{display:flex;align-items:center;gap:8px;color:#d9ccba;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.key-dot{display:inline-block;width:10px;height:10px;border-radius:50%}.karaoke-dot{background:#c988df}.music-dot{background:var(--gold-bright)}.football-dot{background:#7db58d}
.calendar-shell{max-width:1200px;margin:auto;border:1px solid var(--line);background:#0f0d0a;box-shadow:0 25px 80px rgba(0,0,0,.28)}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--line);background:#18120b}.calendar-weekdays span{padding:15px 12px;text-align:center;color:var(--gold-bright);font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.08)}.calendar-weekdays span:last-child{border-right:0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{position:relative;min-height:150px;padding:14px;border-right:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(145deg,rgba(255,255,255,.025),transparent)}.calendar-day:nth-child(7n){border-right:0}.calendar-day.empty{background:#090806}.calendar-date{display:block;margin-bottom:16px;color:#efe4d2;font:400 22px Georgia,'Times New Roman',serif}.calendar-event{display:block;margin:6px 0 0;padding:7px 8px;border-left:3px solid;font-size:9px;font-weight:900;letter-spacing:.05em;line-height:1.3;text-transform:uppercase;background:rgba(255,255,255,.045)}.calendar-event.karaoke{border-color:#c988df;color:#e7b7f4}.calendar-event.music{border-color:var(--gold-bright);color:#f2d18c}.calendar-event.football{border-color:#7db58d;color:#a8d7b4}.calendar-event.special{border-color:#d76a6a;color:#efaaa4}.calendar-note{max-width:1200px;margin:22px auto 0;padding:24px 26px;border:1px solid rgba(255,255,255,.1);display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;background:#13100c}.calendar-note strong{font:400 20px Georgia,'Times New Roman',serif;color:var(--cream)}.calendar-note span{color:var(--muted);font-size:12px;line-height:1.5}.calendar-note a{color:var(--gold-bright);text-decoration:none;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap}
@media(max-width:900px){.calendar-heading{align-items:flex-start;flex-direction:column;gap:24px}.calendar-key{justify-content:flex-start}.calendar-day{min-height:125px;padding:10px}.calendar-date{font-size:18px;margin-bottom:11px}.calendar-event{font-size:8px;padding:6px}.calendar-note{grid-template-columns:1fr;gap:10px}}
@media(max-width:650px){.calendar-section{padding:85px 4vw 95px}.calendar-shell{overflow-x:auto}.calendar-weekdays,.calendar-grid{min-width:760px}.calendar-day{min-height:132px}.calendar-note{padding:21px}.calendar-heading{padding:0 2vw}.calendar-key{gap:13px}}


/* Live music / bands page */
.event-link{display:inline-block;margin-top:18px;color:var(--gold-bright);text-decoration:none;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.event-link:hover{color:var(--cream)}
.calendar-event.linked{text-decoration:none;cursor:pointer;transition:.18s ease}.calendar-event.linked:hover{background:rgba(215,166,74,.13);transform:translateX(2px);color:var(--cream)}
.bands-hero{position:relative;min-height:760px;display:flex;align-items:center;background:url('assets/tavern-exterior.png') center/cover no-repeat}.bands-hero-copy{position:relative;z-index:1;width:min(1200px,90vw);margin:auto;padding-top:70px}.bands-hero h1{margin:0;font:400 clamp(62px,8vw,112px)/.9 Georgia,'Times New Roman',serif;letter-spacing:-.05em;text-shadow:0 6px 28px #000}.bands-hero h1 em{color:var(--gold-bright);font-weight:400}.bands-hero-copy>p:not(.eyebrow){max-width:680px;margin:28px 0 30px;color:#e3d7c5;font:20px/1.65 Georgia,'Times New Roman',serif}.bands-intro{max-width:1200px;margin:auto;padding:105px 5vw 55px;display:flex;justify-content:space-between;align-items:flex-end;gap:55px}.bands-intro>div{max-width:800px}.bands-intro h2,.band-calendar-callout h2{margin:8px 0 20px;font:400 clamp(44px,5.4vw,70px)/1.03 Georgia,'Times New Roman',serif;letter-spacing:-.035em}.bands-intro p:not(.eyebrow),.band-calendar-callout p:not(.eyebrow){color:var(--muted);font:18px/1.7 Georgia,'Times New Roman',serif}.band-listings{max-width:1200px;margin:auto;padding:0 5vw 110px}.band-placeholder{padding:50px;border:1px solid var(--line);background:linear-gradient(145deg,#1a130b,#0d0b08);box-shadow:0 25px 70px rgba(0,0,0,.25)}.band-placeholder h3{margin:14px 0 16px;font:400 clamp(34px,4vw,52px)/1.04 Georgia,'Times New Roman',serif}.band-placeholder p{max-width:760px;color:var(--muted);font:17px/1.7 Georgia,'Times New Roman',serif}.band-placeholder-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.band-calendar-callout{padding:100px 5vw;text-align:center;background:linear-gradient(120deg,#1b140b,#0c0a07 55%,#181006);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.band-calendar-callout p:not(.eyebrow){max-width:760px;margin:0 auto 28px}
@media(max-width:900px){.bands-hero{min-height:700px}.bands-hero-copy{padding-top:100px}.bands-intro{align-items:flex-start;flex-direction:column;padding-top:80px}.band-placeholder{padding:34px}}
@media(max-width:520px){.bands-hero h1{font-size:clamp(56px,17vw,78px)}.bands-intro,.band-listings{padding-left:6vw;padding-right:6vw}.band-placeholder-actions{flex-direction:column}.band-placeholder-actions .button{max-width:none}}

/* Auto-generated band cards from bands-data.js */
.band-listings{display:grid;gap:28px}
.band-card{scroll-margin-top:110px;display:grid;grid-template-columns:minmax(260px,38%) 1fr;min-height:330px;border:1px solid var(--line);background:linear-gradient(145deg,#1a130b,#0d0b08);box-shadow:0 25px 70px rgba(0,0,0,.25);overflow:hidden}
.band-card-photo{min-height:330px;background:#090806}.band-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
.band-card-body{padding:46px 50px;display:flex;flex-direction:column;justify-content:center}.band-card-body h3{margin:12px 0 10px;font:400 clamp(36px,4.5vw,58px)/1 Georgia,'Times New Roman',serif;letter-spacing:-.035em;color:var(--cream)}
.band-card-schedule{margin:0 0 16px;color:var(--gold-bright);font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.band-card-description{max-width:720px;margin:0;color:var(--muted);font:17px/1.7 Georgia,'Times New Roman',serif}.band-card-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
@media(max-width:800px){.band-card{grid-template-columns:1fr}.band-card-photo{min-height:280px}.band-card-body{padding:34px}}
@media(max-width:520px){.band-card-actions{flex-direction:column}.band-card-actions .button{max-width:none}}


/* Site-wide visitor counter (CounterAPI) */
.visitor-count-wrap{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:14px;color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.visitor-count-number{display:inline-block;min-width:42px;padding:5px 9px;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--gold-bright);font:700 13px/1.2 Georgia,'Times New Roman',serif;letter-spacing:.04em;text-align:center}

/* Online employment application */
.application-hero{padding:190px 5vw 80px;background:linear-gradient(120deg,#1b140b,#0c0a07 55%,#181006);border-bottom:1px solid var(--line)}.application-hero>div{max-width:1200px;margin:auto}.application-hero h1,.thank-you-section h1{margin:8px 0 20px;font:400 clamp(52px,7vw,88px)/.95 Georgia,'Times New Roman',serif;letter-spacing:-.045em}.application-hero h1 em,.thank-you-section h1 em{color:var(--gold-bright);font-weight:400}.application-hero p:last-child,.thank-you-section p:not(.eyebrow){max-width:720px;color:var(--muted);font:19px/1.65 Georgia,'Times New Roman',serif}.application-section{padding:70px 5vw 110px;background:#0b0907}.employment-form{max-width:1050px;margin:auto;border:1px solid var(--line);background:#12100d;box-shadow:0 25px 80px rgba(0,0,0,.3)}.form-intro{padding:38px 42px;border-bottom:1px solid var(--line)}.form-intro h2{margin:7px 0 8px;font:400 38px Georgia,'Times New Roman',serif}.form-intro p:last-child{margin:0;color:var(--muted)}.employment-form fieldset{margin:0;padding:36px 42px 40px;border:0;border-bottom:1px solid rgba(255,255,255,.1)}.employment-form legend{float:left;width:100%;margin:0 0 25px;color:var(--gold-bright);font:400 26px Georgia,'Times New Roman',serif}.employment-form legend+*{clear:both}.employment-form label{display:flex;flex-direction:column;gap:8px;color:#e8ddcc;font-size:11px;font-weight:800;letter-spacing:.04em}.employment-form input,.employment-form select,.employment-form textarea{width:100%;padding:13px 14px;border:1px solid rgba(255,255,255,.18);border-radius:0;background:#0b0907;color:var(--cream);font:15px Arial,Helvetica,sans-serif;outline:none}.employment-form input:focus,.employment-form select:focus,.employment-form textarea:focus{border-color:var(--gold)}.employment-form textarea{resize:vertical}.form-grid{display:grid;gap:20px;margin-bottom:22px}.form-grid.two{grid-template-columns:repeat(2,1fr)}.form-grid.three{grid-template-columns:repeat(3,1fr)}.form-grid.four{grid-template-columns:repeat(4,1fr)}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:26px}.check-grid label,.certify{flex-direction:row;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.12);background:#0d0b09}.check-grid input,.certify input,.not-available input{width:auto;accent-color:var(--gold)}.question-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.availability-table{margin-bottom:22px;border:1px solid rgba(255,255,255,.12)}.availability-head,.availability-row{display:grid;grid-template-columns:1fr 1fr 1fr 1.15fr;align-items:center}.availability-head{background:#21170b;color:var(--gold-bright);font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.availability-head span,.availability-row>*{padding:11px;border-right:1px solid rgba(255,255,255,.1)}.availability-head span:last-child,.availability-row>*:last-child{border-right:0}.availability-row{border-top:1px solid rgba(255,255,255,.1)}.availability-row strong{font:400 15px Georgia,'Times New Roman',serif}.availability-row input[type=time]{padding:10px}.not-available{flex-direction:row!important;align-items:center}.references-grid{display:grid;grid-template-columns:1.2fr 1fr 1.2fr .7fr;gap:16px}.label-note{color:var(--muted);font-weight:400}.authorization{clear:both;color:#cfc4b5;font:15px/1.65 Georgia,'Times New Roman',serif}.certify{margin:22px 0}.form-submit{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:30px 42px;background:#21170b}.form-submit p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.form-submit strong{color:var(--cream)}.employment-form button{cursor:pointer}.thank-you-section{min-height:100vh;padding:220px 5vw 100px;display:flex;align-items:center;background:radial-gradient(circle at 50% 20%,#251b0f,#090806 55%)}.thank-you-section>div{width:min(900px,90vw);margin:auto;text-align:center}.thank-you-section p:not(.eyebrow){margin:20px auto 0}.thank-you-section .hero-actions{justify-content:center}
@media(max-width:800px){.application-hero{padding-top:150px}.form-grid.two,.form-grid.three,.form-grid.four,.question-grid,.check-grid,.references-grid{grid-template-columns:1fr}.form-intro,.employment-form fieldset,.form-submit{padding-left:24px;padding-right:24px}.form-submit{align-items:flex-start;flex-direction:column}.availability-table{overflow-x:auto}.availability-head,.availability-row{min-width:680px}}

/* Availability time rollers/dropdowns */
.availability-row select {
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid #ccc;
  border-radius: 6px;
  background: #000;
  color: #fff;
  border-color: #555;
  font: inherit;
  cursor: pointer;
}


/* ServSafe multi-select dropdown */
.servsafe-field{display:flex;flex-direction:column;gap:8px}.field-label{color:#e8ddcc;font-size:11px;font-weight:800;letter-spacing:.04em}.servsafe-multiselect{position:relative}.servsafe-toggle{width:100%;min-height:44px;padding:10px 40px 10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:0;background:#0b0907;color:#fff;font:15px Arial,Helvetica,sans-serif;text-align:left;cursor:pointer;position:relative}.servsafe-toggle::after{content:'▾';position:absolute;right:14px;top:50%;transform:translateY(-50%);color:#fff}.servsafe-toggle:focus{border-color:var(--gold);outline:none}.servsafe-options{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);max-height:330px;overflow:auto;border:1px solid #555;background:#000;box-shadow:0 12px 30px rgba(0,0,0,.55)}.servsafe-options[hidden]{display:none}.servsafe-options label{display:flex!important;flex-direction:row!important;align-items:center;gap:10px;padding:12px;color:#fff!important;font-size:13px!important;font-weight:400!important;letter-spacing:0!important;cursor:pointer;border-bottom:1px solid #222}.servsafe-options label:hover{background:#171717}.servsafe-options input{width:auto!important;margin:0;accent-color:var(--gold)}

/* Responsive site-wide improvements - optimized for phones, tablets and desktops */
html, body { max-width: 100%; }
body { -webkit-text-size-adjust: 100%; }
button, input, select, textarea { font: inherit; }

/* Keep content fluid without allowing desktop-sized elements to overflow */
.hero-content,
.image-statement-copy,
.jobs-hero-copy,
.application-hero>div,
.thank-you-section>div { width: min(1200px, calc(100% - 40px)); }

@media (max-width: 900px) {
  .site-header { padding: 18px 20px; }
  .hero { min-height: 760px; height: 100svh; }
  .hero-content { width: calc(100% - 40px); }
  .hero-actions { flex-wrap: wrap; }
  .weekly-ribbon { position: absolute; }
  .intro, .events, .application-section, .openings-section, .contact-section { padding-left: 20px; padding-right: 20px; }
  .event-grid, .contact-grid { grid-template-columns: 1fr; }
  .hours-section { grid-template-columns: 1fr; padding-left: 20px; padding-right: 20px; }
  .about { grid-template-columns: 1fr; }
  .facebook-section { padding-left: 20px; padding-right: 20px; }
  .band-listings { padding-left: 0; padding-right: 0; }
  .band-card { grid-template-columns: 1fr; }
  .band-card-photo { min-height: 300px; }

  /* Employment application becomes a comfortable single-column form */
  .employment-form { width: 100%; }
  .form-grid.two, .form-grid.three, .form-grid.four,
  .question-grid, .check-grid, .references-grid { grid-template-columns: 1fr; }
  .form-intro, .employment-form fieldset, .form-submit { padding-left: 20px; padding-right: 20px; }
  .form-submit { flex-direction: column; align-items: stretch; }
  .form-submit .button { max-width: none; }
  .availability-table { overflow-x: visible; border: 0; }
  .availability-head { display: none; }
  .availability-row {
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.12);
    margin-bottom: 10px;
    background: #0d0b09;
  }
  .availability-row > * { padding: 0; border-right: 0; }
  .availability-row strong { grid-column: 1 / -1; padding-bottom: 4px; color: var(--gold-bright); }
  .availability-row select { min-width: 0; }
  .not-available { grid-column: 1 / -1; padding-top: 4px !important; }
}

@media (max-width: 600px) {
  .site-header { padding: 15px 16px; }
  .brand { font-size: 20px; }
  .brand small { font-size: 7px; letter-spacing: .16em; }
  .site-nav { top: 68px; padding: 22px 20px; gap: 18px; }
  .site-nav a { font-size: 12px; }

  .hero { min-height: 720px; background-position: 60% center; }
  .hero-content { width: calc(100% - 32px); padding-bottom: 155px; }
  .hero h1 { max-width: 100%; font-size: clamp(46px, 14vw, 72px); }
  .hero-copy { font-size: 17px; line-height: 1.5; }
  .hero-actions { flex-direction: column; align-items: stretch; width: 100%; }
  .hero-actions .button { width: 100%; max-width: none; }
  .weekly-ribbon div { padding: 8px 16px; }
  .weekly-ribbon span { font-size: 13px; }

  .intro, .events, .hours-section, .facebook-section, .contact-section, .openings-section { padding-top: 70px; padding-bottom: 75px; }
  .intro h2, .section-title h2, .hours-heading h2, .about-copy h2,
  .facebook-copy h2, .contact-heading h2, .opening-placeholder h3 { font-size: clamp(36px, 11vw, 54px); }
  .intro p:last-child, .hours-heading>p:last-child { font-size: 17px; }
  .event-card { min-height: 300px; }
  .event-card h3 { font-size: 34px; }
  .event-body { padding: 24px; }
  .image-statement { min-height: 440px; }
  .image-statement h2 { font-size: clamp(48px, 14vw, 76px); }
  .about-photo { min-height: 320px; }
  .about-copy { padding: 60px 20px; }
  .visit { min-height: 460px; }
  .visit-card { padding: 55px 16px; }
  .visit-card h2 { font-size: clamp(38px, 12vw, 58px); }
  .visit-card p:not(.eyebrow) { font-size: 17px; }
  footer { padding: 28px 20px; }
  .footer-hours { flex-direction: column; gap: 8px; }

  /* Application fields and controls */
  .application-hero { padding: 145px 16px 60px; }
  .application-hero>div { width: 100%; }
  .application-hero h1 { font-size: clamp(46px, 14vw, 70px); }
  .application-hero p:last-child { font-size: 17px; }
  .application-section { padding: 45px 12px 70px; }
  .form-intro, .employment-form fieldset, .form-submit { padding-left: 16px; padding-right: 16px; }
  .form-intro h2 { font-size: 30px; }
  .employment-form legend { font-size: 22px; }
  .employment-form input, .employment-form select, .employment-form textarea,
  .availability-row select, .servsafe-toggle { font-size: 16px; min-height: 46px; }
  .availability-row { grid-template-columns: 1fr; }
  .availability-row strong, .not-available { grid-column: 1; }
  .servsafe-options { max-height: 280px; }
  .servsafe-options label { min-height: 46px; }
  .form-submit { padding-top: 24px; padding-bottom: 24px; }
  .form-submit .button { width: 100%; }

  .jobs-hero { min-height: 650px; }
  .jobs-hero-copy { width: calc(100% - 32px); padding-top: 100px; }
  .jobs-hero h1 { font-size: clamp(50px, 15vw, 76px); }
  .jobs-hero-copy>p:not(.eyebrow) { font-size: 17px; }
  .opening-placeholder { padding: 28px 20px; }
  .job-listing-head { grid-template-columns: 1fr; gap: 20px; padding: 28px 20px; }
  .job-listing-body { padding-left: 20px !important; padding-right: 20px !important; }
}

@media (max-width: 380px) {
  .brand { font-size: 18px; }
  .brand small { font-size: 6px; }
  .hero h1 { font-size: 43px; }
  .hero-content { width: calc(100% - 24px); }
  .weekly-ribbon strong { font-size: 8px; }
  .weekly-ribbon span { font-size: 12px; }
  .application-section { padding-left: 6px; padding-right: 6px; }
}


/* Renovation image on home page */
.reno-image {
  display: block;
  width: min(700px, 100%);
  max-width: 100%;
  height: auto;
  margin: 0 0 22px;
  border-radius: 6px;
  box-shadow: 0 6px 20px rgba(0,0,0,.45);
}

/* Website Menu */
.menu-page{background:#0a0907}
.menu-hero{padding:190px 5vw 85px;background:radial-gradient(circle at 50% 10%,#392712 0,#17110a 42%,#090806 75%);border-bottom:1px solid var(--line);text-align:center}
.menu-hero-inner{max-width:900px;margin:auto}
.menu-hero h1{margin:8px 0 18px;font:400 clamp(56px,8vw,96px)/.98 Georgia,'Times New Roman',serif;letter-spacing:-.045em}
.menu-hero p:last-child{max-width:680px;margin:0 auto;color:#cfc4b5;font:19px/1.65 Georgia,'Times New Roman',serif}
.web-menu{padding:70px 5vw 110px;max-width:1280px;margin:auto}
.menu-note{margin:0 auto 26px;padding:14px 18px;border:1px solid rgba(198,151,66,.32);background:#171109;color:#d9c8a7;text-align:center;font-size:12px;letter-spacing:.04em}
.menu-grid{display:grid;grid-template-columns:1.3fr .9fr;gap:22px;align-items:start}
.menu-panel{border:1px solid rgba(255,255,255,.12);background:linear-gradient(145deg,#17120c,#0d0b08);box-shadow:0 25px 70px rgba(0,0,0,.22)}
.menu-food{grid-row:span 2}
.menu-panel-heading{padding:28px 30px 22px;border-bottom:1px solid var(--line)}
.menu-panel-heading span{color:var(--gold-bright);font-size:9px;font-weight:900;letter-spacing:.2em}
.menu-panel-heading h2{margin:8px 0 0;font:400 42px/1 Georgia,'Times New Roman',serif}
.menu-items{padding:8px 30px 18px}
.menu-item{padding:20px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.menu-item:last-child{border-bottom:0}
.menu-item h3{margin:0 0 6px;color:#f0e6d5;font:400 24px Georgia,'Times New Roman',serif}
.menu-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.beer-list,.soft-list{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:12px 30px 20px}
.beer-list span,.soft-list span{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07);color:#ddd2c1;font:16px Georgia,'Times New Roman',serif}
.beer-list span:nth-child(odd),.soft-list span:nth-child(odd){padding-right:16px}
.menu-smallprint{margin:0;padding:0 30px 24px;color:#8f8476;font-size:10px;letter-spacing:.04em}

.menu-combos{border-color:rgba(198,151,66,.34)}
.menu-combos .menu-panel-heading{background:linear-gradient(90deg,rgba(198,151,66,.12),transparent)}
.menu-combos .menu-item h3{color:#f4dfb2}
.taste-ne{margin:8px 0 6px;padding:22px 18px!important;border:1px solid rgba(198,151,66,.38)!important;background:rgba(198,151,66,.06)}
.taste-ne h3{color:var(--gold-bright)!important;font-size:27px!important}

.menu-footer-card{margin-top:24px;padding:55px 30px;text-align:center;border:1px solid var(--gold);background:linear-gradient(135deg,#2b1d0d,#120e08)}
.menu-footer-card h2{margin:8px auto 28px;max-width:760px;font:400 clamp(34px,5vw,56px)/1.05 Georgia,'Times New Roman',serif}
.coming-soon a{color:inherit;text-decoration:none}.coming-soon a:hover{color:var(--gold-bright)}
@media(max-width:850px){.menu-grid{grid-template-columns:1fr}.menu-food{grid-row:auto}.menu-hero{padding-top:145px}.web-menu{padding-left:20px;padding-right:20px}.menu-panel-heading,.menu-items{padding-left:22px;padding-right:22px}.beer-list,.soft-list{padding-left:22px;padding-right:22px}}
@media(max-width:480px){.beer-list,.soft-list{grid-template-columns:1fr}.beer-list span:nth-child(odd),.soft-list span:nth-child(odd){padding-right:0}.menu-hero h1{font-size:52px}}


/* Full visual tavern menu */
.menu-display-main{background:#080807;padding:135px 0 70px}
.menu-display{width:min(1120px,96vw);margin:0 auto;padding:0 18px}
.full-menu-image{display:block;width:100%;height:auto;margin:0 auto;border:1px solid rgba(198,151,66,.35);box-shadow:0 24px 70px rgba(0,0,0,.55)}
@media(max-width:700px){.menu-display-main{padding-top:95px}.menu-display{width:100%;padding:0 8px}.full-menu-image{border-left:0;border-right:0}}

/* Home page mobile scaling refinements */
@media (max-width: 900px) {
  .hero {
    height: auto;
    min-height: 100svh;
    padding-top: 105px;
    padding-bottom: 170px;
    align-items: flex-start;
  }
  .hero-content {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding-top: 0;
    padding-bottom: 0;
  }
  .reno-image {
    width: min(620px, 100%);
    margin: 0 0 20px;
  }
}

@media (max-width: 600px) {
  html, body { overflow-x: hidden; }
  .hero {
    min-height: 0;
    padding-top: 92px;
    padding-bottom: 165px;
    background-position: 58% center;
  }
  .hero-content {
    width: calc(100% - 32px);
  }
  .reno-image {
    width: 100%;
    max-height: 170px;
    object-fit: contain;
    object-position: left center;
    margin-bottom: 18px;
  }
  .hero h1 {
    font-size: clamp(42px, 12vw, 62px);
    line-height: .96;
    letter-spacing: -.04em;
  }
  .hero-copy {
    max-width: 100%;
  }
  .weekly-ribbon {
    width: 100%;
  }
}

@media (max-width: 380px) {
  .hero { padding-top: 86px; }
  .reno-image { max-height: 145px; }
  .hero h1 { font-size: 39px; }
}

/* Real scannable Facebook QR shown separately from menu artwork */
.menu-qr-card{display:flex;align-items:center;justify-content:center;gap:18px;width:max-content;max-width:calc(100vw - 32px);margin:0 0 18px auto;padding:12px 16px 12px 12px;background:#fff;border:2px solid #c69742;box-shadow:0 12px 30px rgba(0,0,0,.45);color:#111}
.menu-qr-card a{display:block;line-height:0}
.menu-qr-card img{display:block;width:170px;height:170px;object-fit:contain;image-rendering:auto}
.menu-qr-card div{display:flex;flex-direction:column;gap:4px;max-width:180px}
.menu-qr-card strong{font-size:13px;letter-spacing:.1em;color:#111}
.menu-qr-card span{font-size:11px;line-height:1.4;color:#555}
@media(max-width:700px){.menu-qr-card{margin:0 auto 14px;padding:10px 12px;gap:12px}.menu-qr-card img{width:150px;height:150px}.menu-qr-card div{max-width:145px}.menu-qr-card strong{font-size:11px}.menu-qr-card span{font-size:10px}}
@media(max-width:390px){.menu-qr-card{width:calc(100% - 12px);justify-content:flex-start}.menu-qr-card img{width:135px;height:135px}}
@media print{.site-header,footer{display:none!important}.menu-display-main{padding:0;background:#fff}.menu-display{width:8.5in;max-width:100%;padding:0;margin:0 auto}.menu-qr-card{position:absolute;z-index:3;top:.18in;right:.18in;margin:0;padding:.05in;background:#fff;border:1px solid #000;box-shadow:none}.menu-qr-card img{width:1.25in;height:1.25in}.menu-qr-card div{display:none}.full-menu-image{width:8.5in;max-width:100%;border:0;box-shadow:none}}

/* Calendar month navigation */
.calendar-controls{max-width:1200px;margin:0 auto 18px;display:flex;align-items:center;justify-content:center;gap:12px}.calendar-controls button{appearance:none;border:1px solid var(--gold);background:#15110c;color:var(--gold-bright);padding:12px 18px;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:.18s ease}.calendar-controls button:hover,.calendar-controls button:focus{background:var(--gold);color:#090806;outline:none}.calendar-today-button{border-color:rgba(255,255,255,.22)!important;color:var(--cream)!important}.calendar-today-button:hover,.calendar-today-button:focus{border-color:var(--gold)!important;color:#090806!important}@media(max-width:520px){.calendar-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calendar-today-button{grid-column:1/-1;grid-row:2}.calendar-controls button{padding:11px 8px;font-size:9px}}


/* Band photo icons inside the monthly calendar */
.calendar-event.calendar-band-tile{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px;
  border-left:3px solid var(--gold-bright);
  text-decoration:none;
  overflow:hidden;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.calendar-event.calendar-band-tile:hover,
.calendar-event.calendar-band-tile:focus-visible{
  transform:translateY(-1px);
  background:rgba(198,151,66,.12);
  outline:none;
}
.calendar-band-icon{
  flex:0 0 46px;
  width:46px;
  height:46px;
  border-radius:7px;
  object-fit:cover;
  object-position:center;
  background:#21170b;
  border:1px solid rgba(198,151,66,.6);
  box-shadow:0 3px 10px rgba(0,0,0,.35);
}
.calendar-band-icon-fallback{
  display:grid;
  place-items:center;
  color:var(--gold-bright);
  font:700 24px/1 Georgia,'Times New Roman',serif;
}
.calendar-band-caption{
  min-width:0;
  color:#f2d18c;
  font-size:9px;
  font-weight:900;
  letter-spacing:.04em;
  line-height:1.3;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
@media(max-width:700px){
  .calendar-event.calendar-band-tile{flex-direction:column;align-items:flex-start;gap:5px;padding:5px}
  .calendar-band-icon{width:42px;height:42px;flex-basis:42px}
  .calendar-band-caption{font-size:8px;letter-spacing:.02em}
}
@media(max-width:520px){
  .calendar-band-icon{width:36px;height:36px;flex-basis:36px;border-radius:5px}
  .calendar-band-caption{font-size:7px}
}

/* Calendar arrows: attached directly above the calendar */
.calendar-section .calendar-controls{
  width:min(1200px,100%);
  margin:24px auto 0;
  padding:10px 12px;
  display:grid;
  grid-template-columns:64px 1fr 64px;
  align-items:center;
  gap:12px;
  border:1px solid rgba(198,151,66,.28);
  border-bottom:0;
  background:#100d09;
}
.calendar-control-center{display:flex;align-items:center;justify-content:center;gap:14px;min-width:0;flex-wrap:wrap}
.calendar-control-center strong{font:400 20px Georgia,'Times New Roman',serif;color:var(--cream);white-space:nowrap}
.calendar-controls .calendar-arrow{width:52px;height:44px;padding:0;display:grid;place-items:center;font-size:25px;line-height:1;border-radius:4px}
.calendar-section .calendar-shell{margin-top:0}
@media(max-width:520px){
  .calendar-section .calendar-controls{grid-template-columns:50px 1fr 50px;gap:6px;padding:8px 6px}
  .calendar-control-center{gap:7px;flex-direction:column}
  .calendar-control-center strong{font-size:16px}
  .calendar-controls .calendar-arrow{width:44px;height:44px;font-size:23px}
  .calendar-today-button{grid-column:auto!important;grid-row:auto!important;padding:7px 10px!important;font-size:8px!important}
}


/* Band name and performance time shown together on calendar tiles */
.calendar-band-caption{display:flex;flex-direction:column;gap:3px;align-items:flex-start}
.calendar-band-name{display:block;color:#f2d18c;font:900 9px/1.25 Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase}
.calendar-band-time{display:inline-block;color:var(--cream);font:800 10px/1.2 Arial,sans-serif;letter-spacing:.02em;text-transform:none;white-space:nowrap}
@media(max-width:700px){.calendar-band-name{font-size:8px}.calendar-band-time{font-size:9px}}
@media(max-width:520px){.calendar-band-name{font-size:7px}.calendar-band-time{font-size:8px}}

/* Highlight the actual current date in the Tavern gold/cream color scheme */
.calendar-day.is-today{
  z-index:1;
  background:linear-gradient(145deg,rgba(198,151,66,.16),rgba(255,255,255,.025));
  box-shadow:inset 0 0 0 2px var(--gold-bright), inset 0 0 22px rgba(198,151,66,.08);
}
.calendar-day.is-today .calendar-date{
  display:inline-grid;
  place-items:center;
  min-width:34px;
  height:34px;
  padding:0 8px;
  margin-bottom:10px;
  border:1px solid var(--gold-bright);
  border-radius:999px;
  background:var(--gold-bright);
  color:#090806;
  font-weight:700;
  box-shadow:0 0 0 3px rgba(198,151,66,.16);
}
