/* ============================================================
   Big Weekend — 2027 Events Calendar page (montreal-events-2027.html)
   Loaded after styles.css; everything here is namespaced evx- (plus
   the small shared bits it redefines: .st chips, .evt-take/tags/url).
   Kept separate from styles.css so calendar redesigns never touch
   the global sheet.
   ============================================================ */

/* ---- hero: cream, with the cherry festival illustration as a panel ---- */
.evx-hero{padding:34px 0 46px}
.evx-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:52px;align-items:center}
.evx-hero-txt h1{font-size:clamp(46px,6.4vw,86px);line-height:.98;color:var(--bordeaux);letter-spacing:-.005em}
.evx-hero-txt h1 .script{color:var(--rose);font-size:1.06em;line-height:.9}
.evx-hero-txt .lede{font-size:18.5px;color:var(--ink);margin:22px 0 30px;max-width:52ch;line-height:1.6}
.evx-hero-txt .lede strong{font-weight:700;color:var(--bordeaux)}
.evx-hero-cta{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.evx-browse{font-family:'Hanken Grotesk',sans-serif;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bordeaux);text-decoration:none;border-bottom:1.5px solid var(--rose);padding-bottom:3px;transition:color .15s}
.evx-browse:hover{color:var(--rose)}
.evx-hero-photo{position:relative;margin:0;display:flex;justify-content:center}
.evx-hero-photo img{width:100%;max-width:540px;height:auto;display:block;filter:drop-shadow(7px 17px 22px rgba(58,15,27,.35))}

/* ---- sticky month nav (sits under the 78px sticky header) ---- */
.evx-mnav{position:sticky;top:78px;z-index:40;background:rgba(246,240,227,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--line-ink);border-bottom:1px solid var(--line-ink)}
.evx-mnav ul{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.evx-mnav ul::-webkit-scrollbar{display:none}
.evx-mnav a{display:block;padding:11px 8px 9px;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;transition:color .15s,border-color .15s}
.evx-mnav a:hover{color:var(--rose)}
.evx-mnav a.on{color:var(--rose);border-bottom-color:var(--rose)}
.evx-mnav a:focus-visible{outline:2px solid var(--rose);outline-offset:-2px}

/* generous anchor offsets for the header + month bar.
   (main [id] in styles.css sets 92px at higher specificity, so these
   selectors carry the same specificity and win by source order.) */
main .evx-mo,main [id^="ev-"]{scroll-margin-top:150px}
#shortlist,#datefinder,#seasons{scroll-margin-top:126px}
#evx-results{scroll-margin-top:150px}

/* ---- shared small bits ---- */
.evx-sub{font-size:15.5px;color:var(--ink-soft);max-width:56ch;line-height:1.6;margin-top:10px}
.st{display:inline-block;font-size:8.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:100px;padding:4px 10px;white-space:nowrap;vertical-align:2px}
.st-conf{background:var(--blush);color:var(--bordeaux)}
.st-exp{border:1px dashed var(--rose);color:var(--rose)}
.evx-kicker{font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rose)}
.evx-kicker .loc{display:block;color:var(--ink-soft);margin-top:5px;letter-spacing:.16em}
.evt-url{font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rose);padding-bottom:2px;white-space:nowrap}
.evt-url:hover{color:var(--rose)}

/* ---- weekend impact component ---- */
.imp{margin-top:14px;display:flex;flex-direction:column;gap:6px;border:1px dashed rgba(94,28,42,.32);border-radius:14px;background:rgba(235,215,207,.38);padding:14px 18px;max-width:480px}
.imp-r{display:flex;align-items:center;gap:12px}
.imp-r .k{flex:0 0 148px;font-style:normal;font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}
.imp-r .dots{display:inline-flex;gap:4px;font-style:normal}
.imp-r .dots b{width:7px;height:7px;border-radius:50%;background:rgba(43,18,25,.13)}
.imp-r .dots b.on{background:var(--rose)}
.imp-r .v{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bordeaux)}
.imp-verdict{margin-top:3px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16.5px;color:var(--bordeaux);line-height:1.35}
.imp-verdict i{font-family:'Hanken Grotesk',sans-serif;font-style:normal;font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rose);margin-right:8px;vertical-align:2px}

