/* PNW PASSPORT — Calendar layout refinement, November 2026.
   One clear date-picker section, then full-width editorial event cards.
   Keeps all existing filter, mystery ticket and saving logic unchanged. */

.cal-browser .cal-content{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:clamp(42px,5.2vw,72px);
  width:100%;
  min-width:0;
}
.cal-browser .cal-month-panel{
  position:static;
  top:auto;
  width:100%;
  max-width:none;
  display:grid;
  grid-template-columns:minmax(300px,535px) minmax(0,1fr);
  gap:clamp(30px,5.2vw,82px);
  align-items:center;
  padding:clamp(25px,4vw,47px);
  border:2px solid var(--spruce);
  background:#FFF9ED;
  box-shadow:8px 8px 0 var(--tide);
}
.cal-month-main{width:100%;min-width:0}
.cal-month-main .cal-month-top{
  margin-bottom:19px;
  padding-bottom:13px;
  border-bottom:2px solid var(--spruce);
}
.cal-month-main .cal-month-top h3{font-size:clamp(1.55rem,2.4vw,2.1rem);line-height:1.12}
.cal-month-main .cal-weekdays,
.cal-month-main .cal-month-grid{max-width:535px;width:100%;gap:5px}
.cal-month-main .cal-weekdays span{font-size:.75rem;letter-spacing:.05em}
.cal-month-main .cal-cell{
  height:clamp(42px,4.1vw,54px);
  border-radius:1px;
  font-size:.96rem;
  border:1px solid rgba(23,44,43,.12);
}
.cal-month-main .cal-cell.has-events{background:#E3EAB5}
.cal-month-main .cal-cell.is-past{opacity:.38}
.cal-month-main .cal-cell.selected{background:var(--spruce);color:var(--citron)}
.cal-month-aside{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  min-height:235px;
  padding:5px 0 5px clamp(25px,3.5vw,55px);
  border-left:3px dashed var(--tide);
}
.cal-month-aside .cal-aside-eyebrow{
  display:block;
  color:#24706D;
  font:800 .73rem/1.3 var(--display-font);
  letter-spacing:.1em;
  margin-bottom:13px;
}
.cal-month-aside h3{
  font:700 clamp(2.15rem,3.7vw,3.45rem)/.98 var(--serif);
  letter-spacing:-.055em;
  max-width:14ch;
  margin:0 0 17px;
  color:var(--spruce);
}
.cal-month-aside>p{color:#3F5656;line-height:1.62;font-size:.95rem;max-width:47ch;margin:0}
.cal-month-aside .cal-today{
  margin-top:25px;
  margin-bottom:18px;
  display:inline-block;
  background:var(--citron);
  border:2px solid var(--spruce);
  color:var(--spruce);
  box-shadow:3px 3px 0 var(--spruce);
  padding:11px 15px;
  font:800 .77rem var(--display-font);
  letter-spacing:.01em;
}
.cal-month-aside .cal-today:hover{background:var(--poppy)}
.cal-month-aside .cal-note{margin:0;font-size:.77rem;line-height:1.55;color:#516763;max-width:50ch}
.cal-browser .cal-results{width:100%;max-width:none;min-width:0;display:block}
.cal-browser .cal-results-top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:29px;
  padding:0 0 20px;
  border-bottom:3px solid var(--spruce);
}
.cal-browser .cal-results-top .h3{font-size:clamp(2.35rem,4.7vw,4.3rem);line-height:1.04;letter-spacing:-.05em}
.cal-browser .cal-count{flex:0 0 auto;padding:9px 13px;border:2px solid var(--spruce);background:var(--citron);font:800 .79rem/1.2 var(--display-font)}
.cal-browser #cal-results{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:clamp(22px,3vw,38px);
  row-gap:clamp(25px,3vw,40px);
  width:100%;
  align-items:stretch;
}
.cal-browser #cal-results>.cal-ticket-card{
  width:100%;
  max-width:none;
  min-width:0;
  height:100%;
  align-self:stretch;
  margin:0;
  box-shadow:6px 7px 0 var(--spruce)!important;
}
.cal-browser #cal-results>.cal-ticket-card .cal-event-poster{min-height:169px}
.cal-browser #cal-results>.cal-ticket-card .cal-event-body{padding:clamp(19px,2.2vw,28px)}
.cal-browser #cal-results>.cal-ticket-card h3{font-size:clamp(1.6rem,2.25vw,2.32rem)!important;max-width:25ch}
.cal-browser #cal-results>.cal-ticket-card .cal-event-why p{font-size:.96rem;line-height:1.56}
.cal-browser #cal-results>.cal-empty{grid-column:1/-1}
.cal-featured .cal-featured-grid{gap:clamp(20px,2.5vw,32px)}
.cal-featured .cal-feature-card{height:100%}
@media(max-width:1000px){
  .cal-browser .cal-month-panel{grid-template-columns:minmax(0,1fr);gap:22px;justify-items:center}
  .cal-month-main{max-width:620px}
  .cal-month-aside{width:100%;max-width:620px;min-height:0;border-left:0;border-top:3px dashed var(--tide);padding:23px 0 2px}
  .cal-month-aside h3{max-width:100%;margin-bottom:10px}
  .cal-month-aside .cal-today{margin-top:19px}
}
@media(max-width:760px){
  .cal-browser .cal-content{gap:44px}
  .cal-browser .cal-month-panel{padding:22px 20px;box-shadow:5px 6px 0 var(--tide)}
  .cal-browser #cal-results{grid-template-columns:minmax(0,1fr);gap:27px}
  .cal-browser .cal-results-top{align-items:start}
  .cal-browser .cal-results-top .h3{font-size:clamp(2rem,8vw,3.5rem)}
  .cal-browser .cal-month-main .cal-cell{height:45px}
  .cal-browser .cal-count{font-size:.73rem;padding:8px 9px}
}
@media(max-width:430px){
  .cal-browser .cal-month-panel{padding:17px 14px}
  .cal-month-main .cal-month-top h3{font-size:1.45rem}
  .cal-month-main .cal-weekdays,.cal-month-main .cal-month-grid{gap:3px}
  .cal-browser .cal-month-main .cal-cell{height:40px;font-size:.85rem}
  .cal-month-aside h3{font-size:2.16rem}
  .cal-browser .cal-results-top{flex-wrap:wrap;gap:13px}
  .cal-browser #cal-results>.cal-ticket-card h3{font-size:1.72rem!important}
}
/* Make calendar-day selections land at the event results below the sticky header. */
#cal-results-heading{scroll-margin-top:155px}
