/* ══════════════════════════════════════════════════════════════════════════
   EVENTS & TICKETS — archive, single, and the [pw_events] list
   Site-level Piercing Word palette (cream / ink / coral), not a production theme.
   Tokens come from pw-design-system.css.
   ══════════════════════════════════════════════════════════════════════════ */

.pw-ev-page{background:var(--pw-bg,#F4F1E9);color:var(--pw-ink,#17193F)}
.pw-ev-wrap{max-width:1200px;margin-inline:auto;padding-inline:24px}

/* ── header ─────────────────────────────────────────────────────────────── */
.pw-ev-hero{
  background:linear-gradient(180deg,var(--pw-midnight,#0B0C2A),var(--pw-indigo-deep,#12144E));
  padding-block:96px 72px;color:#fff;
}
.pw-ev-eyebrow{
  font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;
  letter-spacing:.22em;font-size:12px;color:var(--pw-coral,#F0603F);margin:0 0 18px;
}
.pw-ev-eyebrow a{color:inherit;text-decoration:none}
.pw-ev-h1{
  font-family:var(--pw-display,'Gloock',serif);font-weight:400;
  font-size:clamp(34px,5vw,62px);line-height:1.06;letter-spacing:-.01em;margin:0;color:#fff;max-width:20ch;
}
.pw-ev-sub{
  font-family:var(--pw-body,'Sora',sans-serif);font-weight:300;font-size:17px;line-height:1.7;
  margin:18px 0 0;color:rgba(255,255,255,.78);max-width:62ch;
}
.pw-ev-sub a{color:var(--pw-sky,#6CC9E0)}

.pw-ev-body{padding-block:64px 96px}

/* ── production filter chips ────────────────────────────────────────────── */
.pw-ev-filters{display:flex;flex-wrap:wrap;gap:10px;margin-block-end:40px}
.pw-ev-chip{
  font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;
  letter-spacing:.12em;font-size:11px;text-decoration:none;
  padding:11px 18px;border-radius:40px;border:1.5px solid rgba(23,25,63,.18);
  color:var(--pw-ink,#17193F);background:transparent;transition:background .2s,border-color .2s,color .2s;
}
.pw-ev-chip:hover{border-color:var(--pw-indigo,#232993)}
.pw-ev-chip.is-on{background:var(--pw-ink,#17193F);border-color:var(--pw-ink,#17193F);color:#fff}

/* ── month heading ──────────────────────────────────────────────────────── */
.pw-ev-month{
  font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;
  letter-spacing:.2em;font-size:12px;color:var(--pw-indigo,#232993);
  margin:44px 0 14px;padding-block-end:12px;border-block-end:1.5px solid rgba(35,41,147,.22);
}
.pw-ev-month:first-child{margin-block-start:0}

/* ── event row ──────────────────────────────────────────────────────────── */
.pw-ev-list{display:flex;flex-direction:column}
.pw-ev-row{
  display:flex;align-items:center;gap:28px;
  padding-block:22px;border-block-end:1px solid rgba(23,25,63,.12);
}
.pw-ev-date{
  flex:0 0 92px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:12px 8px;border-radius:12px;background:var(--pw-lavender,#E9E9F8);
}
.pw-ev-dow{
  font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;font-size:10px;
  letter-spacing:.18em;color:var(--pw-indigo,#232993);
}
.pw-ev-day{
  font-family:var(--pw-fun,'Dela Gothic One',sans-serif);font-size:30px;line-height:1.05;
  color:var(--pw-ink,#17193F);margin-block:2px;
}
.pw-ev-mon{
  font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;font-size:10px;
  letter-spacing:.14em;color:rgba(23,25,63,.62);
}
.pw-ev-info{flex:1 1 auto;min-width:0}
.pw-ev-title{
  font-family:var(--pw-display,'Gloock',serif);font-weight:400;font-size:clamp(19px,2.1vw,25px);
  line-height:1.2;margin:0 0 5px;color:var(--pw-ink,#17193F);
}
.pw-ev-meta{
  font-family:var(--pw-body,'Sora',sans-serif);font-weight:300;font-size:15px;
  color:rgba(23,25,63,.68);margin:0;
}
.pw-ev-act{flex:0 0 auto}
.pw-ev-free{
  font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;
  letter-spacing:.12em;font-size:11px;color:rgba(23,25,63,.55);
  border:1.5px dashed rgba(23,25,63,.24);border-radius:4px;padding:14px 20px;display:inline-block;white-space:nowrap;
}
.pw-ev-empty{
  font-family:var(--pw-body,'Sora',sans-serif);font-weight:300;font-size:17px;line-height:1.7;
  color:rgba(23,25,63,.7);background:var(--pw-lavender,#E9E9F8);
  border-radius:14px;padding:34px 30px;margin:0;
}

/* ── closing band ───────────────────────────────────────────────────────── */
.pw-ev-cta-band{
  display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  margin-block-start:64px;padding:40px 36px;border-radius:14px;
  background:var(--pw-lavender,#E9E9F8);
}
.pw-ev-cta-band h2{
  font-family:var(--pw-display,'Gloock',serif);font-weight:400;font-size:clamp(22px,3vw,32px);
  line-height:1.15;margin:0 0 6px;color:var(--pw-ink,#17193F);
}
.pw-ev-cta-band p{
  font-family:var(--pw-body,'Sora',sans-serif);font-weight:300;font-size:16px;margin:0;color:rgba(23,25,63,.7);
}

/* ── single event ───────────────────────────────────────────────────────── */
.pw-ev-single-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);gap:48px}
.pw-ev-copy{
  font-family:var(--pw-body,'Sora',sans-serif);font-weight:300;font-size:17px;line-height:1.75;
  color:rgba(23,25,63,.82);
}
.pw-ev-prodlink{font-family:var(--pw-body,'Sora',sans-serif);font-size:16px;margin-block-start:26px}
.pw-ev-det{
  border:1px solid rgba(23,25,63,.14);border-radius:14px;padding:24px 22px;margin-block-end:18px;background:#fff;
}
.pw-ev-det-b{
  font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;
  letter-spacing:.18em;font-size:11px;color:var(--pw-coral,#F0603F);margin:0 0 10px;
}
.pw-ev-det-v{
  font-family:var(--pw-display,'Gloock',serif);font-weight:400;font-size:20px;line-height:1.25;
  margin:0 0 6px;color:var(--pw-ink,#17193F);
}
.pw-ev-det-n{
  font-family:var(--pw-body,'Sora',sans-serif);font-weight:300;font-size:15px;line-height:1.6;
  margin:0 0 4px;color:rgba(23,25,63,.7);
}
.pw-ev-det-cta .pw-btn{width:100%;justify-content:center}
.pw-ev-det-cta .pw-ev-free{width:100%;text-align:center;white-space:normal}

/* ── mobile ─────────────────────────────────────────────────────────────── */
@media(max-width:880px){
  .pw-ev-single-grid{grid-template-columns:1fr;gap:32px}
}
@media(max-width:767px){
  .pw-ev-wrap{padding-inline:20px}
  .pw-ev-hero{padding-block:64px 48px}
  .pw-ev-body{padding-block:44px 64px}
  .pw-ev-row{
    display:grid;grid-template-columns:64px 1fr;grid-template-areas:"date info" "act act";
    gap:8px 16px;align-items:start;padding-block:20px;
  }
  .pw-ev-date{grid-area:date;flex:0 0 64px;padding:9px 6px;border-radius:10px}
  .pw-ev-day{font-size:22px}
  .pw-ev-info{grid-area:info}
  .pw-ev-act{grid-area:act;margin-block-start:6px}
  .pw-ev-act .pw-btn,.pw-ev-free{width:100%;justify-content:center;text-align:center;display:flex;align-items:center}
  .pw-ev-cta-band{padding:28px 24px;margin-block-start:44px}
  .pw-ev-cta-band .pw-btn{width:100%;justify-content:center}
}

/* ROUND-6 — events hero gets an image behind the type, with a scrim. */
.pw-ev-hero{position:relative;isolation:isolate;background-image:linear-gradient(180deg,rgba(11,12,42,.86),rgba(18,20,78,.9)),url('https://pwstaging.goldenhoursites.com/wp-content/uploads/2026/08/DSC_6029-scaled-1.jpg');background-size:cover;background-position:center 34%;background-repeat:no-repeat}
.pw-ev-hero > *{position:relative;z-index:1}

/* = ROUND-12: hero photo drifts (same Ken Burns as the other photo heroes); scrim moved to ::after = */
.pw-ev-hero{overflow:hidden;background-image:none!important;background-color:#0B0C2A}
.pw-ev-hero::before{content:'';position:absolute;inset:0;z-index:0;background:url('/wp-content/uploads/2026/08/DSC_6029-scaled-1.jpg') center 34%/cover no-repeat;transform:scale(1.06);animation:pw-evdrift 26s ease-in-out infinite alternate}
.pw-ev-hero::after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(11,12,42,.86),rgba(18,20,78,.9))}
@keyframes pw-evdrift{from{transform:scale(1.06) translate3d(0,0,0)}to{transform:scale(1.15) translate3d(-1.6%,-1.4%,0)}}
@media(prefers-reduced-motion:reduce){.pw-ev-hero::before{animation:none;transform:scale(1.02)}}

/* ROUND 19 — event rows: ticket button only when there is a link; a Details toggle opens the calendar description, full address, directions and the Google Calendar page */
.pw-ev-row{flex-wrap:wrap;row-gap:0}
.pw-ev-act{display:flex;align-items:center;gap:14px}
.pw-ev-more{font:inherit;font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--pw-indigo,#232993);background:transparent;border:0;padding:12px 0 12px 12px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;border-radius:0;box-shadow:none;min-height:0;line-height:1}
.pw-ev-more:hover{color:var(--pw-coral,#F0603F);background:transparent;transform:none}
.pw-ev-more i{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .3s}
.pw-ev-row.open .pw-ev-more i{transform:translateY(2px) rotate(-135deg)}
.pw-ev-panel{flex:1 0 100%;display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.2,.7,.3,1)}
.pw-ev-row.open .pw-ev-panel{grid-template-rows:1fr}
.pw-ev-panel-in{overflow:hidden;min-height:0}
.pw-ev-panel-in>*{opacity:0;transform:translateY(-4px);transition:opacity .3s,transform .3s}
.pw-ev-row.open .pw-ev-panel-in>*{opacity:1;transform:none;transition-delay:.12s}
.pw-ev-panel-in{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:0 clamp(24px,4vw,56px)}
.pw-ev-row.open .pw-ev-panel-in{padding:18px 0 6px 120px}
.pw-ev-desc{font-family:var(--pw-body,'Sora',sans-serif);font-weight:300;font-size:15px;line-height:1.6;color:rgba(23,25,63,.8)}
.pw-ev-desc p{margin:0 0 10px}
.pw-ev-desc a{color:var(--pw-indigo,#232993);text-decoration:underline;text-underline-offset:3px}
.pw-ev-when{font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;color:var(--pw-coral,#F0603F);margin:0 0 10px!important}
.pw-ev-where{border-inline-start:1.5px solid rgba(35,41,147,.18);padding-inline-start:clamp(18px,2.4vw,32px)}
.pw-ev-where .pw-ev-det-b{font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--pw-indigo,#232993);margin:0 0 8px}
.pw-ev-venue{font-family:var(--pw-display,'Gloock',serif);font-size:18px;line-height:1.25;color:var(--pw-ink,#17193F);margin:0 0 4px}
.pw-ev-addr{font-family:var(--pw-body,'Sora',sans-serif);font-weight:300;font-size:14.5px;line-height:1.5;color:rgba(23,25,63,.75);margin:0}
.pw-ev-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:14px 0 0}
.pw-ev-links a{font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;color:var(--pw-indigo,#232993);text-decoration:none;border-block-end:1.5px solid rgba(35,41,147,.35);padding-block-end:2px}
.pw-ev-links a:hover{color:var(--pw-coral,#F0603F);border-color:currentColor}
.pw-ev-list .pw-ev-free{display:none}
@media (max-width:700px){
  .pw-ev-row{display:grid;grid-template-columns:64px 1fr;grid-template-areas:"date info" "act act" "panel panel"}
  .pw-ev-panel{grid-area:panel}
  .pw-ev-act{justify-content:space-between}
  .pw-ev-act .pw-btn{width:auto;flex:1 1 auto}
  .pw-ev-more{padding:12px 0 12px 8px;flex:0 0 auto}
  .pw-ev-panel-in{grid-template-columns:1fr;gap:18px}
  .pw-ev-row.open .pw-ev-panel-in{padding:12px 0 4px}
  .pw-ev-where{border-inline-start:0;padding-inline-start:0;border-block-start:1.5px solid rgba(35,41,147,.18);padding-block-start:16px}
}

.pw-ev-invite,.elementor .pw-ev-invite{font-family:var(--pw-label,'Archivo',sans-serif);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--pw-coral,#F0603F);text-decoration:none;white-space:nowrap;margin-inline-start:6px;border-block-end:1.5px solid currentColor;padding-block-end:2px}
.pw-ev-invite:hover{color:var(--pw-indigo,#232993)}

/* R19b — Details toggle never takes the theme's button hover/focus box; Add to calendar menu */
.pw-ev-more,.pw-ev-more:hover,.pw-ev-more:focus,.pw-ev-more:active,.elementor .pw-ev-more,.elementor .pw-ev-more:hover,.elementor .pw-ev-more:focus{background:transparent!important;border:0!important;box-shadow:none!important;outline:0;transform:none!important;color:var(--pw-indigo,#232993)}
.pw-ev-more:hover,.elementor .pw-ev-more:hover{color:var(--pw-coral,#F0603F)!important}
.pw-ev-more:focus-visible,.elementor .pw-ev-more:focus-visible{outline:2px solid var(--pw-indigo,#232993);outline-offset:4px;border-radius:4px}
.pw-ev-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:14px 0 0}
.pw-ev-add{position:relative;display:inline-block}
.pw-ev-addbtn,.elementor .pw-ev-addbtn,.pw-ev-addbtn:hover,.pw-ev-addbtn:focus{font-family:var(--pw-label,'Archivo',sans-serif)!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.12em;font-size:10.5px!important;color:var(--pw-indigo,#232993)!important;background:transparent!important;border:0!important;border-block-end:1.5px solid rgba(35,41,147,.35)!important;border-radius:0!important;padding:0 0 2px!important;min-height:0!important;line-height:1.2;cursor:pointer;box-shadow:none!important;transform:none!important}
.pw-ev-addbtn:hover,.elementor .pw-ev-addbtn:hover{color:var(--pw-coral,#F0603F)!important;border-color:currentColor!important}
.pw-ev-addbtn::after{content:'';display:inline-block;width:6px;height:6px;margin:0 0 2px 7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.pw-ev-addmenu{position:absolute;left:0;top:calc(100% + 10px);z-index:20;background:#fff;border-radius:12px;box-shadow:0 14px 36px rgba(11,12,42,.18);padding:6px;display:flex;flex-direction:column;min-width:210px}
.pw-ev-addmenu[hidden]{display:none}
.pw-ev-addmenu a,.elementor .pw-ev-addmenu a{display:block;padding:10px 12px;border-radius:8px;font-family:var(--pw-body,'Sora',sans-serif);font-weight:600;font-size:13.5px;letter-spacing:0;text-transform:none;color:var(--pw-ink,#17193F);text-decoration:none;border:0}
.pw-ev-addmenu a:hover{background:var(--pw-lavender,#E9E9F8);color:var(--pw-indigo,#232993)}
@media (max-width:700px){.pw-ev-addmenu{left:auto;right:0}}