/* ---- the shortlist: cherry band, one scrollable line of square cards ---- */
.evx-short{position:relative;background:var(--rose);color:var(--cream);padding:64px 0 66px;overflow:hidden}
.evx-short::before{ /* logo pinstripe texture, same as the homepage bands */
  content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(90deg,transparent 0 46px,rgba(255,255,255,.035) 46px 48px);
  pointer-events:none;
}
.evx-short-grid{position:relative;display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);gap:48px;align-items:center}
.evx-short-heading .ed-eyebrow{color:#F3CDD5}
.evx-short-heading .wkd-sec-h{font-size:clamp(34px,4vw,50px);line-height:1.04;color:var(--cream)}
.evx-short-heading .wkd-sec-h .script{font-size:1.18em;color:#F3CDD5}
.evx-cboxes{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:10px 2px 14px}
.evx-cboxes::-webkit-scrollbar{display:none}
.evx-cbox{flex:0 0 225px;scroll-snap-align:start;aspect-ratio:1/1;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:10px;background:#FBF7EE;border:1px solid rgba(72,20,32,.18);border-radius:18px;padding:24px 24px 22px;text-decoration:none;color:var(--ink);box-shadow:0 10px 26px rgba(72,20,32,.16);transition:transform .22s ease,box-shadow .22s ease}
.evx-cbox:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(72,20,32,.24)}
.evx-cbox:focus-visible{outline:3px solid var(--cream);outline-offset:3px}
.evx-cbox h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:24px;color:var(--ink);line-height:1.05}
.evx-cbox .pill{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--bordeaux);background:var(--blush);border-radius:100px;padding:7px 13px}
.evx-cbox .blurb{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15.5px;color:var(--ink-soft);line-height:1.35;margin-top:2px}
.evx-cbox .dates{font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rose);margin-top:auto;padding-top:10px}

/* ---- date finder: compact booking bar, frosted-glass card ----
   The card floats up over the cherry shortlist band so the backdrop
   blur actually has something to frost. */
