/* =========================================================
   TriPoint – single event page (The Events Calendar, block editor)
   Structure lives in each event's content:
     .single-tribe_events #tribe-events-content .tp-ev-hero  (Kadence row: date | Add to calendar)
     .single-tribe_events #tribe-events-content .tp-ev-main  (Kadence row: .tp-ev-card white card)
     RSVP + Tickets blocks stay at the top level of the content
   Back link, title and next/previous links come from TEC's template.
   Uses the --tp-* variables from tripoint-base.css.
   ========================================================= */

.single-tribe_events{
  --tp-ev-surface:var(--global-palette8);           /* #F5F3EB */
  --tp-ev-inset:16px;
  /* Same gutter and content width as every other section, so the text on
     this page starts on the same vertical line as the homepage's. */
  --tp-ev-pad-x:var(--tp-gutter);
  --tp-ev-content:var(--tp-max);
}
@media (max-width:767px){.single-tribe_events{--tp-ev-inset:8px}}

/* Content is capped at --tp-max and centred, falling back to the gutter on
   narrower screens - the same result as the homepage's section containers,
   done with padding because these surfaces are full-bleed. */
.single-tribe_events #tribe-events-content .entry-header,
.single-tribe_events #tribe-events-content .tp-ev-hero{
  /* The inset is subtracted from the gutter: these surfaces already sit
     --tp-ev-inset in from the viewport edge, so adding the full gutter on
     top would start the text that much further in than every other section.
     The centring branch takes over on wide screens, where both land on the
     same line regardless. */
  --tp-ev-pad-inline:max(calc(var(--tp-ev-pad-x) - var(--tp-ev-inset)),(100% - var(--tp-ev-content))/2);
}

/* ---------- Header floats over the event hero (same as the homepage's body:has(.tp-hero) rule) ---------- */
body:has(.tp-ev-hero) .tp-header{height:0;padding:0}
body:has(.tp-ev-hero) .tp-header>.kt-row-column-wrap{position:absolute;left:56px;right:56px;top:44px}
@media (max-width:767px){body:has(.tp-ev-hero) .tp-header>.kt-row-column-wrap{left:20px;right:20px;top:20px}}

/* ---------- Hero surface: TEC header (back link + title) + .tp-ev-hero row ---------- */
.single-tribe_events #tribe-events-content .entry-header{
  position:relative;margin:var(--tp-ev-inset) var(--tp-ev-inset) 0;
  /* The title is the last child and its descenders sit below the line box,
     so a header with zero bottom padding cuts the tail off the 'y'. */
  padding:152px var(--tp-ev-pad-inline) 12px;
  overflow:visible;
  background:var(--tp-ev-surface) url("/wp-content/uploads/2026/10/tp-ev-hero-arcs.svg") no-repeat right top/226px 246px;
  border-radius:32px 32px 0 0;
}
.single-tribe_events #tribe-events-content .tribe-events-back{margin:0 0 28px}
.single-tribe_events #tribe-events-content .tribe-events-back a{
  font-size:15px;font-weight:500;line-height:1.3;color:var(--tp-dark-teal);text-decoration:none;
}
.single-tribe_events #tribe-events-content .tribe-events-back a:hover{text-decoration:none;color:var(--tp-teal)}
.single-tribe_events #tribe-events-content h1.tribe-events-single-event-title{
  max-width:1000px;margin:0;
  font-size:65px;font-weight:500;line-height:1.05;letter-spacing:-.025em;color:var(--tp-dark-teal);
  /* line-height:1 clips descenders: they fall outside the header's
     background and the hero row below paints over them. 1.05 gives the line
     box room, so the padding here only needs to be nominal. */
  padding-bottom:.02em;
}

.single-tribe_events #tribe-events-content .tp-ev-hero{
  margin:0 var(--tp-ev-inset);padding:4px var(--tp-ev-pad-inline) 76px;
  background:var(--tp-ev-surface);border-radius:0 0 32px 32px;
}
.single-tribe_events #tribe-events-content .tp-ev-hero>.kt-row-column-wrap{padding:0;max-width:none}
.single-tribe_events #tribe-events-content .tp-ev-hero__cal>.kt-inside-inner-col{display:flex;flex-direction:column;align-items:flex-end}

/* Date line with calendar icon */
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-schedule{margin:0;padding:0;background:none;border:0}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-schedule__datetime{
  display:block;position:relative;min-height:28px;padding-left:44px;margin:0;
  font-size:22px;font-weight:600;line-height:1.25;color:var(--tp-dark-teal);
}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-schedule__datetime::before{
  content:"";position:absolute;left:0;top:0;width:28px;height:28px;
  background:currentColor;
  -webkit-mask:url("/wp-content/uploads/2026/10/tp-icon-calendar-days.svg") center/28px 28px no-repeat;
          mask:url("/wp-content/uploads/2026/10/tp-icon-calendar-days.svg") center/28px 28px no-repeat;
}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-schedule__datetime span{font:inherit;color:inherit}

/* "Add to calendar" → purple pill with arrow circle */
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-block__events-link,
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__container{margin:0;padding:0}
/* Matches .tp-btn--arrow: the arrow circle grows out sideways to fill the
   button, leaving the original colour as the border. Same sizes, easing and
   delays as tripoint-base.css so the two read as one button style. */
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button{
  position:relative;z-index:0;overflow:hidden;
  display:inline-flex;align-items:center;gap:12px;padding:6px 6px 6px 20px;
  background:var(--tp-purple);border:1px solid transparent;border-radius:999px;box-shadow:none;color:#fff;
  transition:color .45s ease .12s,border-color .45s ease .12s;
}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button::before{
  content:"";position:absolute;z-index:-1;
  right:6px;top:50%;width:32px;height:32px;margin-top:-16px;
  border-radius:999px;background:#fff;
  transform:scale(1);transform-origin:center;
  transition:transform .7s cubic-bezier(.33,.25,.35,1);
}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button:hover,
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button:focus-within{
  background:var(--tp-purple);border-color:var(--tp-purple);color:var(--tp-dark-teal);
}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button:hover::before,
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button:focus-within::before{transform:scale(22,9)}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button>svg{display:none}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button-text{
  padding:0;background:none;border:0;color:inherit;
  font-family:inherit;font-size:15px;font-weight:500;line-height:1.3;
}
/* Both circles are pinned to the same spot. The arrow circle was a flex
   item, which put it wherever the plugin's own padding left room - beside
   the fill circle rather than on top of it. */
