
/* PNW Passport November 2026 — collectible editorial event tickets.
   These cards use symbolic illustrations, not unlicensed event photography. */
.cal-featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch;background:transparent}
.cal-event-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}
.cal-ticket-card{--ticket:#DDEB54;--ticket-ink:#172C2B;display:flex;flex-direction:column;min-width:0;min-height:0;padding:0!important;overflow:hidden;background:#FFF9ED!important;color:var(--spruce);border:2px solid var(--spruce)!important;box-shadow:6px 7px 0 var(--spruce)!important;transition:transform .16s ease,box-shadow .16s ease;transform:none!important}
.cal-ticket-card:hover{transform:translate(-2px,-3px)!important;box-shadow:8px 9px 0 var(--spruce)!important}
.cal-ticket-card.cal-kind-weird{--ticket:#7552A3;--ticket-ink:#FFF9ED}
.cal-ticket-card.cal-kind-science{--ticket:#277D83;--ticket-ink:#FFF9ED}
.cal-ticket-card.cal-kind-food{--ticket:#FF6B4A;--ticket-ink:#172C2B}
.cal-ticket-card.cal-kind-arts{--ticket:#F2B0D9;--ticket-ink:#172C2B}
.cal-ticket-card.cal-kind-culture{--ticket:#FFD27D;--ticket-ink:#172C2B}
.cal-ticket-card.cal-kind-games{--ticket:#DDEB54;--ticket-ink:#172C2B}
.cal-ticket-card.cal-kind-music{--ticket:#C5ADFA;--ticket-ink:#172C2B}
.cal-ticket-card.cal-kind-family{--ticket:#F0C5A8;--ticket-ink:#172C2B}
.cal-ticket-card.cal-kind-outdoors{--ticket:#BED6C8;--ticket-ink:#172C2B}
.cal-ticket-card.cal-kind-market{--ticket:#F4DA85;--ticket-ink:#172C2B}
.cal-event-poster{height:162px;position:relative;isolation:isolate;overflow:hidden;background:var(--ticket);color:var(--ticket-ink);border-bottom:3px solid var(--spruce);display:flex;flex-direction:column;justify-content:space-between;padding:12px 17px 14px}
.cal-event-poster:before{content:"";position:absolute;inset:-55%;z-index:-1;transform:rotate(-17deg);background:repeating-radial-gradient(ellipse at 45% 45%,transparent 0 19px,currentColor 20px 21px,transparent 22px 39px);opacity:.12;pointer-events:none}
.cal-event-poster:after{content:"";position:absolute;inset:-25px -15px -30px 25%;background:url('assets/pnw-field-shadows.svg') center 50%/cover no-repeat;opacity:.13;z-index:-1;pointer-events:none}
.cal-poster-top{display:flex;align-items:start;justify-content:space-between;gap:9px;font:800 .54rem/1.25 var(--display-font);letter-spacing:.065em}
.cal-poster-top span:last-child{text-align:right;max-width:38%}
.cal-poster-icon{position:absolute;z-index:1;left:50%;top:43%;transform:translate(-50%,-50%) rotate(-11deg);font-size:clamp(3.45rem,4.6vw,5rem);line-height:1;filter:drop-shadow(3px 4px 0 rgba(0,0,0,.15))}
.cal-poster-date{position:absolute;left:18px;bottom:12px;display:flex;gap:6px;align-items:baseline;transform:rotate(-3deg);font-family:var(--marker);text-transform:uppercase;line-height:1}
.cal-poster-date strong{font-size:2.9rem;font-weight:400;letter-spacing:-.07em}
.cal-poster-date span{font-size:1.25rem}
.cal-poster-bottom{margin-left:auto;max-width:55%;align-self:end;text-align:right;font:800 .58rem/1.3 var(--display-font);letter-spacing:.06em;text-transform:uppercase}
.cal-ticket-card .cal-event-body{padding:23px 20px 21px;display:flex;flex:1;flex-direction:column;min-width:0}
.cal-ticket-card .cal-event-kicker{display:flex;flex-wrap:wrap;align-items:center;gap:6px 11px;font:800 .64rem/1.3 var(--display-font);letter-spacing:.035em;text-transform:uppercase;color:var(--tide)}
.cal-event-kicker b{color:#5A6764;font-weight:650}
.cal-ticket-card h3{font-family:var(--serif)!important;font-size:clamp(1.48rem,2.05vw,2.1rem)!important;line-height:1.1!important;font-weight:700;letter-spacing:-.05em!important;margin:12px 0 16px!important;color:var(--spruce)}
.cal-event-why{margin-bottom:13px;flex:0 0 auto}
.cal-event-why>span{display:block;font:800 .65rem var(--display-font);letter-spacing:.08em;color:#A33A2A;margin-bottom:5px}
.cal-ticket-card .cal-event-why p{margin:0;color:var(--spruce);font-size:.9rem;line-height:1.57}
.cal-event-tags{display:flex;gap:5px;flex-wrap:wrap;margin:3px 0 18px}
.cal-event-tags span{border:1px solid rgba(23,44,43,.25);background:#F0EADF;color:#385657;padding:4px 7px;font:800 .65rem/1.25 var(--display-font)}
.cal-event-facts{display:grid;grid-template-columns:1fr;gap:0;border-top:2px solid var(--spruce);margin-top:auto}
.cal-event-facts>div{display:grid;grid-template-columns:55px minmax(0,1fr);gap:10px;align-items:baseline;border-bottom:1px dotted rgba(23,44,43,.31);padding:8px 1px}
.cal-event-facts>div>span{font:800 .58rem/1.25 var(--display-font);letter-spacing:.075em;color:#476B65}
.cal-event-facts strong{font-size:.77rem;line-height:1.45;font-weight:700;overflow-wrap:anywhere}
.cal-important-note{margin:14px 0 0;padding:10px 12px;display:grid;gap:5px;background:#E7EBCC;border-left:3px solid #277D83}
.cal-important-note strong{font:800 .6rem var(--display-font);letter-spacing:.08em;color:#285B5C}
.cal-important-note span{font-size:.77rem;line-height:1.45}
.cal-ticket-card .cal-event-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px 11px;margin-top:18px;padding-top:0!important}
.cal-ticket-card .cal-event-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 12px;background:var(--citron);color:var(--spruce);border:2px solid var(--spruce);font:800 .71rem/1.3 var(--display-font);box-shadow:3px 3px 0 var(--spruce);text-decoration:none}
.cal-ticket-card .cal-event-link:hover{background:var(--poppy);color:var(--spruce)}
.cal-ticket-card .cal-save-event{min-height:40px;border:2px solid var(--spruce);font-size:.7rem;padding:9px 10px;color:var(--spruce)}
.cal-ticket-card .cal-save-event[aria-pressed=true]{background:var(--orchid);color:#fff}
.cal-directions{font:800 .7rem var(--display-font);color:#1B6765;text-decoration:underline;text-underline-offset:3px;padding:8px 2px}
.cal-ticket-card a:focus-visible,.cal-ticket-card button:focus-visible{outline:3px solid var(--poppy);outline-offset:3px}
.cal-featured-grid .cal-ticket-card{min-height:0}
.cal-featured-grid .cal-event-poster{height:180px}
.cal-featured-grid .cal-poster-icon{font-size:5rem}
.cal-featured-grid .cal-event-body{padding:23px 19px 22px}
.cal-featured-grid .cal-ticket-card h3{font-size:clamp(1.55rem,2.15vw,2.05rem)!important}
.cal-featured-grid .cal-event-facts{grid-template-columns:1fr}
.cal-results .cal-event-list{width:100%}
.cal-results .cal-event-list:empty{display:none}
.cal-empty{grid-column:1/-1}
@media(max-width:1250px){.cal-event-list{grid-template-columns:1fr}.cal-featured-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1080px){.cal-event-list{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-featured-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:740px){.cal-event-list,.cal-featured-grid{grid-template-columns:1fr}.cal-ticket-card h3{font-size:1.75rem!important}.cal-event-poster{height:150px}.cal-featured-grid .cal-event-poster{height:150px}.cal-ticket-card .cal-event-body{padding:24px 17px 20px}.cal-event-why p{font-size:.92rem}}
@media(prefers-reduced-motion:reduce){.cal-ticket-card{transition:none!important;transform:none!important}}