/* Events-only styles. Parent theme untouched.
   Archive = Gig Guide rows. Single = Concept 3 info-box layout. */
:root {
  --ahk-yellow: #f6b500;
  --ahk-ink: #131c2b;
  --ahk-muted: #6b7280;
  --ahk-line: #e5e7eb;
  --ahk-soft: #f8f8f8;
}

/* Wider ENTIRE container for events only (parent caps #page at 1160px) */
body.post-type-archive-event #page,
body.single-event #page {
  max-width: 1400px;
}
.post-type-archive-event #page .ss-full-width #content_box {
  float: none; /* parent floats #content_box left, which kills margin auto */
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
/* Parent only goes fluid below 1160px viewports — keep event pages fluid below 1440px */
@media screen and (max-width: 1440px) {
  body.post-type-archive-event #page,
  body.single-event #page {
    max-width: 96%;
  }
}
/* The event grid owns both columns; do not inherit the theme's float layout. */
.single-event #page.single .single-content-wrapper {
  float: none;
  display: flow-root;
}
.single-event #page.single .single-content-wrapper::after {
  display: none;
}
.single-event #page.single .single-content-wrapper > article {
  float: none;
  width: 100%;
  max-width: none;
  overflow: visible;
}
.single-event #page.single #content_box {
  float: none;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- Gig Guide archive ---------- */
.ahk-gig { background: #fff; padding: 10px 20px 30px; }
.ahk-eyebrow {
  font-size: 12px; letter-spacing: 2px; text-transform: uppercase;
  color: var(--ahk-muted); font-family: monospace, monospace;
}
.ahk-gig h1.ahk-title {
  font-size: 46px; line-height: 1.05; margin: 12px 0 8px;
  color: var(--ahk-ink); letter-spacing: -0.5px;
}
.ahk-sub { color: var(--ahk-muted); font-size: 17px; margin: 0 0 18px; }
.ahk-filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 18px; }
.ahk-pill {
  display: inline-block; border: 1px solid var(--ahk-line); background: #fff;
  border-radius: 999px; padding: 8px 16px; font-size: 14px; color: var(--ahk-ink);
  text-decoration: none;
}
.ahk-pill.active { background: var(--ahk-yellow); border-color: var(--ahk-yellow); font-weight: 700; }
.ahk-city { margin-left: auto; }
.ahk-city select {
  border: 1px solid var(--ahk-line); border-radius: 999px; padding: 8px 12px;
  font-size: 14px; background: #fff; color: var(--ahk-ink); max-width: 220px;
}
.ahk-month {
  display: flex; gap: 6px; align-items: stretch; background: var(--ahk-soft);
  border-radius: 8px; padding: 14px 18px; margin-bottom: 8px; overflow-x: auto;
}
.ahk-month-label { min-width: 130px; margin-right: 10px; }
.ahk-month-label strong { display: block; font-size: 13px; letter-spacing: 1px; }
.ahk-month-label span { font-size: 24px; font-weight: 800; color: var(--ahk-ink); }
.ahk-day {
  min-width: 64px; text-align: center; text-decoration: none; color: var(--ahk-ink);
  border-radius: 6px; padding: 8px 4px;
}
.ahk-day small { display: block; font-size: 11px; color: var(--ahk-muted); }
.ahk-day b { font-size: 24px; }
.ahk-day i { display: block; width: 4px; height: 4px; border-radius: 50%; background: var(--ahk-ink); margin: 4px auto 0; font-style: normal; }
.ahk-day.active { background: var(--ahk-yellow); font-weight: 800; }
.ahk-day.active small { color: var(--ahk-ink); }
.ahk-row {
  display: flex; gap: 22px; align-items: flex-start; padding: 26px 0;
  border-bottom: 1px solid var(--ahk-line); text-decoration: none; color: inherit;
}
a.ahk-row:hover .ahk-row-title { text-decoration: underline; }
.ahk-date { min-width: 56px; flex: 0 0 auto; text-align: left; }
.ahk-date b { display: block; font-size: 44px; line-height: 1; color: var(--ahk-ink); font-weight: 800; }
.ahk-date small { font-size: 11px; letter-spacing: 1px; color: var(--ahk-muted); font-family: monospace, monospace; }
.ahk-thumb { width: 158px; flex: 0 0 158px; }
.ahk-thumb img { width: 158px; height: 112px; object-fit: cover; display: block; border-radius: 2px; }
.ahk-row-main { flex: 1; min-width: 0; }
.ahk-city-label { font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--ahk-muted); font-family: monospace, monospace; }
.ahk-row-title { font-size: 28px; margin: 6px 0; color: var(--ahk-ink); line-height: 1.2; font-weight: 800; overflow-wrap: break-word; }
.ahk-venue { color: var(--ahk-muted); font-size: 15px; }
.ahk-arrow { flex: 0 0 auto; font-size: 24px; color: var(--ahk-ink); padding-top: 40px; }
.ahk-empty { padding: 40px 0; color: var(--ahk-muted); font-size: 17px; }
.ahk-past-link { display: flex; justify-content: space-between; padding: 22px 0; color: var(--ahk-muted); }