.evx-finder{padding:54px 0 40px}
.evx-finder-card{
  position:relative;z-index:5;
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.35fr);gap:8px 52px;align-items:center;
  background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,0) 46%),rgba(246,240,227,.66);
  -webkit-backdrop-filter:blur(20px) saturate(1.15);backdrop-filter:blur(20px) saturate(1.15);
  border:1px solid rgba(255,255,255,.6);border-radius:22px;
  box-shadow:0 28px 60px rgba(72,20,32,.2),0 4px 14px rgba(72,20,32,.08);
  padding:34px 48px 28px;
}
.evx-finder-intro{grid-column:1;grid-row:1}
.evx-finder-intro h2{font-size:clamp(28px,3.2vw,36px);color:var(--bordeaux)}
.evx-finder-intro .evx-sub{margin-top:8px;font-size:14.5px}
#evx-ff{display:contents} /* lets the chips row span the full card */
.evx-results{grid-column:1/-1}
.evx-ff-dates{grid-column:2;grid-row:1;display:flex;align-items:flex-end;gap:16px;flex-wrap:wrap}
.evx-ff-f{flex:1 1 150px}
.evx-ff-f{display:flex;flex-direction:column;gap:7px}
.evx-ff-f span{font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rose)}
.evx-ff-f input{width:100%;font-family:'Hanken Grotesk',sans-serif;font-size:15px;color:var(--ink);background:#FCF8EF;border:1px solid var(--line-ink);border-radius:10px;padding:13px 14px;min-width:0}
.evx-ff-f input:focus{outline:2px solid var(--rose);outline-offset:1px;border-color:transparent}
.evx-ff-go{border:none;height:49px}
.evx-ff-chips{grid-column:1/-1;display:flex;flex-wrap:nowrap;align-items:center;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid rgba(94,28,42,.14);overflow-x:auto;scrollbar-width:none}
.evx-ff-chips::-webkit-scrollbar{display:none}
.evx-chip{white-space:nowrap;flex:none}
.evx-ff-err{grid-column:1/-1}
.evx-ff-k{font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft);margin-right:8px}
.evx-chip{font-family:'Hanken Grotesk',sans-serif;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);background:transparent;border:1px solid rgba(43,18,25,.28);border-radius:100px;padding:8px 15px;cursor:pointer;transition:all .15s}
.evx-chip:hover{border-color:var(--rose);color:var(--rose)}
.evx-chip.on{background:var(--rose);border-color:var(--rose);color:var(--cream)}
.evx-chip:focus-visible{outline:2px solid var(--bordeaux);outline-offset:2px}
.evx-ff-err{margin-top:14px;font-size:13px;font-weight:600;color:var(--bordeaux)}
.evx-results{margin:0}
.evx-results.has{margin-top:30px;border-top:1px dashed rgba(94,28,42,.35);padding-top:24px}
.evx-res-head .k{font-size:11px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--bordeaux)}
.evx-res-note{margin-top:12px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--bordeaux)}
.evx-res-empty{margin-top:14px;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18.5px;color:var(--bordeaux);max-width:56ch;line-height:1.45}
.evx-res-item{padding:18px 0;border-bottom:1px solid rgba(43,18,25,.14)}
.evx-res-item h4{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:22px;line-height:1.1;margin:7px 0 4px}
.evx-res-item h4 a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(172,65,83,.5)}
.evx-res-item h4 a:hover{color:var(--rose)}
.evx-res-item .desc{font-size:13.5px;color:var(--ink-soft);line-height:1.55;max-width:64ch}
.evx-res-item .imp{background:rgba(246,240,227,.55)}
.evx-res-item .lnk{margin-top:9px}
.evx-res-alsok{margin:20px 0 4px;font-size:9.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-soft)}
.evx-res-mini{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid rgba(43,18,25,.1)}
.evx-res-mini .w{flex:0 0 150px;font-size:9.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rose)}
.evx-res-mini a{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:17px;color:var(--ink);text-decoration:none;border-bottom:1px dotted rgba(172,65,83,.55)}
.evx-res-mini a:hover{color:var(--rose)}
.evx-res-mini .loc{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
.evx-res-fine{margin-top:16px;font-size:11.5px;color:var(--ink-soft);line-height:1.6;max-width:70ch}
.evx-res-cta{margin-top:22px}

/* ---- the year, month by month: colour-coded card grid ---- */
.evx-year-head{padding:44px 0 0}
.evx-year{padding:0 0 30px}
.evx-gchips{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:20px 0 4px}
.evx-mo{padding:26px 0 4px}
.evx-mo[hidden]{display:none}
.evx-mo-bar{display:flex;align-items:baseline;gap:13px;border-bottom:2px solid var(--bordeaux);padding-bottom:8px;margin-bottom:16px;flex-wrap:wrap}
.evx-mo-bar .n{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:16px;color:var(--rose)}
.evx-mo-bar h3{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(25px,2.8vw,31px);color:var(--ink);letter-spacing:.02em}
.evx-mo-bar .note{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:15.5px;color:var(--ink-soft);margin-left:auto}
.evx-mo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.evx-ecard{display:flex;flex-direction:column;align-items:flex-start;gap:9px;min-height:205px;border-radius:18px;padding:22px 22px 20px;text-decoration:none;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease}
.evx-ecard[hidden]{display:none}
.evx-ecard:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(72,20,32,.18)}
.evx-ecard:focus-visible{outline:3px solid var(--rose);outline-offset:2px}
.evx-ecard .pill{font-size:8.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;border-radius:100px;padding:6px 12px}
.evx-ecard h4{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:22px;line-height:1.06}
.evx-ecard .blurb{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:14.5px;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.evx-ecard .dates{margin-top:auto;padding-top:10px;font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
/* soft brand tints; the solid pill carries the colour coding */
.evx-ecard{color:var(--ink)}
.evx-ecard h4{color:var(--ink)}
.evx-ecard .blurb{color:var(--ink-soft)}
.evx-ecard .dates{color:var(--rose)}
.cat-music{background:rgba(172,65,83,.18)}
.cat-food{background:rgba(94,28,42,.13)}
.cat-night{background:rgba(72,20,32,.15)}
.cat-art{background:rgba(235,215,207,.55)}
.cat-sport{background:rgba(233,221,203,.6)}
.cat-seasonal{background:#FBF7EE;border-color:var(--line-ink)}
.cat-music .pill{background:var(--rose);color:var(--cream)}
.cat-food .pill{background:var(--bordeaux);color:var(--cream)}
.cat-night .pill{background:var(--bordeaux-deep);color:var(--cream)}
.cat-art .pill{background:var(--rose-lite);color:var(--cream)}
.cat-sport .pill{background:var(--ink-soft);color:var(--cream)}
.cat-seasonal .pill{background:var(--blush);color:var(--bordeaux)}
/* "more up our sleeve" sign-off */
.evx-more{text-align:center;margin:46px auto 8px;max-width:560px}
.evx-more .q{font-size:clamp(26px,2.8vw,32px);color:var(--rose);display:inline-block;line-height:1.1}
.evx-more .sq{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:17px;color:var(--ink-soft);margin-top:10px}

/* ---- mid-page conversion break ---- */
.evx-break{background:var(--bordeaux);color:var(--cream);border-radius:20px;padding:38px 46px;display:flex;justify-content:space-between;align-items:center;gap:34px}
.evx-break-eyebrow{font-size:10px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:#E9B7C0;margin-bottom:10px}
.evx-break-h{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(26px,3vw,34px);line-height:1.08;color:var(--cream)}
.evx-break-p{font-size:14.5px;color:var(--cream-dim);line-height:1.6;margin-top:10px;max-width:54ch}
.evx-break .btn{white-space:nowrap}

/* ---- final CTA (the bordeaux "we'll build around them" panel) ---- */
.evx-cta{padding:40px 0 90px}
.evx-break .btn-solid:focus-visible{outline:3px solid var(--cream);outline-offset:3px}

/* ---- fine print ---- */
.evx-fine{max-width:1180px;margin:0 auto;padding:0 32px 26px}
.evx-fine p{font-size:11.5px;color:var(--ink-soft);opacity:.8;line-height:1.7;border-top:1px solid var(--line-ink);padding-top:14px}

/* ============================================================
   responsive
   ============================================================ */
@media(max-width:1020px){
  .evx-hero-grid{gap:36px}
  .evx-hero-photo img{height:clamp(380px,52vh,520px)}
}
@media(max-width:860px){
  .evx-hero{padding:26px 0 34px}
  .evx-hero-grid{grid-template-columns:1fr;gap:24px}
  .evx-hero-txt h1{font-size:clamp(42px,10vw,54px)}
  .evx-hero-txt .lede{font-size:16.5px;margin:18px 0 24px}
  .evx-hero-photo img{max-width:min(86vw,420px)}
  .evx-short{padding:44px 0 46px}
  .evx-short-grid{grid-template-columns:1fr;gap:22px}
  .evx-cboxes{gap:12px;margin:0 -22px;padding:8px 22px 12px;scroll-snap-type:x mandatory}
  .evx-cbox{flex-basis:190px;padding:18px 18px 16px;gap:8px}
  .evx-cbox h3{font-size:21px}
  .evx-finder{padding:38px 0 30px}
  .evx-finder-card{grid-template-columns:1fr;gap:16px;padding:28px 24px 26px;border-radius:18px}
  .evx-finder-intro{grid-column:1;grid-row:auto}
  .evx-ff-dates{grid-column:1;grid-row:auto;flex-direction:column;align-items:stretch;gap:14px}
  .evx-ff-f{flex-basis:auto}
  .evx-ff-chips{margin:6px -24px 0;padding:14px 24px 2px}
  .evx-ff-f input{min-width:0;width:100%;font-size:16px} /* 16px floor stops iOS zoom */
  .evx-ff-go{width:100%;justify-content:center}
  .evx-mo-bar .note{margin-left:0;flex-basis:100%}
  .evx-mo-grid{grid-template-columns:1fr 1fr;gap:10px}
  .evx-ecard{min-height:0;padding:16px 16px 15px;gap:7px;border-radius:14px}
  .evx-ecard h4{font-size:18px}
  .evx-ecard .blurb{font-size:13.5px}
  .imp-r .k{flex-basis:126px}
  .evx-break{flex-direction:column;align-items:flex-start;padding:28px 26px}
  .evx-break .btn{width:100%;justify-content:center}
  .evx-cta{padding:28px 0 60px}
}
@media(max-width:520px){
  .evx-hero-photo figcaption{top:12px;left:12px;padding:7px 13px;letter-spacing:.18em}
  .evx-fine{padding:0 22px 20px}
}
@media(prefers-reduced-motion:reduce){
  .evx-cbox,.evx-cta-btn .ar{transition:none}
  .evx-cbox:hover{transform:none}
}