/* min-height replaces the height the arrow circle used to contribute as a
   flex item; now that it is positioned, the button would otherwise collapse
   to the height of its label. 44px = 32px circle + 6px padding either side,
   matching .tp-btn--arrow. */
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button{padding-right:44px;min-height:44px}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button::after{
  content:"";position:absolute;right:6px;top:50%;margin-top:-16px;
  width:32px;height:32px;border-radius:999px;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A97DD3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E") center/18px 18px no-repeat;
  transition:transform .36s ease .1s;
}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__button:hover::after{transform:rotate(45deg)}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown__content{right:0;left:auto;z-index:20}

/* ---------- Details + RSVP grid ---------- */
.single-tribe_events #tribe-events-content .type-tribe_events{
  display:grid;
  /* The main column is whatever is left of --tp-max after the 80px gap and
     the 400px side panel, so the grid always fills the same width as the
     hero above it rather than a fixed 1280. */
  --tp-ev-side:400px;
  --tp-ev-gap:80px;
  grid-template-columns:
    [full-start] minmax(var(--tp-gutter),1fr)
    [main-start] minmax(0,calc(var(--tp-ev-content) - var(--tp-ev-side) - var(--tp-ev-gap))) [main-end] var(--tp-ev-gap)
    [side-start] var(--tp-ev-side) [side-end]
    minmax(var(--tp-gutter),1fr) [full-end];
  row-gap:24px;
}
.single-tribe_events #tribe-events-content .type-tribe_events>*{grid-column:main-start/side-end;min-width:0}
.single-tribe_events #tribe-events-content .type-tribe_events>.tp-ev-hero{grid-column:full-start/full-end;margin-bottom:40px}
.single-tribe_events #tribe-events-content .type-tribe_events>.tp-ev-main{grid-column:main-start/main-end;grid-row:2/span 3;align-self:start}
.single-tribe_events #tribe-events-content .type-tribe_events>.event-tickets{grid-column:side-start/side-end;align-self:start}
.single-tribe_events #tribe-events-content .tp-ev-main>.kt-row-column-wrap{padding:0;max-width:none}
.single-tribe_events #tribe-events-content .tp-ev-card>.kt-inside-inner-col{display:flex;flex-direction:column;gap:28px}

/* Event details card (white bg, 28px radius and padding are set on the Kadence column) */
.single-tribe_events #tribe-events-content .tp-ev-card h2.tp-ev-card__title{margin:0}
.single-tribe_events #tribe-events-content .tp-ev-card p.tp-ev-desc{margin:0;font-size:16px;line-height:1.5;color:var(--tp-body)}
.single-tribe_events #tribe-events-content .tp-ev-card p.tp-ev-desc+p{margin-top:1.5em}

.single-tribe_events #primary #tribe-events-content .tp-ev-card .tribe-events-event-meta,
.single-tribe_events #primary #tribe-events-content .tp-ev-card .tribe-events-meta-group{display:block;margin:0;padding:0;width:auto;float:none;background:none;border:0}
.single-tribe_events #primary #tribe-events-content .tp-ev-card .tribe-events-meta-group-details{padding-bottom:28px;border-bottom:1px solid var(--tp-border)}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-single-section-title{display:none}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-list{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 0;margin:0;padding:0;list-style:none;
}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-item{display:flex;flex-direction:column;gap:6px;margin:0;padding:0}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-label{
  font-size:13px;font-weight:500;line-height:1.3;color:var(--tp-muted);
}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-value,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-value abbr,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-value div{
  font-size:22px;font-weight:500;line-height:1.2;color:var(--tp-dark-teal);text-decoration:none;border:0;
}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-event-cost{color:var(--tp-teal)}
/* Drop TEC's colons: "Date:" → "Date" */
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-item:has(.tribe-events-start-date) .tribe-events-meta-label,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-item:has(.tribe-events-start-time) .tribe-events-meta-label,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-item:has(.tribe-events-event-cost) .tribe-events-meta-label{font-size:0}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-item:has(.tribe-events-start-date) .tribe-events-meta-label::before{content:"Date";font-size:13px}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-item:has(.tribe-events-start-time) .tribe-events-meta-label::before{content:"Time";font-size:13px}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-item:has(.tribe-events-event-cost) .tribe-events-meta-label::before{content:"Cost";font-size:13px}

/* Venue / Location row */
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue{display:block;width:auto;max-width:none;margin:-4px 0 0;padding:0;border:0;background:none}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;width:auto}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__name,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__address{display:flex;flex-direction:column;gap:6px;margin:0;font-style:normal}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__name::before{content:"Venue"}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__address::before{content:"Location"}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__name::before,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__address::before{font-size:13px;font-weight:500;line-height:1.3;color:var(--tp-muted)}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__name h3,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__address .tribe-address{
  margin:0;font-size:22px;font-weight:500;line-height:1.2;color:var(--tp-dark-teal);
}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__name a{color:inherit;text-decoration:none}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__name a:hover{text-decoration:underline}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__address .tribe-country-name,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__address .tribe-postal-code,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__address br,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__address .tribe-events-gmap,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__phone,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__website,
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__map{display:none}
.single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__address abbr{text-decoration:none;border:0}