/* ---------- Concept 3 single ---------- */
.single-event .ahk-single,
.single-event .ahk-single * { box-sizing: border-box; }
.single-event .ahk-single { float: none; width: 100%; background: #fff; }
/* Parent .single-title floats at 100% width, otherwise squeezing the grid to zero. */
.single-event .ahk-single-title { float: none; font-size: 34px; line-height: 1.2; color: var(--ahk-ink); margin: 10px 0 22px; }
/* Flyer left, ticket + widgets rail right (own grid, theme sidebar not used) */
.ahk-single-grid {
  display: grid;
  clear: both;
  width: 100%;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 26px;
  align-items: start;
}
.ahk-main { min-width: 0; display: flow-root; }
.ahk-rail {
  display: grid;
  gap: 24px;
  background: transparent;
  padding: 0;
  min-width: 0;
}
.single-event .ahk-rail .widget { float: none; min-width: 0; width: 100%; margin: 0; }
.single-event .ahk-rail .widget:not(.ahk-ticket) {
  padding: 22px;
  border: 1px solid var(--ahk-line);
  border-radius: 12px;
  background: #fafafa;
  color: var(--ahk-ink);
}
.single-event .ahk-rail .widget:not(.ahk-ticket) h3,
.single-event .ahk-rail .widget:not(.ahk-ticket) a,
.single-event .ahk-rail .widget:not(.ahk-ticket) .post-title,
.single-event .ahk-rail .widget:not(.ahk-ticket) .entry-title { color: var(--ahk-ink); }
.single-event .ahk-rail .widget:not(.ahk-ticket) a:hover { color: #775900; }
.ahk-flyer { position: relative; background: #2b3a4a; border-radius: 12px; overflow: hidden; margin-bottom: 6px; }
.single-event .ahk-flyer img { float: none; width: 100%; height: auto; max-height: 520px; object-fit: contain; display: block; margin: 0; }
.ahk-date-badge {
  position: absolute; z-index: 1; top: 16px; left: 16px; background: var(--ahk-yellow);
  border-radius: 8px; padding: 8px 14px; text-align: center; line-height: 1;
}
.ahk-date-badge small { display: block; font-size: 12px; font-weight: 800; }
.ahk-date-badge b { font-size: 24px; }
.ahk-ticket {
  background: var(--ahk-ink); color: #fff; border-radius: 12px; padding: 26px;
  display: flex; flex-direction: column; gap: 6px;
}
.single-event .ahk-rail .ahk-ticket.widget {
  margin: 0;
  width: 100%;
  box-sizing: border-box;
  border: 0;
  box-shadow: none;
}
.ahk-ticket .from { color: var(--ahk-yellow); font-size: 24px; font-weight: 800; letter-spacing: 0.5px; }
.ahk-ticket .where { font-size: 15px; }
.ahk-ticket .when { font-size: 14px; color: #c3cad2; }
.ahk-btn {
  display: block; text-align: center; background: var(--ahk-yellow); color: var(--ahk-ink);
  font-weight: 800; border-radius: 8px; padding: 14px; margin-top: 16px; text-decoration: none;
}
.ahk-btn.ghost { background: transparent; color: #fff; border: 2px solid #fff; font-weight: 600; }
.ahk-count { color: var(--ahk-yellow); font-size: 13px; font-weight: 700; margin-top: 10px; }
.ahk-map { color: #aeb6bf; font-size: 13px; text-decoration: none; }
.ahk-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0 8px; }
.ahk-fact { min-width: 0; overflow-wrap: anywhere; border: 1px solid var(--ahk-line); border-radius: 10px; padding: 14px; background: #fafafa; }
.ahk-fact small { display: block; font-size: 11px; letter-spacing: 1px; color: #a07c00; font-weight: 800; margin-bottom: 6px; }
.ahk-fact b { display: block; font-size: 14px; color: var(--ahk-ink); }
.ahk-fact span { font-size: 13px; color: var(--ahk-muted); }
.ahk-about h2 { font-size: 22px; color: var(--ahk-ink); margin: 18px 0 10px; }
.ahk-essentials {
  background: #fff6dd; border: 1.5px solid var(--ahk-yellow); border-radius: 8px;
  padding: 14px 16px; font-size: 14px; font-weight: 700; color: #5c4a00; margin: 18px 0;
}
.ahk-tags-label { color: var(--ahk-muted); margin-right: 6px; }
/* Related event cards */
.ahk-related { margin: 26px 0 30px; }
.ahk-related h2 { font-size: 22px; color: var(--ahk-ink); margin: 0 0 14px; }
.ahk-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.ahk-rel-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--ahk-line);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ahk-rel-card:hover { transform: translateY(-3px); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12); }
.ahk-rel-thumb { position: relative; display: block; aspect-ratio: 16 / 9; background: #2b3a4a; overflow: hidden; }
.ahk-rel-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ahk-rel-thumb .ahk-date-badge { padding: 6px 10px; background: var(--ahk-ink); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45); }
.ahk-rel-thumb .ahk-date-badge small { font-size: 10px; color: var(--ahk-yellow); }
.ahk-rel-thumb .ahk-date-badge b { font-size: 18px; color: #fff; }
.ahk-rel-body { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 16px; }
.ahk-rel-title { font-size: 16px; font-weight: 800; line-height: 1.35; color: var(--ahk-ink); }
.ahk-sticky {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  background: var(--ahk-ink); color: #fff; display: none;
  align-items: center; justify-content: space-between; padding: 10px 16px;
}
.ahk-sticky b { font-size: 14px; letter-spacing: 0.5px; }
.ahk-sticky .ahk-btn { margin: 0; padding: 12px 26px; }
.single-event .ahk-sticky { gap: 12px; box-sizing: border-box; }
.single-event .ahk-sticky b { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.single-event .ahk-sticky .ahk-btn { flex-shrink: 0; }

@media (max-width: 1000px) {
  .ahk-single-grid { grid-template-columns: 1fr; }
  .ahk-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ahk-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .ahk-related-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
  .ahk-gig h1.ahk-title { font-size: 34px; }
  .ahk-row-title { font-size: 22px; }
  .ahk-thumb { width: 110px; flex-basis: 110px; }
  .ahk-thumb img { width: 110px; height: 82px; }
  .ahk-arrow { display: none; }
  .ahk-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ahk-sticky { display: flex; }
  body.single-event { padding-bottom: 64px; }
}