/* ---------- RSVP panel ---------- */
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-wrapper{
  margin:0;padding:28px;background:var(--global-palette8);border:0;border-radius:28px;
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp{display:flex;flex-direction:column;gap:28px;margin:0;padding:0;border:0}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-details-wrapper,
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-wrapper{width:100%;max-width:none;flex:none;padding:0;margin:0;text-align:left;align-items:stretch}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-details{
  display:grid;grid-template-columns:1fr 1fr;row-gap:28px;margin:0;
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-title{
  grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;margin:0;
  font-size:22px;font-weight:600;line-height:1.25;color:var(--tp-dark-teal);
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-title::after{
  content:"";width:24px;height:24px;background:currentColor;
  -webkit-mask:url("/wp-content/uploads/2026/10/tp-icon-ticket.svg") center/24px 24px no-repeat;
          mask:url("/wp-content/uploads/2026/10/tp-icon-ticket.svg") center/24px 24px no-repeat;
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-attendance,
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-availability{
  display:flex;flex-direction:column;gap:8px;margin:0;
  font-size:15px;font-weight:500;line-height:1.3;color:var(--tp-body);
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-attendance{padding-right:28px}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-availability{padding-left:28px;box-shadow:inset 1px 0 0 var(--tp-border)}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-attendance-number,
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-availability-quantity{
  display:block;font-size:52px;font-weight:500;line-height:1.08;letter-spacing:-.025em;color:var(--tp-dark-teal);
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-attendance-going{font:inherit;color:inherit}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions{margin:0;padding:8px 0 0;border:0}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-rsvp{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-rsvp-going,
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-rsvp-not-going{margin:0;width:auto}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-button-going{
  position:relative;z-index:0;overflow:hidden;
  display:inline-flex;align-items:center;gap:12px;width:auto;min-width:0;height:auto;
  padding:6px 6px 6px 20px;border:1px solid transparent;border-radius:999px;background:var(--tp-teal);color:#fff;
  font-family:inherit;font-size:15px;font-weight:500;line-height:1.3;
  transition:color .45s ease .12s,border-color .45s ease .12s;
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-button-going::before{
  content:"";position:absolute;z-index:-1;
  right:6px;top:50%;width:32px;height:32px;margin-top:-16px;
  border-radius:999px;background:#fff;
  transform:scale(1);transform-origin:center;
  transition:transform .7s cubic-bezier(.33,.25,.35,1);
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-button-going::after{
  content:"";flex:0 0 32px;width:32px;height:32px;border-radius:999px;
  background:#fff var(--tp-arrow-ur) center/18px 18px no-repeat;
  transition:transform .36s ease .1s;
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-button-going:hover,
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-button-going:focus-visible{
  background:var(--tp-teal);border-color:var(--tp-teal);color:var(--tp-dark-teal);
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-button-going:hover::before,
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-button-going:focus-visible::before{transform:scale(22,9)}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-button-going:hover::after{transform:rotate(45deg)}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-rsvp-not-going .tribe-common-cta{
  display:inline-flex;align-items:center;justify-content:center;min-width:166px;
  padding:14px 24px;border:0;border-radius:999px;background:transparent;
  box-shadow:inset 0 0 0 1px var(--tp-dark-teal);
  color:var(--tp-dark-teal);font-family:inherit;font-size:15px;font-weight:500;line-height:1.3;text-decoration:none;
  transition:background-color .2s ease,color .2s ease;
}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-actions-rsvp-not-going .tribe-common-cta:hover{background:var(--tp-dark-teal);color:#fff}

/* Paid tickets (once Stripe is live) get the same panel */
.single-tribe_events #tribe-events-content .tribe-tickets__tickets-wrapper{padding:28px;background:var(--global-palette8);border:0;border-radius:28px}

/* ---------- Previous / next event ---------- */
.single-tribe_events #tribe-events-content #tribe-events-footer{
  max-width:calc(var(--tp-ev-content) + var(--tp-gutter)*2);margin:56px auto 96px;
  padding:0 var(--tp-gutter);border:0;
}
.single-tribe_events #tribe-events-content #tribe-events-footer .tribe-events-sub-nav{
  display:flex;justify-content:space-between;gap:40px;margin:0;padding:28px 0 0;
  border-top:1px solid var(--tp-border);list-style:none;
}
.single-tribe_events #tribe-events-content #tribe-events-footer li{flex:0 1 600px;margin:0;padding:0}
.single-tribe_events #tribe-events-content #tribe-events-footer li:empty{visibility:hidden}
.single-tribe_events #tribe-events-content .tribe-events-nav-next{margin-left:auto;text-align:right}
.single-tribe_events #tribe-events-content .tribe-events-nav-previous a::before,
.single-tribe_events #tribe-events-content .tribe-events-nav-next a::before{
  display:block;margin-bottom:16px;font-size:15px;font-weight:500;line-height:1.3;color:var(--tp-body);
}
.single-tribe_events #tribe-events-content .tribe-events-nav-previous a::before{content:"Previous event"}
.single-tribe_events #tribe-events-content .tribe-events-nav-next a::before{content:"Next event"}
.single-tribe_events #tribe-events-content #tribe-events-footer a{
  display:block;font-size:22px;font-weight:600;line-height:1.25;color:var(--tp-dark-teal);text-decoration:none;
}
.single-tribe_events #tribe-events-content #tribe-events-footer a:hover{text-decoration:none;color:var(--tp-teal)}

/* ---------- Plugin overrides (fonts, mobile defaults) ---------- */
/* The Events Calendar and Event Tickets ship their own font stack, applied
   through both CSS variables and a lot of individual rules. Rather than
   chase each one, the variables are pointed at the theme font and every
   element inside the plugin's markup is told to inherit - so the page is
   Sarabun throughout, including anything the plugins add later. */
.single-tribe_events{
  --tec-font-family-sans-serif:inherit;
  --tec-font-family-base:inherit;
  --tec-font-family-heading:inherit;
  --tribe-font-family-sans-serif:inherit;
  --tribe-font-family-base:inherit;
}
.single-tribe_events #tribe-events-content,
.single-tribe_events #tribe-events-content *,
.single-tribe_events #tribe-events-content *::before,
.single-tribe_events #tribe-events-content *::after,
.single-tribe_events .tribe-common,
.single-tribe_events .tribe-common *,
.single-tribe_events .tribe-tickets__rsvp-wrapper *,
.single-tribe_events .tribe-tickets__tickets-wrapper *,
.single-tribe_events .tribe-modal__wrapper *{font-family:inherit}
/* Icon fonts are exempt: forcing inherit on them prints letters instead of
   glyphs. */
.single-tribe_events #tribe-events-content .dashicons,
.single-tribe_events #tribe-events-content .dashicons-before::before,
.single-tribe_events #tribe-events-content [class^="tribe-common-c-svgicon"],
.single-tribe_events #tribe-events-content [class*=" tribe-common-c-svgicon"]{font-family:dashicons,inherit}
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-attendance,
.single-tribe_events #tribe-events-content .tribe-tickets__rsvp-availability{align-items:flex-start;text-align:left}
.single-tribe_events #tribe-events-content #tribe-events-footer::before,
.single-tribe_events #tribe-events-content #tribe-events-footer::after{content:none}
.single-tribe_events #tribe-events-content #tribe-events-footer .tribe-events-sub-nav li{width:auto;float:none;border:0;background:none}
.single-tribe_events #tribe-events-content #tribe-events-footer .tribe-events-sub-nav li a{background:none;padding:0;border:0;border-radius:0}
@media (max-width:767px){.single-tribe_events #tribe-events-content #tribe-events-footer li:empty{display:none}}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  .single-tribe_events #tribe-events-content .entry-header{padding-top:136px;padding-bottom:10px}
  .single-tribe_events #tribe-events-content h1.tribe-events-single-event-title{font-size:52px;line-height:1.02}
  .single-tribe_events #tribe-events-content .tp-ev-hero{padding-bottom:56px}
  .single-tribe_events #tribe-events-content .tp-ev-hero__cal>.kt-inside-inner-col{align-items:flex-start}
  .single-tribe_events #tribe-events-content .type-tribe_events{
    grid-template-columns:[full-start] var(--tp-gutter) [main-start side-start] minmax(0,1fr) [main-end side-end] var(--tp-gutter) [full-end];
  }
  .single-tribe_events #tribe-events-content .type-tribe_events>.tp-ev-main{grid-row:auto}
  .single-tribe_events #tribe-events-content .type-tribe_events>.event-tickets{max-width:560px}
}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  .single-tribe_events #tribe-events-content .entry-header{
    padding-top:112px;padding-bottom:8px;border-radius:24px 24px 0 0;background-size:150px auto;
  }
  .single-tribe_events #tribe-events-content h1.tribe-events-single-event-title{font-size:36px;line-height:1.05}
  .single-tribe_events #tribe-events-content .tp-ev-hero{padding:28px var(--tp-ev-pad-inline) 40px;border-radius:0 0 24px 24px}
  .single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-schedule__datetime{font-size:19px}
  .single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-list,
  .single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__meta{grid-template-columns:1fr 1fr;gap:20px 16px}
  .single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-value,
  .single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-value abbr,
  .single-tribe_events #tribe-events-content .tp-ev-card .tribe-events-meta-value div,
  .single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__name h3,
  .single-tribe_events #tribe-events-content .tp-ev-card .tribe-block__venue__address .tribe-address{font-size:19px}
  .single-tribe_events #tribe-events-content .tribe-tickets__rsvp-wrapper{padding:24px 20px}
  .single-tribe_events #tribe-events-content .tribe-tickets__rsvp-attendance-number,
  .single-tribe_events #tribe-events-content .tribe-tickets__rsvp-availability-quantity{font-size:44px}
  .single-tribe_events #tribe-events-content #tribe-events-footer .tribe-events-sub-nav{flex-direction:column;gap:28px}
  .single-tribe_events #tribe-events-content #tribe-events-footer li{flex-basis:auto}
  .single-tribe_events #tribe-events-content #tribe-events-footer a{font-size:19px}
}

/* =========================================================
   TriPoint – events listing (/events/, TEC list view)
   Built from Figma node 213:1345.

   Two things shape how this is written:
   - The Events Calendar Pro prints two stylesheets in the BODY, after this
     file, so load order cannot be fixed with enqueue dependencies. Rules
     here are prefixed with `body` for extra specificity and the properties
     the plugin also sets carry !important. Anything added later needs the
     same treatment or it will silently do nothing.
   - Every value below comes from the Figma node, not from eyeballing.
   ========================================================= */

/* Fonts: the plugins ship their own stack through variables and rules. */
body.post-type-archive-tribe_events{
  --tec-font-family-sans-serif:inherit;
  --tec-font-family-base:inherit;
  --tribe-font-family-sans-serif:inherit;
  --tribe-font-family-base:inherit;
}
body.post-type-archive-tribe_events .tribe-events,
body.post-type-archive-tribe_events .tribe-events *,
body.post-type-archive-tribe_events .tribe-common,
body.post-type-archive-tribe_events .tribe-common *{font-family:inherit !important}

/* Page background. The footer has rounded top corners, so whatever sits
   behind them shows through - on this template that was Kadence's default
   rather than the off-white of the listing above it. */
body.post-type-archive-tribe_events,
body.post-type-archive-tribe_events #wrapper,
body.post-type-archive-tribe_events #primary,
body.post-type-archive-tribe_events #main{background-color:var(--global-palette9) !important}

/* The footer row itself is the teal band behind the dark panel's 32px
   rounded corners. On the homepage that reads as a continuation of the teal
   CTA above it; here the section above is off-white, so the teal showed as
   a sliver at each top corner and the join looked like a sharp step.
   Body-prefixed and !important because Kadence prints the row's own
   background colour after this stylesheet. */
body.post-type-archive-tribe_events .tp-footer{
  background-color:var(--global-palette9) !important;
}

/* Page container */
/* Kadence's own content container adds 48px (28px on phones) and a 1328px
   cap before this template starts, so its padding stacked on the gutter
   below and the page sat roughly twice as far in as everywhere else.
   Zeroed here so .tribe-events is the only thing setting the measure. */
body.post-type-archive-tribe_events .content-container.site-container{
  max-width:none !important;
  padding-left:0 !important;padding-right:0 !important;
}
body.post-type-archive-tribe_events .tribe-events{
  max-width:calc(var(--tp-max) + var(--tp-gutter)*2) !important;
  margin-inline:auto !important;
  padding:8px var(--tp-gutter) 80px !important;
}
body.post-type-archive-tribe_events .tribe-events-header{margin:0 0 28px !important;padding:0 !important}
body.post-type-archive-tribe_events .tribe-common-l-container{padding:0 !important;max-width:none !important;width:100% !important}

/* ---------- Shared arrow button (Find Events / RSVP Now / Subscribe) ---------- */
body.post-type-archive-tribe_events .tribe-events-c-search__button,
body.post-type-archive-tribe_events .tribe-events-c-small-cta__link,
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button{
  position:relative;z-index:0;overflow:hidden;
  display:inline-flex !important;align-items:center !important;justify-content:flex-start !important;gap:12px !important;
  width:auto !important;min-width:0 !important;min-height:44px !important;height:auto !important;
  padding:6px 44px 6px 20px !important;
  border:1px solid transparent !important;border-radius:999px !important;box-shadow:none !important;
  font-size:15px !important;font-weight:400 !important;line-height:1.3 !important;
  color:#fff !important;text-decoration:none !important;text-transform:none !important;
  transition:color .45s ease .12s,border-color .45s ease .12s;
}
body.post-type-archive-tribe_events .tribe-events-c-search__button::before,
body.post-type-archive-tribe_events .tribe-events-c-small-cta__link::before,
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button::before{
  content:"";position:absolute;z-index:-1;
  right:6px;top:50%;width:32px;height:32px;margin-top:-16px;
  border-radius:999px;background:#fff;
  transform:scale(1);transform-origin:center;
  transition:transform .7s cubic-bezier(.33,.25,.35,1);
}
body.post-type-archive-tribe_events .tribe-events-c-search__button::after,
body.post-type-archive-tribe_events .tribe-events-c-small-cta__link::after,
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button::after{
  content:"";position:absolute;right:6px;top:50%;margin-top:-16px;
  width:32px;height:32px;border-radius:999px;
  background:#fff var(--tp-arrow-ur) center/18px 18px no-repeat;
  transition:transform .36s ease .1s;
}
body.post-type-archive-tribe_events .tribe-events-c-search__button:hover::before,
body.post-type-archive-tribe_events .tribe-events-c-small-cta__link:hover::before,
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button:hover::before,
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button:focus-within::before{transform:scale(22,9)}
body.post-type-archive-tribe_events .tribe-events-c-search__button:hover::after,
body.post-type-archive-tribe_events .tribe-events-c-small-cta__link:hover::after,
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button:hover::after{transform:rotate(45deg)}
body.post-type-archive-tribe_events .tribe-events-c-search__button,
body.post-type-archive-tribe_events .tribe-events-c-small-cta__link{background:var(--tp-teal) !important}
body.post-type-archive-tribe_events .tribe-events-c-search__button:hover,
body.post-type-archive-tribe_events .tribe-events-c-small-cta__link:hover{border-color:var(--tp-teal) !important;color:var(--tp-dark-teal) !important}
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button{background:var(--tp-purple) !important}
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button:hover,
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button:focus-within{border-color:var(--tp-purple) !important;color:var(--tp-dark-teal) !important}
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button-text{
  padding:0 !important;background:none !important;border:0 !important;color:inherit !important;font:inherit !important;
}
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button-icon,
body.post-type-archive-tribe_events .tribe-events-c-search__button-icon,
body.post-type-archive-tribe_events .tribe-events-c-search__button svg{display:none !important}

/* ---------- Search + view bar ---------- */
body.post-type-archive-tribe_events .tribe-events-c-events-bar{
  display:flex !important;align-items:center !important;flex-wrap:nowrap !important;gap:24px !important;
  min-height:68px !important;margin:0 0 28px !important;padding:12px 12px 12px 24px !important;
  background:#fff !important;border:0 !important;border-radius:999px !important;box-shadow:none !important;
}
/* the magnifier toggle is a mobile affordance; the field is always open here */
body.post-type-archive-tribe_events .tribe-events-c-events-bar__search-button{display:none !important}
body.post-type-archive-tribe_events .tribe-events-c-events-bar__search-container{flex:1 1 auto !important;min-width:0 !important;display:block !important;position:static !important;padding:0 !important;border:0 !important;box-shadow:none !important;background:none !important}
body.post-type-archive-tribe_events .tribe-events-c-events-bar__search{padding:0 !important;border:0 !important}
body.post-type-archive-tribe_events .tribe-events-c-search{padding:0 !important;border:0 !important;background:none !important}
body.post-type-archive-tribe_events .tribe-events-c-search__input-group{display:flex !important;align-items:center !important;gap:24px !important;margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-c-search__input-control{
  display:flex !important;align-items:center !important;gap:12px !important;
  flex:1 1 auto !important;min-width:0 !important;margin:0 !important;padding:0 !important;border:0 !important;background:none !important;
}
body.post-type-archive-tribe_events .tribe-common-form-control-text__label{position:absolute !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;white-space:nowrap !important}
body.post-type-archive-tribe_events .tribe-events-c-search__input-control-icon-svg{flex:0 0 20px !important;width:20px !important;height:20px !important;color:var(--tp-dark-teal) !important}
body.post-type-archive-tribe_events .tribe-events-c-search__input-control-icon-svg path{fill:currentColor}
body.post-type-archive-tribe_events .tribe-events-c-search__input{
  width:100% !important;margin:0 !important;padding:0 !important;
  border:0 !important;background:none !important;box-shadow:none !important;outline:none !important;
  font-size:16px !important;line-height:1.5 !important;color:var(--tp-dark-teal) !important;
}
body.post-type-archive-tribe_events .tribe-events-c-search__input::placeholder{color:var(--tp-dark-teal) !important;opacity:.7}
body.post-type-archive-tribe_events .tribe-events-c-search__button-container{margin:0 !important;flex:0 0 auto !important}

/* view switcher, divided from the button by a rule */
body.post-type-archive-tribe_events .tribe-events-c-events-bar__views{
  position:relative;flex:0 0 auto !important;padding:0 0 0 24px !important;margin:0 !important;border:0 !important;
}
body.post-type-archive-tribe_events .tribe-events-c-events-bar__views::before{
  content:"";position:absolute;left:0;top:50%;width:1px;height:28px;margin-top:-14px;background:var(--tp-border);
}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__content{position:static !important;border:0 !important;box-shadow:none !important;background:none !important;padding:0 !important;margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list{display:flex !important;gap:4px !important;margin:0 !important;padding:0 !important;list-style:none !important}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item{margin:0 !important;padding:0 !important;border:0 !important}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link{
  display:inline-flex !important;align-items:center !important;
  padding:10px 16px !important;border:0 !important;border-radius:999px !important;background:none !important;
  font-size:15px !important;font-weight:400 !important;line-height:1.5 !important;
  color:var(--tp-dark-teal) !important;text-decoration:none !important;
  transition:background-color .2s ease;
}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link:hover{background:var(--global-palette9) !important}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link{
  background:var(--global-palette8) !important;font-weight:600 !important;
}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-icon,
body.post-type-archive-tribe_events .tribe-events-c-view-selector__button-icon{display:none !important}

/* ---------- Top bar ---------- */
body.post-type-archive-tribe_events .tribe-events-c-top-bar{
  display:flex !important;align-items:center !important;gap:20px !important;margin:0 0 40px !important;padding:0 !important;
}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav{margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-list{display:flex !important;align-items:center !important;gap:12px !important;margin:0 !important;padding:0 !important;list-style:none !important;opacity:.6}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-list-item{margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-link{display:inline-flex !important;padding:0 !important;border:0 !important;background:none !important}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-link-icon-svg{width:24px !important;height:24px !important;color:var(--tp-dark-teal) !important}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__today-button{
  display:inline-flex !important;align-items:center !important;
  height:auto !important;padding:8px 20px !important;
  border:1px solid var(--tp-border) !important;border-radius:999px !important;background:none !important;box-shadow:none !important;
  font-size:14px !important;font-weight:400 !important;line-height:1.5 !important;
  color:var(--tp-body) !important;text-decoration:none !important;text-transform:none !important;letter-spacing:0 !important;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__today-button:hover{background:var(--tp-dark-teal) !important;border-color:var(--tp-dark-teal) !important;color:#fff !important}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__datepicker{margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__datepicker-button{
  display:inline-flex !important;align-items:center !important;gap:8px !important;
  padding:0 !important;border:0 !important;background:none !important;
  font-size:36px !important;font-weight:500 !important;line-height:1.1 !important;letter-spacing:-.9px !important;
  color:var(--tp-dark-teal) !important;
}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__datepicker-button-icon-svg{width:20px !important;height:20px !important}

/* ---------- Month separator ---------- */
body.post-type-archive-tribe_events .tribe-events-calendar-list__month-separator{
  display:flex !important;align-items:center !important;gap:24px !important;
  margin:0 0 24px !important;padding:0 !important;border:0 !important;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__month-separator h3{margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__month-separator::after{content:"";flex:1 1 auto;height:1px;background:var(--tp-border)}
body.post-type-archive-tribe_events .tribe-events-calendar-list__month-separator-text{
  font-size:18px !important;font-weight:500 !important;line-height:1.5 !important;color:var(--tp-dark-teal) !important;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__month-separator-text::before,
body.post-type-archive-tribe_events .tribe-events-calendar-list__month-separator-text::after{content:none !important}

/* ---------- Event card ---------- */
body.post-type-archive-tribe_events .tribe-events-calendar-list{margin:0 !important;padding:0 !important;list-style:none !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-row{
  display:flex !important;align-items:flex-start !important;gap:32px !important;
  margin:0 0 24px !important;padding:28px !important;
  background:#fff !important;border:0 !important;border-radius:28px !important;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-row:last-child{margin-bottom:0 !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag{
  display:flex !important;flex:0 0 84px !important;width:84px !important;height:100px !important;
  margin:0 !important;padding:0 !important;
  background:var(--global-palette8) !important;border-radius:20px !important;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-datetime{
  display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:2px !important;width:100% !important;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-weekday{
  font-size:12px !important;font-weight:600 !important;line-height:1.5 !important;color:var(--tp-teal) !important;text-transform:uppercase !important;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-daynum{
  font-size:36px !important;font-weight:500 !important;line-height:1.5 !important;color:var(--tp-dark-teal) !important;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-wrapper{flex:1 1 auto !important;min-width:0 !important;padding:0 !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event{display:flex !important;flex-direction:column !important;gap:16px !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-header{display:flex !important;flex-direction:column !important;gap:8px !important;margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-datetime-wrapper{margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-datetime{
  font-size:16px !important;font-weight:500 !important;line-height:1.5 !important;color:var(--tp-dark-teal) !important;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title{margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link{
  font-size:30px !important;font-weight:500 !important;line-height:1.2 !important;letter-spacing:-.75px !important;
  color:var(--tp-dark-teal) !important;text-decoration:none !important;
  transition:color .2s ease;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link:hover{color:var(--tp-teal) !important;text-decoration:none !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-venue{
  margin:0 !important;font-size:16px !important;line-height:1.5 !important;color:var(--tp-body) !important;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-venue-title{font-weight:600 !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-venue-address{font-style:normal !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-description{margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-description p{
  margin:0 !important;font-size:16px !important;line-height:1.5 !important;color:var(--tp-body) !important;
}

/* RSVP, price and spots */
body.post-type-archive-tribe_events .tribe-events-c-small-cta{display:flex !important;align-items:center !important;gap:16px !important;margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-c-small-cta__price,
body.post-type-archive-tribe_events .tribe-events-c-small-cta__stock{
  font-size:14px !important;line-height:1.5 !important;color:var(--tp-body) !important;
}
body.post-type-archive-tribe_events .tribe-events-c-small-cta__stock{position:relative;padding-left:16px !important}
body.post-type-archive-tribe_events .tribe-events-c-small-cta__stock::before{
  content:"";position:absolute;left:0;top:50%;width:1px;height:16px;margin-top:-8px;background:var(--tp-border);
}

/* ---------- Pagination and subscribe ---------- */
body.post-type-archive-tribe_events .tribe-events-c-nav{
  margin:28px 0 0 !important;padding:28px 0 0 !important;border-top:1px solid var(--tp-border) !important;
}
body.post-type-archive-tribe_events .tribe-events-c-nav__list{
  display:flex !important;align-items:center !important;justify-content:space-between !important;gap:20px !important;
  margin:0 !important;padding:0 !important;list-style:none !important;opacity:.65;
}
body.post-type-archive-tribe_events .tribe-events-c-nav__list-item{margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-c-nav__list-item--today{display:none !important}
body.post-type-archive-tribe_events .tribe-events-c-nav__prev,
body.post-type-archive-tribe_events .tribe-events-c-nav__next{
  display:inline-flex !important;align-items:center !important;gap:8px !important;
  padding:0 !important;border:0 !important;background:none !important;
  font-size:16px !important;line-height:1.5 !important;color:var(--tp-muted) !important;text-decoration:none !important;
  transition:color .2s ease;
}
body.post-type-archive-tribe_events .tribe-events-c-nav__prev:hover,
body.post-type-archive-tribe_events .tribe-events-c-nav__next:hover{color:var(--tp-dark-teal) !important;text-decoration:none !important}
body.post-type-archive-tribe_events .tribe-events-c-nav__prev-icon-svg,
body.post-type-archive-tribe_events .tribe-events-c-nav__next-icon-svg{width:20px !important;height:20px !important}
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__container{display:flex !important;justify-content:flex-end !important;margin:28px 0 0 !important}
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__content{right:0 !important;left:auto !important;z-index:20}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  body.post-type-archive-tribe_events .tribe-events-c-events-bar{flex-wrap:wrap !important;border-radius:28px !important;padding:16px !important}
  body.post-type-archive-tribe_events .tribe-events-c-events-bar__views{padding-left:0 !important}
  body.post-type-archive-tribe_events .tribe-events-c-events-bar__views::before{content:none}
  body.post-type-archive-tribe_events .tribe-events-c-top-bar__datepicker-button{font-size:30px !important}
  body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link{font-size:26px !important}
}

/* ---------- Mobile ---------- */
@media (max-width:767px){
  body.post-type-archive-tribe_events .tribe-events{padding:4px var(--tp-gutter) 56px !important}
  body.post-type-archive-tribe_events .tribe-events-c-search__input-group{flex-wrap:wrap !important;gap:12px !important}
  body.post-type-archive-tribe_events .tribe-events-calendar-list__event-row{gap:16px !important;padding:20px !important;border-radius:24px !important}
  body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag{flex-basis:64px !important;width:64px !important;height:76px !important;border-radius:16px !important}
  body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-daynum{font-size:28px !important}
  body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link{font-size:22px !important;letter-spacing:-.5px !important}
  body.post-type-archive-tribe_events .tribe-events-c-top-bar{flex-wrap:wrap !important;gap:12px !important}
  body.post-type-archive-tribe_events .tribe-events-c-top-bar__datepicker-button{font-size:26px !important}
  body.post-type-archive-tribe_events .tribe-events-c-small-cta{flex-wrap:wrap !important;gap:12px !important}
  /* The List / Month / Day switcher is forced open on every width (TEC's
     own dropdown toggle is hidden further up). In the wrapped events bar it
     was being shrunk to 29px while its pills kept their size, so they ran
     off the right edge. Give it the full row and let the pills wrap. */
  body.post-type-archive-tribe_events .tribe-events-c-events-bar__views{
    flex:1 1 100% !important;min-width:0 !important;width:100% !important;
  }
  body.post-type-archive-tribe_events .tribe-events-c-view-selector,
  body.post-type-archive-tribe_events .tribe-events-c-view-selector__content{width:100% !important}
  body.post-type-archive-tribe_events .tribe-events-c-view-selector__list{flex-wrap:wrap !important}
  /* Search card on its own row, switcher below it, both left aligned.
     The header wrapper is in here too: it is the flex item the whole bar
     sits in, so without a full-width basis of its own the bar is sized to
     its content and overflows the screen rather than wrapping. */
  body.post-type-archive-tribe_events .tribe-events-header__events-bar{
    flex:1 1 100% !important;width:100% !important;min-width:0 !important;
    flex-wrap:wrap !important;gap:16px !important;
  }
  body.post-type-archive-tribe_events .tribe-events-c-events-bar{row-gap:16px !important}
  body.post-type-archive-tribe_events .tribe-events-c-events-bar__search-container,
  body.post-type-archive-tribe_events .tribe-events-c-events-bar__search{
    flex:1 1 100% !important;width:100% !important;min-width:0 !important;
  }
  body.post-type-archive-tribe_events .tribe-events-c-events-bar__views,
  body.post-type-archive-tribe_events .tribe-events-c-view-selector__list{justify-content:flex-start !important}
}

/* ---------- Listing corrections ---------- */

/* Search icon: TEC positions it absolutely, so it landed on top of the
   placeholder instead of beside it. Put it back in the flex row. */
body.post-type-archive-tribe_events .tribe-events-c-search__input-control{position:relative !important}
body.post-type-archive-tribe_events .tribe-events-c-search__input-control-icon-svg{
  position:static !important;inset:auto !important;transform:none !important;margin:0 !important;
}

/* View selector: no underline on the active tab, no grey hover block. */
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link,
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link:hover,
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link:focus{
  border-bottom:0 !important;box-shadow:none !important;text-decoration:none !important;
}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link::before,
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link::after{content:none !important}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link:hover{background:var(--global-palette8) !important;color:var(--tp-dark-teal) !important}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item--active .tribe-events-c-view-selector__list-item-link:hover{background:var(--global-palette8) !important}

/* Period arrows: smaller, and in the body colour rather than the accent. */
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-link-icon-svg{
  width:16px !important;height:16px !important;color:var(--tp-body) !important;
}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-link-icon-svg path{fill:currentColor}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-list{gap:16px !important;opacity:1 !important}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-link{opacity:.75;transition:opacity .2s ease}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-link:hover{opacity:1}

/* Breathing room under the venue and the description. */
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-venue{margin:0 0 4px !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-description{margin:0 0 8px !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-description p{margin:0 0 8px !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-description p:last-child{margin-bottom:0 !important}


/* Previous / next: readable, and pinned to their own ends. */
body.post-type-archive-tribe_events .tribe-events-c-nav__list{opacity:1 !important}
body.post-type-archive-tribe_events .tribe-events-c-nav__list-item{flex:0 0 auto !important;width:auto !important}
body.post-type-archive-tribe_events .tribe-events-c-nav__list-item--prev{margin-right:auto !important}
body.post-type-archive-tribe_events .tribe-events-c-nav__list-item--next{margin-left:auto !important}
body.post-type-archive-tribe_events .tribe-events-c-nav__prev,
body.post-type-archive-tribe_events .tribe-events-c-nav__next{
  color:var(--tp-dark-teal) !important;font-weight:500 !important;opacity:1 !important;
}
body.post-type-archive-tribe_events .tribe-events-c-nav__prev[disabled],
body.post-type-archive-tribe_events .tribe-events-c-nav__next[disabled],
body.post-type-archive-tribe_events .tribe-events-c-nav__prev--disabled,
body.post-type-archive-tribe_events .tribe-events-c-nav__next--disabled{opacity:.4 !important}
body.post-type-archive-tribe_events .tribe-events-c-nav__prev:hover,
body.post-type-archive-tribe_events .tribe-events-c-nav__next:hover{color:var(--tp-teal) !important}
body.post-type-archive-tribe_events .tribe-events-c-nav__prev-icon-svg,
body.post-type-archive-tribe_events .tribe-events-c-nav__next-icon-svg{
  width:16px !important;height:16px !important;color:currentColor !important;
}
body.post-type-archive-tribe_events .tribe-events-c-nav__prev-icon-svg path,
body.post-type-archive-tribe_events .tribe-events-c-nav__next-icon-svg path{fill:currentColor}

/* View selector: keep the three tabs visible at all times.
   TEC renders this as a collapsible dropdown and only expands it to tabs
   with JavaScript. After an AJAX view swap that class is lost before the
   script re-runs, so the panel collapses and the tabs vanish. */
body.post-type-archive-tribe_events .tribe-events-c-view-selector__content{
  display:block !important;position:static !important;
  visibility:visible !important;opacity:1 !important;
  height:auto !important;max-height:none !important;overflow:visible !important;
  transform:none !important;pointer-events:auto !important;
}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__button{display:none !important}

body.post-type-archive-tribe_events .tribe-events-calendar-list__event-venue{margin:0 0 12px !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-description{margin:4px 0 16px !important}

/* Search icon sits before the field, not after it: the icon follows the
   input in TEC's markup and only looked right because it was absolutely
   positioned. */
body.post-type-archive-tribe_events .tribe-events-c-search__input-control-icon-svg{order:-1 !important}

/* Datepicker chevrons. These sit beside Today and are separate from the
   pagination arrows - they were left at the plugin's size and colour. */
body.post-type-archive-tribe_events .tribe-events-c-top-bar__datepicker-nav-icon-svg,
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-link-icon-svg{
  width:auto !important;height:14px !important;color:var(--tp-body) !important;
}
body.post-type-archive-tribe_events .tribe-events-c-top-bar__datepicker-nav-icon-svg path,
body.post-type-archive-tribe_events .tribe-events-c-top-bar__nav-link-icon-svg path{fill:currentColor !important}

/* The bold label added in PHP */
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-description .tp-ev-label{
  font-weight:600 !important;color:var(--tp-body) !important;
}

/* The grey block on hover comes from the list item and the plugin's button
   reset, not from the link, so clearing it on the link alone left a square
   behind the pill. */
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item,
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item:hover,
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item:focus-within,
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link:focus,
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link:active,
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-text{
  background:none !important;background-color:transparent !important;box-shadow:none !important;
}
body.post-type-archive-tribe_events .tribe-events-c-view-selector__list-item-link:focus-visible{
  outline:2px solid var(--tp-dark-teal) !important;outline-offset:2px !important;
}

/* Search icon from the Figma design, in place of TEC's own. Drawn on the
   control as a background so the plugin's svg can simply be hidden. */
body.post-type-archive-tribe_events .tribe-events-c-search__input-control-icon-svg{display:none !important}
body.post-type-archive-tribe_events .tribe-events-c-search__input-control::before{
  content:"";flex:0 0 20px;width:20px;height:20px;order:-1;
  background:url("/wp-content/uploads/2026/10/tp-icon-search.svg") center/20px 20px no-repeat;
}

/* Give the text column the full width of the card. TEC's grid classes cap
   it, which is why titles ran out of room long before the card's edge. With
   the room available most titles now sit on one line and the rest wrap
   rather than being cut off. */
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-details{
  flex:1 1 auto !important;width:100% !important;max-width:none !important;min-width:0 !important;padding:0 !important;
}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event{width:100% !important;max-width:none !important;margin:0 !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title{min-width:0;max-width:none !important}
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link{display:block;text-wrap:balance}

/* ---------- Month view hover card ----------
   Tooltipster appends these to <body>, outside .tribe-events, so they are
   scoped to the theme class it adds rather than to the page container. */
.tribe-events-tooltip-theme,
.tribe-events-tooltip-theme .tooltipster-box{
  max-width:360px !important;
  margin:0 !important;padding:0 !important;
  background:#fff !important;border:0 !important;border-radius:24px !important;
  box-shadow:0 18px 40px rgba(24,87,102,.22) !important;
}
.tribe-events-tooltip-theme .tooltipster-content{padding:20px !important;overflow:visible !important}
.tribe-events-tooltip-theme .tooltipster-arrow{display:none !important}
.tribe-events-tooltip-theme .tribe-events-calendar-month__calendar-event-tooltip-datetime{
  margin:0 0 6px !important;font-size:13px !important;line-height:1.4 !important;color:var(--tp-body) !important;
}
.tribe-events-tooltip-theme .tribe-events-calendar-month__calendar-event-tooltip-title{margin:0 0 8px !important}
.tribe-events-tooltip-theme .tribe-events-calendar-month__calendar-event-tooltip-title-link{
  font-size:17px !important;font-weight:600 !important;line-height:1.25 !important;
  color:var(--tp-dark-teal) !important;text-decoration:none !important;
}
.tribe-events-tooltip-theme .tribe-events-calendar-month__calendar-event-tooltip-title-link:hover{color:var(--tp-teal) !important}
.tribe-events-tooltip-theme .tribe-events-calendar-month__calendar-event-tooltip-description,
.tribe-events-tooltip-theme .tribe-events-calendar-month__calendar-event-tooltip-description p{
  margin:0 !important;font-size:14px !important;line-height:1.5 !important;color:var(--tp-body) !important;
}
/* the RSVP row inside the card, at a size that suits it */
.tribe-events-tooltip-theme .tribe-events-c-small-cta{
  display:flex !important;align-items:center !important;gap:12px !important;margin:14px 0 0 !important;
}
.tribe-events-tooltip-theme .tribe-events-c-small-cta__link{
  position:relative;z-index:0;overflow:hidden;
  display:inline-flex !important;align-items:center !important;gap:10px !important;
  min-height:36px !important;padding:4px 36px 4px 16px !important;
  border:1px solid transparent !important;border-radius:999px !important;
  background:var(--tp-teal) !important;color:#fff !important;
  font-size:14px !important;font-weight:400 !important;text-decoration:none !important;
  transition:color .45s ease .12s,border-color .45s ease .12s;
}
.tribe-events-tooltip-theme .tribe-events-c-small-cta__link::before{
  content:"";position:absolute;z-index:-1;right:4px;top:50%;width:28px;height:28px;margin-top:-14px;
  border-radius:999px;background:#fff;transform:scale(1);
  transition:transform .7s cubic-bezier(.33,.25,.35,1);
}
.tribe-events-tooltip-theme .tribe-events-c-small-cta__link::after{
  content:"";position:absolute;right:4px;top:50%;margin-top:-14px;width:28px;height:28px;border-radius:999px;
  background:#fff var(--tp-arrow-ur) center/16px 16px no-repeat;
  transition:transform .36s ease .1s;
}
.tribe-events-tooltip-theme .tribe-events-c-small-cta__link:hover{border-color:var(--tp-teal) !important;color:var(--tp-dark-teal) !important}
.tribe-events-tooltip-theme .tribe-events-c-small-cta__link:hover::before{transform:scale(20,9)}
.tribe-events-tooltip-theme .tribe-events-c-small-cta__link:hover::after{transform:rotate(45deg)}
.tribe-events-tooltip-theme .tribe-events-c-small-cta__price,
.tribe-events-tooltip-theme .tribe-events-c-small-cta__stock{font-size:13px !important;color:var(--tp-body) !important}

/* The line under the title on hover is a border on the link, not a text
   underline - it runs the full width because the link is a block. */
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link,
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link:hover,
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link:focus,
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title-link:active,
.tribe-events-tooltip-theme .tribe-events-calendar-month__calendar-event-tooltip-title-link:hover{
  border:0 !important;border-bottom:0 !important;
  box-shadow:none !important;
  text-decoration:none !important;text-decoration-line:none !important;
  background-image:none !important;
}

/* ---------- Event hero: back link, then date, then title ----------
   The title is now the builder heading .tp-ev-title rather than TEC's own,
   so the header above it collapses to just the back link. These come last
   in the file deliberately: they restate padding set earlier, including
   inside the mobile media queries above. */
.single-tribe_events #tribe-events-content .entry-header{padding-bottom:0}
.single-tribe_events #tribe-events-content .tribe-events-back{margin:0}
.single-tribe_events #tribe-events-content .tp-ev-hero{padding-top:16px}
.single-tribe_events #tribe-events-content .tp-ev-hero .tribe-events-c-subscribe-dropdown{margin:0}
