/* =========================================================
   Prior Lake Events — FINAL, CONSOLIDATED THEME CSS
   (Kadence + The Events Calendar Pro)
   Enterprise polish: unified toolbar + carded list + calmer actions
   2026-08 BRAND REFRESH: retokened to brand navy #162d50 + gold
   #d4a84b; DM Serif Display display layer (h1/h2, event H1,
   dayheads); navy footer; unified gold/navy button tiers.
   New sections appended at the end under ==== banners; the
   SPONSOR OPEN SLOT section is last and strippable on its own.
   ========================================================= */

/* ---- TOKENS ------------------------------------------------ */
:root{
  --ple-navy:   #162d50;    /* brand navy (was the old near-black) */
  --ple-navy-2: #1E3A5A;    /* hover navy */
  --ple-gold:   #d4a84b;    /* brand gold (was the old taxi-yellow) */
  --ple-gold-2: #dfb968;    /* gold hover */
  --ple-gold-tint: #FBF6EC; /* quiet hover cream */

  /* Brand type (loaded sitewide by the "PLE Brand Fonts" snippet).
     DM Serif Display has NO bold — weight 400 only, always.
     The Fallback face (declared below) is metric-adjusted local
     Georgia, so the display=swap first paint holds the same line
     counts as the loaded face (CLS guard on the event H1). */
  --ple-serif: 'DM Serif Display', 'DM Serif Display Fallback', Georgia, serif;
  --ple-sans:  'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  --ple-gray:   #425466;
  --ple-muted:  #6B7280;

  --ple-border: #E4E7EB;
  --ple-soft:   #F6F8FB;

  --ple-warn:   #FFF8E1;
  --ple-warn-b: #EFD272;

  --ple-radius: 14px;

  /* Shadows */
  --ple-shadow-1: 0 1px 0 rgba(0,0,0,.02), 0 10px 24px rgba(0,0,0,.05);
  --ple-shadow-2: 0 1px 0 rgba(0,0,0,.02), 0 18px 44px rgba(0,0,0,.10);

  /* 8px spacing scale */
  --s-1: .25rem;   /* 4px  */
  --s-2: .5rem;    /* 8px  */
  --s-3: .75rem;   /* 12px */
  --s-4: 1rem;     /* 16px */
  --s-5: 1.5rem;   /* 24px */
  --s-6: 2rem;     /* 32px */
}

/* CLS guard for the serif display layer: Georgia, metric-adjusted
   to approximate DM Serif Display's advance widths and vertical
   metrics, used only during the display=swap window. No request is
   added (src:local). QA target: identical H1 line counts before/
   after the swap at 390px on a long event title; tune the three
   percentages against the real face if a count ever differs. */
@font-face{
  font-family:'DM Serif Display Fallback';
  src:local('Georgia');
  size-adjust:105%;
  ascent-override:97%;
  descent-override:25%;
  line-gap-override:0%;
}

/* ---- ACCESSIBILITY / UTILS -------------------------------- */
.screen-reader-text {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* ---- TYPOGRAPHY SCALE (serif display layer) ----------------
   :where() keeps specificity at 0,0,1 — every scoped component
   (.ple-exit-popup__headline, .mailpoet_form headings, /newsletter,
   TEC classed headings) wins automatically. Inert on page 2468
   (/newsletter — zero drift there is a hard rule) and inert by
   markup on home + /events (sr-only H1s). Serif STOPS at h2:
   h3-h6 keep theme defaults (firewalls TEC card titles, widgets,
   form headings). DM Serif Display has no bold: weight 400 only.
   No !important in this section, ever. */
:where(body:not(.page-id-2468)) h1,
:where(body:not(.page-id-2468)) h2{
  font-family:var(--ple-serif);
  font-weight:400;
  color:var(--ple-navy);
  letter-spacing:-.2px;
}
:where(body:not(.page-id-2468)) h1{ font-size:clamp(30px,5vw,40px); line-height:1.12; }
:where(body:not(.page-id-2468)) h2{ font-size:clamp(22px,3.2vw,27px); line-height:1.2; }

/* Gold rule under standard-page H1s (hub pages etc.). Cannot reach
   /advertise (its H1 is .ple-h1, not .wp-block-heading) nor the
   home//events sr-only H1s. content:"" is pure decoration — no
   text is smuggled through CSS. */
:where(body:not(.page-id-2468)) .entry-content > h1.wp-block-heading::after{
  content:""; display:block; width:44px; height:3px; border-radius:2px;
  background:var(--ple-gold); margin-top:10px;
}

/* ---- HEADER (desktop CTAs) -------------------------------- */
.site-header .menu-item a[href*="community/add"]{
  background:var(--ple-gold);
  color:var(--ple-navy) !important;
  padding:8px 14px; border-radius:10px;
  font-weight:700; text-decoration:none;
  transition:.2s ease-in-out;
}
.site-header .menu-item a[href*="community/add"]:hover{
  background:var(--ple-gold-2); color:var(--ple-navy) !important;
}

/* Subscribe = PRIMARY tier (gold bg, navy text) */
.site-header .menu-item a[href*="/newsletter"],
.site-header .menu-item a[href*="/subscribe"]{
  background:var(--ple-gold);
  border:2px solid var(--ple-gold);
  color:var(--ple-navy) !important;
  padding:6px 12px; border-radius:10px;
  font-weight:700; text-decoration:none; margin-left:10px;
  transition:.2s ease-in-out;
}
.site-header .menu-item a[href*="/newsletter"]:hover,
.site-header .menu-item a[href*="/subscribe"]:hover{
  background:var(--ple-gold-2); border-color:var(--ple-gold-2); color:var(--ple-navy) !important;
}

@media (min-width:783px){
  .site-header .menu-item a[href*="community/add"],
  .site-header .menu-item a[href*="/newsletter"],
  .site-header .menu-item a[href*="/subscribe"]{
    border-radius:var(--ple-radius);
    padding:10px 16px;
    line-height:1.2;
  }
}

.site-header .menu-item a[href*="community/add"]:focus-visible,
.site-header .menu-item a[href*="/newsletter"]:focus-visible,
.site-header .menu-item a[href*="/subscribe"]:focus-visible{
  outline:2px solid var(--ple-navy);
  outline-offset:2px;
}

/* ---- MOBILE DRAWER (Kadence) ------------------------------- */
@media (max-width:782px){
  .mobile-drawer .menu>li,
  .mobile-navigation .menu>li,
  .kadence-header .mobile-drawer .menu>li{ border-bottom:0 !important; }

  .mobile-drawer a[href*="community/add"],
  .mobile-navigation a[href*="community/add"],
  .kadence-mobile-submenu a[href*="community/add"]{
    display:block; margin:12px 16px 8px; padding:12px 16px;
    border-radius:12px;
    background:var(--ple-gold) !important;
    color:var(--ple-navy) !important;
    font-weight:800;
    text-decoration:none !important;
  }
  .mobile-drawer a[href*="community/add"]:hover,
  .mobile-navigation a[href*="community/add"]:hover{
    background:var(--ple-gold-2) !important;
  }

  .mobile-drawer a[href*="/newsletter"],
  .mobile-navigation a[href*="/newsletter"],
  .kadence-mobile-submenu a[href*="/newsletter"],
  .mobile-drawer a[href*="/subscribe"],
  .mobile-navigation a[href*="/subscribe"],
  .kadence-mobile-submenu a[href*="/subscribe"]{
    display:block; margin:8px 16px 12px; padding:12px 16px;
    border-radius:12px;
    border:2px solid #fff !important;
    background:transparent !important;
    color:#fff !important;
    font-weight:800;
    text-decoration:none !important;
  }
  .mobile-drawer a[href*="/newsletter"]:hover,
  .mobile-navigation a[href*="/newsletter"]:hover,
  .mobile-drawer a[href*="/subscribe"]:hover,
  .mobile-navigation a[href*="/subscribe"]:hover{
    background:#fff !important;
    color:var(--ple-navy) !important;
  }
}

/* ---- OPTIONAL: home intro --------------------------------- */
.home-intro{
  text-align:center; margin:2rem auto 1.5rem; max-width:680px;
  font-size:1.05rem; line-height:1.6; color:var(--ple-navy);
}
.home-intro strong{ color:var(--ple-navy); font-weight:800; }

/* ---- TEC: hide subscribe dropdown -------------------------- */
.tribe-events-c-subscribe-dropdown{ display:none !important; }

/* ============================================================
   TEC LIST VIEW — ENTERPRISE POLISH
   - surface + sticky unified toolbar
   - “card” events
   - calmer Share button
   - consistent description clamp
   ============================================================ */

/* Soft surface for list view */
body .tribe-events-view--list{
  background:var(--ple-soft);
}
body .tribe-events-view--list .tribe-events-c-view,
body .tribe-events-view--list .tribe-events-l-container{
  background:transparent !important;
}

/* Unified top toolbar */
body .tribe-events .tribe-events-c-top-bar{
  background:#fff !important;
  border:1px solid var(--ple-border) !important;
  border-radius:var(--ple-radius) !important;
  padding:12px 14px !important;
  box-shadow:var(--ple-shadow-1) !important;
}
@media (min-width:783px){
  body .tribe-events .tribe-events-c-top-bar{
    position:sticky;
    top:12px;
    z-index:50;
  }
  body.admin-bar .tribe-events .tribe-events-c-top-bar{ top:44px; }
}

/* Carded event rows */
body .tribe-events-view--list .tribe-events-calendar-list__event{
  background:#fff !important;
  border:1px solid var(--ple-border) !important;
  border-radius:var(--ple-radius) !important;
  padding:16px !important;
  margin:0 0 0px 0 !important;
  box-shadow:var(--ple-shadow-1) !important;
  overflow:hidden;
  transition: box-shadow .15s ease, transform .15s ease !important;
}

/* Remove any list separators/borders from other styles */
body .tribe-events-view--list .tribe-events-calendar-list__event + .tribe-events-calendar-list__event{
  border-top:none !important;
}
.tribe-events-calendar-list > *{ border-bottom:none !important; }
body .tribe-events-view--list .tribe-events-calendar-list__event::before{ display:none !important; }

@media (hover:hover){
  body .tribe-events-view--list .tribe-events-calendar-list__event:hover{
    transform:translateY(-1px);
    box-shadow:var(--ple-shadow-2) !important;
  }
}

/* Datetime row: flex so Share can align right cleanly */
body .tribe-events-view--list .tribe-events-calendar-list__event-datetime{
  margin:0 0 8px !important;
  font-weight:700 !important;
  color:var(--ple-navy) !important;
  display:flex !important;
  align-items:center !important;
  gap:.5rem !important;
}

/* Title + link polish (no underline by default) */
body .tribe-events-view--list .tribe-events-calendar-list__event-title{
  margin:0 0 8px !important;
  line-height:1.18 !important;
}
body .tribe-events-view--list .tribe-events-calendar-list__event-title a{
  color:var(--ple-navy) !important;
  text-decoration:none !important;
}
@media (hover:hover){
  body .tribe-events-view--list .tribe-events-calendar-list__event-title a:hover{
    color:var(--ple-navy) !important;
    text-decoration:underline !important;
    text-decoration-color:var(--ple-gold) !important;
    text-underline-offset:3px !important;
    text-decoration-thickness:2px !important;
  }
}

/* Venue + meta tone */
body .tribe-events-view--list .tribe-events-calendar-list__event-venue{
  margin-top:2px !important;
  color:var(--ple-gray) !important;
}

/* Description (clamped, consistent) */
body .tribe-events-view--list .tribe-events-calendar-list__event-description{
  color:var(--ple-gray) !important;
  font-size:15px !important;
  line-height:1.6 !important;
  display:block !important;
}
@media (max-width:640px){
  body .tribe-events-view--list .tribe-events-calendar-list__event-description > p:first-of-type,
  body .tribe-events-view--list .tribe-events-calendar-list__event-description .tribe-common-b2:first-of-type{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:4 !important;
    overflow:hidden !important;
    max-height:calc(1.6em * 4) !important;
  }
}
@media (min-width:641px){
  body .tribe-events-view--list .tribe-events-calendar-list__event-description > p:first-of-type,
  body .tribe-events-view--list .tribe-events-calendar-list__event-description .tribe-common-b2:first-of-type{
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:5 !important;
    overflow:hidden !important;
    max-height:calc(1.6em * 5) !important;
  }

  /* Featured: a bit more room */
  body .tribe-events-view--list .tribe-events-calendar-list__event--featured
  .tribe-events-calendar-list__event-description > p:first-of-type,
  body .tribe-events-view--list .tribe-events-calendar-list__event--featured
  .tribe-events-calendar-list__event-description .tribe-common-b2:first-of-type{
    -webkit-line-clamp:7 !important;
    max-height:calc(1.6em * 7) !important;
  }
}

/* Date tag: always visible, quieter "calendar" tone */
.tribe-events .tribe-events-calendar-list__event-date-tag{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  font-size:.70rem;
  line-height:1.2;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ple-muted) !important;
  font-weight:700 !important;
  min-width:54px;
  max-width:54px;
}
/* Kill TEC's small breakpoint hide */
.tribe-common--breakpoint-small .tribe-events-calendar-list__event-date-tag,
.tribe-common--breakpoint-medium .tribe-events-calendar-list__event-date-tag{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  overflow:visible !important;
}

/* SHARE — calm/tertiary */
body .tribe-events-view--list .pl-share-button{
  display:inline-flex !important; align-items:center !important; gap:.35rem !important;
  padding:.32rem .6rem !important;
  font:inherit !important;
  font-weight:700 !important;
  line-height:1.1 !important;
  color:var(--ple-navy) !important;
  background:#fff !important;
  border:1px solid var(--ple-border) !important;
  border-radius:10px !important;
  cursor:pointer !important;
  text-decoration:none !important;
  transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s !important;
}
body .tribe-events-view--list .pl-share-button:hover,
body .tribe-events-view--list .pl-share-button:focus-visible{
  background:var(--ple-gold-tint) !important;
  border-color:var(--ple-gold) !important;
  outline:none !important;
  box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ple-gold) !important;
}

/* SHARE alignment: supports both patterns */
body .tribe-events-view--list .pl-share-row{
  display:flex !important;
  justify-content:flex-end !important;
  margin-top:.25rem !important;
}
body .tribe-events-view--list .tribe-events-calendar-list__event-datetime > .pl-share-inline{
  margin-left:auto !important;
  display:inline-flex !important;
}
body .tribe-events-view--list .tribe-events-calendar-list__event-datetime .pl-share-button{
  margin-left:auto !important;
}

/* Hide featured images (List View) */
.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper,
.tribe-events .tribe-events-calendar-list__event-featured-image,
.tribe-events .tribe-events-calendar-list__event-featured-image img{
  display:none !important;
}
/* Let the event details take full width when image is hidden */
.tribe-events .tribe-events-calendar-list__event-details{ width:100% !important; }

/* ---- After-list spacing (newsletter, etc.) ------------------ */
.ple-newsletter,
.ple-events-after,
.mailpoet_form,
.ple-events-after__inner{
  margin-top:40px !important;
  padding-top:12px !important;
  border-top:1px solid var(--ple-border) !important;
}
.tribe-events .tribe-events-after-html,
.tribe-events .tribe-events-c-view__additional-content{
  margin-top:28px !important;
}

/* Trim extra space under events wrapper */
.tribe-events{ margin-bottom:0 !important; padding-bottom:0 !important; }

/* ============================================================
   SINGLE EVENT — description ↔ meta spacing
   ============================================================ */
.single-tribe_events .tribe-events-single-event-description,
.single-tribe_events .tribe-block__event-description{
  margin-bottom:28px !important;
}
.single-tribe_events .tribe-events-event-meta{
  border-top:none !important;
  margin-top:28px !important;
  padding-top:12px !important;
}

/* ============================================================
   Report bar
   ============================================================ */
.ple-report-bar{
  margin:0 0 16px;
  padding:8px 12px;
  border-left:4px solid var(--ple-gold);
  background:rgba(212,168,75,.08);
  border-radius:8px;
  transition:background-color .15s ease, border-color .15s ease;
}
.ple-report-bar:hover{
  background:var(--ple-gold-tint);
  border-color:var(--ple-gold);
}
.ple-report-bar strong{ color:var(--ple-navy); }
.ple-report-bar .ple-report-link{
  display:inline-flex; align-items:center; gap:6px;
  color:var(--ple-navy) !important;
  text-decoration:underline !important;
  text-underline-offset:3px;
  text-decoration-thickness:2px;
}
.ple-report-bar .ple-report-link:focus-visible{
  outline:2px solid var(--ple-navy);
  outline-offset:2px;
}

/* ============================================================
   Footer CTA + spacing — SUPERSEDED (2026-08 refresh):
   see the NAVY FOOTER section near the end of this sheet.
   ============================================================ */

/* ============================================================
   CE login / auth helpers
   ============================================================ */
form[action*="wp-login.php"] a[href*="action=register"]{
  display:inline-block;
  background:var(--ple-gold);
  color:var(--ple-navy) !important;
  padding:8px 14px;
  border-radius:10px;
  font-weight:800;
  text-decoration:none !important;
  margin-right:10px;
}
form[action*="wp-login.php"] a[href*="action=register"]:hover{ background:var(--ple-gold-2); }

form[action*="wp-login.php"] p a[href*="lostpassword"]{
  color:var(--ple-navy) !important;
  text-decoration:underline;
  font-weight:700;
}
form[action*="wp-login.php"] p{ margin-top:12px; }

#tribe-events-community-form p a[href*="action=register"]:not(.ple-big-register){
  display:none !important;
}

/* ============================================================
   “Add Event” landing cards
   ============================================================ */
.ple-add-event-landing .ple-cards{
  display:grid;
  gap:24px;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  margin:10px 0 24px;
}
.ple-add-event-landing .ple-card{
  border:1px solid var(--ple-border);
  border-radius:14px;
  padding:20px;
  background:#fff;
  box-shadow:var(--ple-shadow-1);
}
.ple-add-event-landing .ple-card h2{ margin:0 0 10px; color:var(--ple-navy); }
.ple-add-event-landing .ple-card ul{ margin:0 0 16px; padding-left:18px; }

.ple-btn{
  display:inline-block;
  padding:10px 16px;
  border-radius:10px;
  border:2px solid var(--ple-navy);
  background:#fff;
  color:var(--ple-navy)!important;
  font-weight:800;
  text-decoration:none!important;
}
.ple-btn:hover{ background:#f6f8fb; }
.ple-btn--primary{
  background:var(--ple-gold);
  border-color:var(--ple-gold);
  color:var(--ple-navy)!important;
}
.ple-btn--primary:hover{ background:var(--ple-gold-2); }
.ple-card--premium{ box-shadow:0 2px 0 rgba(212,168,75,.35) inset, var(--ple-shadow-1); }
.ple-note{ color:#666; font-size:13px; margin-top:8px; }

/* ============================================================
   Directorist (single listing) — compact hero
   ============================================================ */
body.single-at_biz_dir header.entry-header.at_biz_dir-title,
body.single-directorist_listing header.entry-header{ display:none !important; }

body.single-at_biz_dir .content-wrap,
body.single-directorist_listing .content-wrap{ padding-top:0 !important; }

body.single-at_biz_dir .entry-content-wrap,
body.single-directorist_listing .entry-content-wrap{ padding-top:8px !important; }

body.single-at_biz_dir .directorist-single-listing-header,
body.single-directorist_listing .directorist-single-listing-header{
  margin-top:0 !important;
  padding-top:0 !important;
  padding-bottom:8px !important;
}

body.single-at_biz_dir .directorist-listing-title,
body.single-directorist_listing .directorist-listing-title{
  font-size:clamp(24px,2.6vw,34px);
  line-height:1.15;
  margin:0 0 8px !important;
}

body.single-at_biz_dir  .directorist-single-listing-slider,
body.single-directorist_listing .directorist-single-listing-slider,
body.single-at_biz_dir  #directorist-single-listing-slider-wrap,
body.single-directorist_listing #directorist-single-listing-slider-wrap{
  height:clamp(190px,34vh,300px) !important;
  max-height:300px !important;
  overflow:hidden;
  border-radius:14px;
}

body.single-at_biz_dir  .directorist-single-listing-slider img,
body.single-directorist_listing .directorist-single-listing-slider img,
body.single-at_biz_dir  .directorist-single-listing-slider figure,
body.single-directorist_listing .directorist-single-listing-slider figure{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block;
}

body.single-at_biz_dir  .directorist-slider-thumbnails,
body.single-directorist_listing .directorist-slider-thumbnails{ display:none !important; }

body.single-at_biz_dir  .directorist-listing-top,
body.single-directorist_listing .directorist-listing-top{ margin-bottom:8px !important; }

/* ============================================================
   Page-specific link polish (confirmations)
   ============================================================ */
body.page-id-6244 .entry-content .ple-confirm a:not(.wp-element-button):not(.button),
body.page-id-6251 .entry-content .ple-confirmed a:not(.wp-element-button):not(.button),
body.page-id-6244 .entry-content .ple-confirm a:visited:not(.wp-element-button):not(.button),
body.page-id-6251 .entry-content .ple-confirmed a:visited:not(.wp-element-button):not(.button){
  color:var(--ple-navy) !important;
  text-decoration:underline !important;
  text-decoration-color:var(--ple-gold) !important;
  text-underline-offset:3px !important;
}
body.page-id-6244 .entry-content .ple-confirm a:hover:not(.wp-element-button):not(.button),
body.page-id-6251 .entry-content .ple-confirmed a:hover:not(.wp-element-button):not(.button){
  color:var(--ple-navy) !important;
  text-decoration-thickness:2px !important;
}

/* ============================================================
   Mini footer
   ============================================================ */
.ple-mini-footer{
  text-align:left;
  margin:20px auto 0;
  padding:8px 0;
  color:#666;
  font-size:14px;
}
.ple-mini-footer a{
  color:var(--ple-navy);
  text-decoration:underline;
  margin-left:4px;
}
.ple-mini-footer a:hover{ color:var(--ple-navy-2); }

/* ============================================================
   Combined actions bar (generic utility)
   ============================================================ */
.ple-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:14px;
  padding-top:8px;
}
.ple-actions__left,
.ple-actions__right{
  display:flex;
  align-items:center;
  gap:10px;
}
@media (max-width:640px){
  .ple-actions{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  .ple-actions__right{ align-self:flex-start; }
}

/* ============================================================
   Weekly sponsor banner
   ============================================================ */
.ple-sponsor-banner{
  max-width:720px;
  margin:16px auto 12px;
}
.ple-sponsor-banner img{
  display:block;
  width:100%;
  height:auto;
  border-radius:24px;
  border:0;
  box-shadow:0 4px 16px rgba(0,0,0,0.06);
}
@media (min-width:900px){
  .ple-sponsor-banner img{
    max-width:520px !important;
    margin-top:12px !important;
    margin-bottom:12px !important;
  }
}

/* ============================================================
   Weekly Digest post links (brand navy)
   ============================================================ */
.single-post.category-newsletter-digest .entry-content a,
.category-newsletter-digest .entry-content a{
  color:var(--ple-navy) !important;
}
.single-post.category-newsletter-digest .entry-content a:hover,
.category-newsletter-digest .entry-content a:hover{
  color:var(--ple-navy-2) !important;
}

/* ============================================================
   reCAPTCHA (note: hiding badge may violate Google TOS)
   ============================================================ */
.grecaptcha-badge{
  visibility:hidden !important;
  opacity:0 !important;
}
.ple-recaptcha-note{
  font-size:11px !important;
  line-height:1.3;
  color:#7a7a7a !important;
  text-align:center;
  margin-top:10px;
}
.ple-recaptcha-note a{
  color:#7a7a7a !important;
  text-decoration:underline;
}

/* ============================================================
   Global: soft navbar background
   ============================================================ */
.site-header{
  background:#F2F5F8 !important;
  border-top:3px solid var(--ple-gold);   /* flat gold brand thread (mobile too — intended) */
  box-shadow:0 1px 3px rgba(0,0,0,0.05);
}
/* =========================================================
   PLE PATCH — bring back descriptions + remove repeated day tag
   Paste at VERY BOTTOM of Additional CSS
   ========================================================= */

/* 1) FORCE event descriptions to actually render (TEC sometimes hides inner nodes) */
body .tribe-events-view--list .tribe-events-calendar-list__event-description,
body .tribe-events-view--list .tribe-events-calendar-list__event-description > *,
body .tribe-events-view--list .tribe-events-calendar-list__event-description p,
body .tribe-events-view--list .tribe-events-calendar-list__event-description .tribe-common-b2{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  height:auto !important;
  max-height:none !important;
  overflow:visible !important;
}

/* Clamp the description nicely (on the container, so it works regardless of markup) */
body .tribe-events-view--list .tribe-events-calendar-list__event-description{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  line-height:1.6 !important;
  -webkit-line-clamp:4 !important;
  max-height:calc(1.6em * 4) !important;
}
@media (min-width:641px){
  body .tribe-events-view--list .tribe-events-calendar-list__event-description{
    -webkit-line-clamp:5 !important;
    max-height:calc(1.6em * 5) !important;
  }
}
body .tribe-events-view--list .tribe-events-calendar-list__event--featured
.tribe-events-calendar-list__event-description{
  -webkit-line-clamp:7 !important;
  max-height:calc(1.6em * 7) !important;
}

/* 2) REMOVE the repeated “THU 4” column entirely */
body .tribe-events-view--list .tribe-events-calendar-list__event-date-tag{
  display:none !important;
}

/* 3) Reclaim that space so event cards align/center properly */
body .tribe-events-view--list .tribe-events-calendar-list__event-wrapper{
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* If TEC is using grid instead of flex in your build, this helps too */
body .tribe-events-view--list .tribe-events-calendar-list__event-row{
  grid-template-columns: 1fr !important;
}
body .tribe-events-view--list .tribe-events-calendar-list__event-wrapper{
  grid-column: 1 / -1 !important;
}
/* PLE — List View: on mobile, show venue NAME only (hide full address) */
@media (max-width: 640px){
  body .tribe-events-view--list .tribe-events-calendar-list__event-venue address,
  body .tribe-events-view--list .tribe-events-calendar-list__event-venue .tribe-events-calendar-list__event-venue-address,
  body .tribe-events-view--list .tribe-events-calendar-list__event-venue .tribe-street-address,
  body .tribe-events-view--list .tribe-events-calendar-list__event-venue .tribe-locality,
  body .tribe-events-view--list .tribe-events-calendar-list__event-venue .tribe-region,
  body .tribe-events-view--list .tribe-events-calendar-list__event-venue .tribe-postal-code,
  body .tribe-events-view--list .tribe-events-calendar-list__event-venue .tribe-country-name{
    display:none !important;
  }

  /* In some TEC templates a comma is injected after the venue title */
  body .tribe-events-view--list .tribe-events-calendar-list__event-venue-title::after{
    content:"" !important;
  }
  /* Improve scanability: a touch more separation between blocks */
  body .tribe-events-view--list .tribe-events-calendar-list__event-title{ margin-bottom: 4px !important; }
  body .tribe-events-view--list .tribe-events-calendar-list__event-venue{ margin-bottom: 4px !important; }
}
/* =========================================================
   PLE — Compact TEC date selector (real shrink)
   ========================================================= */

/* Slightly tighter top bar padding */
body .tribe-events .tribe-events-c-top-bar{
  padding: 8px 10px !important;
}

/* Limit how wide the date picker can get on desktop */
@media (min-width: 783px){
  body .tribe-events .tribe-events-c-top-bar__datepicker{
    max-width: 420px !important;   /* was effectively full width */
  }
}

/* Smaller button: height, padding, font size */
body .tribe-events .tribe-events-c-top-bar__datepicker-button{
  min-height: 34px !important;     /* smaller than default */
  padding: 6px 10px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
}

/* Keep text on one line but allow ellipsis if it gets tight */
body .tribe-events .tribe-events-c-top-bar__datepicker-button-text{
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Make the search + view buttons match the more compact height */
body .tribe-events .tribe-events-c-top-bar button,
body .tribe-events .tribe-events-c-top-bar a{
  min-height: 34px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

/* Mobile: even a bit shorter, but still tappable */
@media (max-width: 640px){
  body .tribe-events .tribe-events-c-top-bar{
    padding: 6px 8px !important;
  }

  body .tribe-events .tribe-events-c-top-bar__datepicker-button{
    min-height: 32px !important;
    padding: 6px 9px !important;
    font-size: 15px !important;    /* a touch bigger text, shorter pill */
  }
}
/* =========================================================
   PLE — Single Event (enterprise polish)
   - Cleaner header rhythm
   - Details/Venue as a right-side “summary panel” on desktop (sticky)
   - Better typography + link handling for long URLs
   ========================================================= */

/* Page rhythm */
.single-tribe_events #tribe-events-content.tribe-events-single{
  padding-top: 18px !important;
}
.single-tribe_events .tribe-events-back{
  margin: 0 0 10px !important;
  font-size: 14px !important;
}
.single-tribe_events .tribe-events-back a{
  color: var(--ple-navy) !important;
  text-decoration: none !important;
}
@media (hover:hover){
  .single-tribe_events .tribe-events-back a:hover{
    text-decoration: underline !important;
    text-decoration-color: var(--ple-gold) !important;
    text-underline-offset: 3px !important;
  }
}

/* Title + schedule (date line) */
.single-tribe_events .tribe-events-single-event-title,
.single-tribe_events .entry-title{
  color: var(--ple-navy) !important;
  font-family: var(--ple-serif) !important;
  font-weight: 400 !important;            /* DM Serif Display has no bold */
  letter-spacing: -.2px !important;
  line-height: 1.12 !important;           /* serif descenders need air on 2-line mobile wraps */
  margin: 0 0 10px !important;
  font-size: clamp(32px, 4.2vw, 44px) !important;
}

/* Schedule line → navy date pill (echoes the newsletter's
   [ple_sponsor_banner] pill grammar). 0,2,1 beats the bare-h2
   serif layer; family/weight/color/spacing all pinned. */
.single-tribe_events .tribe-events-schedule h2{
  display: inline-block !important;
  background: var(--ple-navy) !important;
  color: #fff !important;
  font-family: var(--ple-sans) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  padding: 6px 14px !important;
  border-radius: 8px !important;
  max-width: 100% !important;
  margin: 0 0 14px !important;
}

/* Description readability */
.single-tribe_events .tribe-events-single-event-description,
.single-tribe_events .tribe-block__event-description{
  color: var(--ple-gray) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

/* ---- DESKTOP: 2-column layout with sticky meta panel ---- */
@media (min-width: 981px){
  /* Grid the single-event content */
  .single-tribe_events #tribe-events-content.tribe-events-single{
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 340px !important;
    column-gap: 26px !important;
    row-gap: 18px !important;
    align-items: start !important;
  }

  /* Default: full width for unknown children */
  .single-tribe_events #tribe-events-content.tribe-events-single > *{
    grid-column: 1 / -1;
  }

  /* Put description in left column */
  .single-tribe_events .tribe-events-single-event-description,
  .single-tribe_events .tribe-block__event-description{
    grid-column: 1;
  }

  /* Put Details/Venue meta in right column + keep it visible */
  .single-tribe_events .tribe-events-single-section.tribe-events-event-meta,
  .single-tribe_events .tribe-events-event-meta{
    grid-column: 2;
    align-self: start;
    position: sticky;
    top: 96px; /* adjust if you have a sticky header */
  }
  body.admin-bar.single-tribe_events .tribe-events-single-section.tribe-events-event-meta,
  body.admin-bar.single-tribe_events .tribe-events-event-meta{
    top: 128px;
  }
}

/* ---- Meta panel styling (Details / Venue) ---- */
.single-tribe_events .tribe-events-single-section.tribe-events-event-meta,
.single-tribe_events .tribe-events-event-meta{
  border: 1px solid var(--ple-border) !important;
  border-radius: var(--ple-radius) !important;
  background: #fff !important;
  padding: 16px !important;
  box-shadow: var(--ple-shadow-1, 0 1px 0 rgba(0,0,0,.02), 0 10px 24px rgba(0,0,0,.05)) !important;

  /* tasteful “pop” of brand color */
  border-left: 4px solid var(--ple-gold) !important;
}

/* Meta group headings. These "Details"/"Venue" kickers are H2s:
   pin the sans family or the bare-h2 serif layer supplies
   DM Serif Display, fake-bolded to this rule's 800 (the face
   has no bold — hard ban). Sans uppercase is the editorial
   counterpoint, per spec. */
.single-tribe_events .tribe-events-single-section-title{
  margin: 0 0 10px !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: #6B7280 !important;
  font-weight: 800 !important;
  font-family: var(--ple-sans) !important;
}

/* Split Details / Venue with a subtle divider */
.single-tribe_events .tribe-events-meta-group{
  margin: 0 !important;
}
.single-tribe_events .tribe-events-meta-group + .tribe-events-meta-group{
  margin-top: 14px !important;
  padding-top: 14px !important;
  border-top: 1px solid var(--ple-border) !important;
}

/* dt/dd: compact + scannable */
.single-tribe_events .tribe-events-event-meta dt{
  margin-top: 12px !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #6B7280 !important;
  font-weight: 800 !important;
}
.single-tribe_events .tribe-events-event-meta dd{
  margin: 4px 0 0 !important;
  color: var(--ple-navy) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

/* Links: navy + gold underline, wrap long URLs safely */
.single-tribe_events .tribe-events-event-meta a{
  color: var(--ple-navy) !important;
  text-decoration: underline !important;
  text-decoration-color: var(--ple-gold) !important;
  text-underline-offset: 3px !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
}
@media (hover:hover){
  .single-tribe_events .tribe-events-event-meta a:hover{
    color: var(--ple-navy-2) !important;
    text-decoration-thickness: 2px !important;
  }
}

/* Optional: make the “Website” URL line look less ugly if it’s super long */
.single-tribe_events .tribe-events-event-meta dd a[href^="http"]{
  display: inline-block;
  max-width: 100%;
}

/* ---- If your share/correction row uses your .ple-actions utility, tighten it ---- */
.single-tribe_events .ple-actions{
  margin-top: 14px !important;
  padding-top: 0 !important;
}
/* Make the Community Events "Event Description" editor taller */
.tribe-community-events .wp-editor-wrap iframe,
.tribe-community-events .wp-editor-wrap textarea.wp-editor-area {
  min-height: 320px !important;
  height: 320px !important;
}

/* (Optional) also expand the editor container a bit */
.tribe-community-events .wp-editor-wrap .mce-edit-area {
  min-height: 320px !important;
}
.ple-testimonials {
  max-width: 1100px;
  margin: 3rem auto;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

@media (max-width: 768px) {
  .ple-testimonials {
    grid-template-columns: 1fr;
  }
}

.ple-testimonial-card {
  border: 1px solid #e2e2e2;
  padding: 2rem 1.5rem;
  text-align: center;
  border-radius: 4px;
  background-color: #ffffff;
}

.ple-testimonial-name {
  font-weight: 600;
  margin-bottom: 0.75rem;
  font-size: 1.1rem;
}

.ple-testimonial-quote {
  font-style: italic;
  font-size: 0.95rem;
  line-height: 1.5;
}
/* MailPoet popup: prevent sideways scroll + iOS viewport quirks */
html, body {
  overflow-x: hidden !important;
}

body .mailpoet_form_popup,
body .mailpoet_form_popup_overlay,
body .mailpoet_form_popup_container,
body .mailpoet_form_popup_wrapper {
  max-width: 100vw !important;
}

body .mailpoet_form_popup *,
body .mailpoet_form_popup_overlay *,
body .mailpoet_form_popup_container *,
body .mailpoet_form_popup_wrapper * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Prevent any single long string/link from forcing width */
body .mailpoet_form_popup a,
body .mailpoet_form_popup_overlay a,
body .mailpoet_form_popup_container a,
body .mailpoet_form_popup_wrapper a {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}
/* =========================================================
   PLE — Single Event: cohesive action buttons (Share / Subscribe / Correction)
   ========================================================= */

/* Make the whole actions row feel like a single system */
.single-tribe_events .ple-actions{
  margin-top: 14px !important;
  padding-top: 0 !important;
  gap: 12px;
}

/* Left side: Share + Subscribe look like a grouped set */
.single-tribe_events .ple-actions__left .ple-actions__stack{
  display:flex;
  flex-direction:row;
  align-items:center;
  gap:10px;
}

/* On mobile, stack them so it never feels cramped */
@media (max-width:640px){
  .single-tribe_events .ple-actions__left .ple-actions__stack{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
}

/* Base "button" feel for ALL three actions */
.single-tribe_events .pl-share-button,
.single-tribe_events a.ple-subscribe-link,
.single-tribe_events .ple-report__link{
  display:inline-flex !important;
  align-items:center !important;
  gap:.35rem !important;

  padding:.42rem .75rem !important;
  border-radius:10px !important;
  font:inherit !important;
  font-weight:800 !important;
  line-height:1.1 !important;

  border:1px solid var(--ple-border) !important;
  text-decoration:none !important;
  cursor:pointer !important;

  transition:background-color .15s,color .15s,border-color .15s,box-shadow .15s !important;
}

/* 1) Share = primary filled */
.single-tribe_events .pl-share-button{
  background:var(--ple-navy) !important;
  color:#fff !important;
  border-color:var(--ple-navy) !important;
}
.single-tribe_events .pl-share-button:hover,
.single-tribe_events .pl-share-button:focus-visible{
  background:var(--ple-navy-2) !important;
  border-color:var(--ple-navy-2) !important;
  outline:none !important;
  box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ple-gold) !important;
}

/* 2) Subscribe = secondary outline */
.single-tribe_events a.ple-subscribe-link{
  background:#fff !important;
  color:var(--ple-navy) !important;
  border-color:var(--ple-border) !important;
}
.single-tribe_events a.ple-subscribe-link:hover,
.single-tribe_events a.ple-subscribe-link:focus-visible{
  background:var(--ple-gold-tint) !important;
  border-color:var(--ple-gold) !important;
  outline:none !important;
  box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ple-gold) !important;
}

/* 3) Correction = "ghost" button on the right */
.single-tribe_events .ple-actions__right{
  display:flex;
  align-items:center;
}
.single-tribe_events .ple-report__link{
  background:transparent !important;
  color:var(--ple-navy) !important;
  border-color:transparent !important; /* keeps it light */
  padding-left:.4rem !important;
  padding-right:.4rem !important;
}
.single-tribe_events .ple-report__link:hover,
.single-tribe_events .ple-report__link:focus-visible{
  background:#F6F8FB !important;
  border-color:var(--ple-border) !important;
  outline:none !important;
  box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ple-gold) !important;
}

/* Keep the flag icon aligned and same tone */
.single-tribe_events .ple-report__icon{
  color:var(--ple-navy) !important;
  display:inline-flex;
  align-items:center;
}
/* =========================================================
   PLE — Single Event: final polish for action row
   ========================================================= */

/* Keep the whole row on one line on desktop when possible */
@media (min-width: 981px){
  .single-tribe_events .ple-actions{
    flex-wrap: nowrap;
  }
}

/* Make "Request a correction" clearly tertiary */
.single-tribe_events .ple-report__link{
  background: transparent !important;
  border-color: transparent !important;
  font-weight: 800 !important;
  opacity: .92;
}

/* On hover, it should feel like a utility action, not a CTA */
.single-tribe_events .ple-report__link:hover,
.single-tribe_events .ple-report__link:focus-visible{
  background: #F6F8FB !important;
  border-color: var(--ple-border) !important;
  opacity: 1;
}

/* Slightly reduce the correction pill padding so it doesn't compete */
.single-tribe_events .ple-report__link{
  padding: .38rem .55rem !important;
}

/* Mobile: force clean stacking (no weird wraps) */
@media (max-width: 640px){
  .single-tribe_events .ple-actions{
    align-items: flex-start;
  }
  .single-tribe_events .ple-actions__left .ple-actions__stack{
    width: 100%;
  }
  .single-tribe_events .ple-actions__right{
    width: 100%;
  }
  .single-tribe_events .ple-actions__right .ple-report{
    width: 100%;
  }
  .single-tribe_events .ple-report__link{
    width: auto;
  }
}
/* =========================================================
   PLE — FINAL unified action button system (single event)
   ========================================================= */

/* --- 1. BASE: one button spec to rule them all --- */
.single-tribe_events .ple-actions
.pl-share-button,
.single-tribe_events .ple-actions
a.ple-subscribe-link,
.single-tribe_events .ple-actions
.ple-report__link{

  /* Reset junk */
  background: none !important;
  box-shadow: none !important;
  text-decoration: none !important;

  /* Unified structure */
  display: inline-flex !important;
  align-items: center !important;
  gap: .45rem !important;

  padding: .44rem .8rem !important;
  border-radius: 12px !important;
  border: 1.5px solid var(--ple-border) !important;

  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;

  color: var(--ple-navy) !important;
  cursor: pointer !important;

  transition:
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease,
    transform .05s ease !important;
}

/* Icon alignment consistency */
.single-tribe_events .ple-actions svg{
  width: 16px;
  height: 16px;
}

/* Press feedback (subtle, same for all) */
.single-tribe_events .ple-actions
.pl-share-button:active,
.single-tribe_events .ple-actions
a.ple-subscribe-link:active,
.single-tribe_events .ple-actions
.ple-report__link:active{
  transform: translateY(1px);
}

/* Focus: one unified ring */
.single-tribe_events .ple-actions
.pl-share-button:focus-visible,
.single-tribe_events .ple-actions
a.ple-subscribe-link:focus-visible,
.single-tribe_events .ple-actions
.ple-report__link:focus-visible{
  outline: none !important;
  box-shadow:
    0 0 0 2px #fff,
    0 0 0 4px var(--ple-gold) !important;
}

/* --- 2. PRIMARY: Share --- */
.single-tribe_events .pl-share-button{
  background: var(--ple-navy) !important;
  border-color: var(--ple-navy) !important;
  color: #fff !important;
}

.single-tribe_events .pl-share-button:hover{
  background: var(--ple-navy-2) !important;
  border-color: var(--ple-navy-2) !important;
}

/* --- 3. SECONDARY: Subscribe --- */
.single-tribe_events a.ple-subscribe-link{
  background: #fff !important;
}

.single-tribe_events a.ple-subscribe-link:hover{
  background: var(--ple-gold-tint) !important;
  border-color: var(--ple-gold) !important;
}

/* --- 4. GHOST: Request correction --- */
.single-tribe_events .ple-report__link{
  background: transparent !important;
  border-color: transparent !important;
  padding-left: .5rem !important;
  padding-right: .5rem !important;
}

.single-tribe_events .ple-report__link:hover{
  background: #F6F8FB !important;
  border-color: var(--ple-border) !important;
}

/* Keep the flag subtle */
.single-tribe_events .ple-report__icon{
  color: var(--ple-navy) !important;
}

/* --- 5. Mobile behavior: clean stacking --- */
@media (max-width: 640px){
  .single-tribe_events .ple-actions{
    align-items: flex-start;
  }
  .single-tribe_events .ple-actions__left .ple-actions__stack{
    width: 100%;
  }
}
/* =========================================================
   PLE — FINAL FINAL: single-event actions (same hover + spacing)
   ========================================================= */

/* 1) Layout: treat all actions as one row, not left vs right */
.single-tribe_events .ple-actions{
  justify-content:flex-start !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}

/* Stop the right side from being pushed away */
.single-tribe_events .ple-actions__right{
  margin-left:0 !important;
}

/* Keep the report wrapper from introducing odd spacing */
.single-tribe_events .ple-report{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 !important;
}

/* 2) Base: identical mechanics for all three */
.single-tribe_events .ple-actions .pl-share-button,
.single-tribe_events .ple-actions a.ple-subscribe-link,
.single-tribe_events .ple-actions .ple-report__link{
  display:inline-flex !important;
  align-items:center !important;
  gap:.45rem !important;

  padding:.44rem .8rem !important;
  border-radius:12px !important;
  border:1.5px solid var(--ple-border) !important;

  font:inherit !important;
  font-size:15px !important;
  font-weight:800 !important;
  line-height:1.1 !important;

  text-decoration:none !important;
  box-shadow:none !important;
  cursor:pointer !important;

  /* IMPORTANT: same transition everywhere */
  transition:
    background-color .15s ease,
    border-color .15s ease,
    color .15s ease,
    transform .05s ease !important;
}

/* Kill any theme underline/color hover on links */
.single-tribe_events .ple-actions a.ple-subscribe-link:hover,
.single-tribe_events .ple-actions a.ple-subscribe-link:visited:hover,
.single-tribe_events .ple-actions .ple-report__link:hover,
.single-tribe_events .ple-actions .ple-report__link:visited:hover{
  text-decoration:none !important;
}

/* Same press feedback */
.single-tribe_events .ple-actions .pl-share-button:active,
.single-tribe_events .ple-actions a.ple-subscribe-link:active,
.single-tribe_events .ple-actions .ple-report__link:active{
  transform: translateY(1px);
}

/* Same focus ring */
.single-tribe_events .ple-actions .pl-share-button:focus-visible,
.single-tribe_events .ple-actions a.ple-subscribe-link:focus-visible,
.single-tribe_events .ple-actions .ple-report__link:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ple-gold) !important;
}

/* 3) Visual variants (only color differs; hover behavior is the same) */

/* Primary: Share */
.single-tribe_events .ple-actions .pl-share-button{
  background: var(--ple-navy) !important;
  border-color: var(--ple-navy) !important;
  color:#fff !important;
}

/* Secondary + Ghost baseline */
.single-tribe_events .ple-actions a.ple-subscribe-link,
.single-tribe_events .ple-actions .ple-report__link{
  background:#fff !important;
  color:var(--ple-navy) !important;
}

/* 4) Unified hover behavior (same effect on all three) */
.single-tribe_events .ple-actions .pl-share-button:hover,
.single-tribe_events .ple-actions a.ple-subscribe-link:hover,
.single-tribe_events .ple-actions .ple-report__link:hover{
  background:var(--ple-gold-tint) !important;
  border-color:var(--ple-gold) !important;
  color:var(--ple-navy) !important;
}

/* Keep Share slightly darker on hover (still same mechanics) */
.single-tribe_events .ple-actions .pl-share-button:hover{
  background:var(--ple-navy-2) !important;
  border-color:var(--ple-navy-2) !important;
  color:#fff !important;
}

/* 5) Report icon alignment + tone */
.single-tribe_events .ple-report__icon{
  display:inline-flex !important;
  align-items:center !important;
  color:var(--ple-navy) !important;
}

/* 6) Mobile: stack cleanly */
@media (max-width:640px){
  .single-tribe_events .ple-actions{
    gap:10px !important;
  }
}
/* =========================================================
   PLE — FINAL micro-polish: make correction icon part of the pill
   ========================================================= */

/* Hide the separate icon element so it doesn't float on its own */
.single-tribe_events .ple-report__icon{
  display:none !important;
}

/* Add a flag icon inside the correction pill using CSS (no HTML changes) */
.single-tribe_events .ple-report__link::before{
  content:"";
  display:inline-block;
  width:16px;
  height:16px;
  margin-right:.45rem;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M9.49 2.2a1 1 0 0 1 1.02.06l5.5 3.3a1 1 0 0 1 0 1.7l-5.5 3.3a1 1 0 0 1-1.02.06L4 8.6V16a1 1 0 1 1-2 0V7a1 1 0 0 1 1.51-.86L9.49 2.2z'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M9.49 2.2a1 1 0 0 1 1.02.06l5.5 3.3a1 1 0 0 1 0 1.7l-5.5 3.3a1 1 0 0 1-1.02.06L4 8.6V16a1 1 0 1 1-2 0V7a1 1 0 0 1 1.51-.86L9.49 2.2z'/%3E%3C/svg%3E") no-repeat center / contain;
}
/* =========================================================
   PLE — Force view selector dropdown to be visible and positioned
   ========================================================= */

/* Make sure the dropdown is visible when open */
.tribe-events-c-view-selector__content[aria-hidden="false"],
.tribe-events-c-view-selector__content[style*="display: block"] {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: absolute !important;
  top: 100% !important;
  right: 0 !important;
  z-index: 9999 !important;
  background: #fff !important;
  border: 1px solid #E4E7EB !important;
  border-radius: 8px !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.12) !important;
  min-width: 140px !important;
  padding: 8px 0 !important;
  margin-top: 4px !important;
}

/* Style the list items */
.tribe-events-c-view-selector__list-item {
  display: block !important;
  padding: 8px 16px !important;
  color: var(--ple-navy) !important;
  font-weight: 600 !important;
}

.tribe-events-c-view-selector__list-item:hover {
  background: #F6F8FB !important;
}

/* Ensure parent container doesn't clip */
.tribe-events-c-view-selector {
  position: relative !important;
  overflow: visible !important;
}

/* ============================================================
   HEADER BRAND (2026-08 refresh)
   Navy nav links + gold underline hover, on Kadence's own nav
   selector (color:var(--global-palette5)); wp-custom-css loads
   after the theme CSS and the appended :not()s only raise
   specificity, so this wins — no !important needed. The
   Subscribe PRIMARY pill is one of the four primary-menu
   anchors: exclude it here, or the hover/current-page rule
   draws a gold underline on the gold pill (and permanently
   when /newsletter is the current page). The pill's own rules
   keep text-decoration:none.
   ============================================================ */
.main-navigation .primary-menu-container > ul > li.menu-item > a:not([href*="/newsletter"]):not([href*="/subscribe"]){ color:var(--ple-navy); }
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover:not([href*="/newsletter"]):not([href*="/subscribe"]),
.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a:not([href*="/newsletter"]):not([href*="/subscribe"]){
  color:var(--ple-navy);
  text-decoration:underline;
  text-decoration-color:var(--ple-gold);
  text-decoration-thickness:2px;
  text-underline-offset:4px;
}

/* ============================================================
   DAYHEADS (month separators: gold rule + serif)
   The mockup's dayhead grammar on TEC's list month separator —
   markup identical on / (custom renderer) and /events. Static
   element only; no interactive TEC component is touched.
   ============================================================ */
.tribe-events-calendar-list__month-separator{ margin:12px 0 4px; }
.tribe-events-calendar-list__month-separator h3{
  display:flex; align-items:center; gap:12px; margin:0;
}
.tribe-events-calendar-list__month-separator h3::before{
  content:""; flex:none; width:34px; height:3px; border-radius:2px;
  background:var(--ple-gold);
}
/* !important beats tribe-common-h7 / h6--min-medium / h--alt
   (uppercase + letter-spacing). Sentence case, serif, navy. */
.tribe-events-calendar-list__month-separator-text{
  font-family:var(--ple-serif) !important;
  font-weight:400 !important;
  font-size:24px !important;
  color:var(--ple-navy) !important;
  text-transform:none !important;
  letter-spacing:-.2px !important;
  line-height:1.2 !important;
}
/* kill TEC's trailing hairline (belt-and-suspenders) */
.tribe-events-calendar-list__month-separator::after{ display:none !important; }
.tribe-events-calendar-list__month-separator h3,
.tribe-events-calendar-list__month-separator-text{ border-bottom:none !important; }
@media (max-width:640px){
  .tribe-events-calendar-list__month-separator-text{ font-size:22px !important; }
  .tribe-events-calendar-list__month-separator h3::before{ width:28px; }
}

/* ============================================================
   TEC ACCENT VARIABLES (stray blues → navy)
   Var names verified against live variables-skeleton.css
   ver=6.12.1. Colors only — no display/position properties, so
   TEC functionality is untouched. .tribe-common scope wins over
   Kadence's :root mapping by inheritance proximity.
   ============================================================ */
.tribe-common{
  --tec-color-accent-primary:            var(--ple-navy);
  --tec-color-accent-primary-hover:      var(--ple-navy-2);
  --tec-color-accent-primary-active:     var(--ple-navy-2);
  --tec-color-accent-primary-background: rgba(22,45,80,.07);
  --tec-color-link-accent:               var(--ple-navy);
  --tec-color-link-accent-hover:         var(--ple-navy-2);
  --tec-color-icon-active:               var(--ple-navy);
  --tec-color-icon-focus:                var(--ple-navy);
}

/* ============================================================
   CONTENT LINKS (navy + gold underline)
   Organizer-pasted event descriptions + standard-page prose only.
   :not() guards keep buttons, MailPoet, and ple- components out;
   /newsletter (2468) excluded at zero specificity cost via
   :where(). No !important — snippet-scoped styles keep winning.
   ============================================================ */
.single-tribe_events .tribe-events-single-event-description a:not(.wp-element-button):not(.button):not([class*="mailpoet"]):not([class*="ple-"]){
  color:var(--ple-navy);
  text-decoration:underline;
  text-decoration-color:var(--ple-gold);
  text-underline-offset:3px;
}
.single-tribe_events .tribe-events-single-event-description a:hover:not(.wp-element-button):not(.button):not([class*="mailpoet"]):not([class*="ple-"]){
  color:var(--ple-navy-2);
  text-decoration-thickness:2px;
}

/* Standard pages: TRUE pages only, scoped on the body element
   (body.page). A bare descendant ".page" would match the ARTICLE
   wrapper Kadence emits on every view (article.entry ... .page) and
   reach INTO TEC list markup — the archive is a UL — hitting the
   view selector, top-bar carets, and prev/next nav (do-not-touch
   widgets). body.page + :not(.home) (the static front page also
   carries body.page) + the tribe- guard keep those out; prose
   containers (p/ul/ol) keep forms/cards out of reach. Engine-
   validated: home 0, /events 0, event single 0, /advertise 0,
   hub = its 4 intended prose links only. */
:where(body.page:not(.page-id-2468):not(.home)) .entry-content :is(p,ul,ol) a:not(.wp-element-button):not(.button):not([class*="mailpoet"]):not([class*="ple-"]):not([class*="tribe-"]){
  color:var(--ple-navy);
  text-decoration:underline;
  text-decoration-color:var(--ple-gold);
  text-underline-offset:3px;
}
:where(body.page:not(.page-id-2468):not(.home)) .entry-content :is(p,ul,ol) a:hover:not(.wp-element-button):not(.button):not([class*="mailpoet"]):not([class*="ple-"]):not([class*="tribe-"]){
  color:var(--ple-navy-2);
  text-decoration-thickness:2px;
}

/* ============================================================
   NAVY FOOTER (replaces the old "Footer CTA + spacing" block)
   Kadence containers verified live: .site-footer-wrap /
   .site-footer-row-container / .site-footer-row-container-inner.
   ============================================================ */
.site-footer{
  background:var(--ple-navy) !important;
  border-top:3px solid var(--ple-gold);
  padding-top:28px !important;
  padding-bottom:28px !important;
  margin-top:0 !important;
}
.site-footer .site-footer-wrap,
.site-footer .site-footer-row-container,
.site-footer .site-footer-row-container-inner{ background:transparent !important; }
.site-footer .footer-widget-area{ margin-bottom:0 !important; }

/* widget links: stylesheet !important beats the widget's inline
   old-navy ink color */
.site-footer .ple-footer-links a{ color:#fff !important; }
.site-footer .ple-footer-links a:hover{
  color:#fff !important;
  text-decoration:underline !important;
  text-decoration-color:var(--ple-gold) !important;
  text-underline-offset:3px !important;
}
/* muted copy/credit: #8ba3c7 = the mockup email header's muted
   tone on navy — 5.3:1 on #162d50 (AA). Inner links (Privacy
   Policy, markgores.com) keep their inline underline; only the
   color is overridden. */
.site-footer .ple-footer-copy,
.site-footer .ple-footer-credit,
.site-footer .ple-footer-copy a,
.site-footer .ple-footer-credit a{ color:#8ba3c7 !important; }

/* footer CTA button (if a block button renders): PRIMARY tier —
   navy-on-navy would vanish */
.site-footer .wp-block-button.is-style-fill .wp-block-button__link,
.site-footer .wp-block-button__link.wp-element-button,
.footer .wp-block-button__link{
  background-color:var(--ple-gold) !important;
  color:var(--ple-navy) !important;
  font-weight:700; border-radius:10px; padding:10px 22px; border:none !important;
  text-decoration:none; transition:all .2s ease-in-out;
}
.site-footer .wp-block-button__link:hover{
  background-color:var(--ple-gold-2) !important;
  color:var(--ple-navy) !important;
}
.site-footer .ple-footer-cta,
.site-footer .wp-block-button{ text-align:center; margin:10px auto !important; }

/* ============================================================
   HOME CAPTION FIX (inline Google-blue link in sponsor caption)
   Fail-safe by design: if the caption is re-authored the selector
   silently stops matching (no layout harm). Durable fix = author
   future captions with #162d50 links (see patches.md).
   ============================================================ */
body.home .entry-content span[style*="1a73e8"]{ color:var(--ple-navy) !important; }

/* ============================================================
   MOBILE TAP TARGETS (2026-08-04 addendum, same-day)
   40px-class touch targets on phones for the compact action
   controls. Un-deferred per Mark: mobile Google landers are the
   front door and must feel first-class. Desktop unchanged.
   ============================================================ */
@media (max-width:782px){
  body .tribe-events-view--list .pl-share-button{
    min-height:40px !important;
    padding:.5rem .8rem !important;
  }
  .ple-actions a,
  .ple-actions button{
    min-height:40px !important;
    display:inline-flex !important;
    align-items:center !important;
  }
  body .tribe-events .tribe-events-c-top-bar__datepicker-button{
    min-height:40px !important;
    padding-top:.45rem !important;
    padding-bottom:.45rem !important;
  }
}

/* ============================================================
   MOBILE QUICK NAV (2026-08-04): slim 3-link strip under the
   header, phones only. Markup from snippet "PLE Mobile Quick
   Nav" (kadence_after_header). 2026-09-01: the header button is
   now Subscribe (see MOBILE HEADER BUTTON at the end of the
   sheet), so the strip carries Events / This Week / About.
   Non-sticky by design (no interstitial risk, scrolls away
   with the header).
   ============================================================ */
.ple-mqnav{ display:none; }
@media (max-width:782px){
  .ple-mqnav{
    display:flex; justify-content:center; gap:4px;
    background:#fff; border-bottom:1px solid var(--ple-border);
    padding:2px 8px;
  }
  .ple-mqnav a{
    display:inline-flex; align-items:center; min-height:40px;
    padding:0 16px; font-weight:700; font-size:14px;
    color:var(--ple-navy); text-decoration:none; border-radius:10px;
  }
  .ple-mqnav a:active{ background:var(--ple-gold-tint); }
  .ple-mqnav a:focus-visible{
    outline:none; box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ple-gold);
  }
}

/* ============================================================
   MOBILE DRAWER REFRESH (2026-08-04): the hamburger panel.
   NOTE: the legacy "MOBILE DRAWER (Kadence)" rules above target
   a .mobile-drawer CLASS that does not exist in the markup (the
   real container is #mobile-drawer) — they were dead selectors,
   which is why the drawer shipped unstyled. These id-scoped
   rules are the working layer: brand navy panel, gold thread,
   serif links, readable current state, gold Subscribe pill.
   ============================================================ */
#mobile-drawer .drawer-inner{
  background:var(--ple-navy) !important;
  border-top:3px solid var(--ple-gold);
}
#mobile-drawer .drawer-header .menu-toggle-close{ color:#fff !important; }
#mobile-drawer .drawer-content{ padding:0 26px 30px !important; }
#mobile-drawer #mobile-menu > li{
  border-bottom:1px solid rgba(255,255,255,.10) !important;
}
#mobile-drawer #mobile-menu > li:last-child{ border-bottom:0 !important; }
#mobile-drawer #mobile-menu > li > a{
  font-family:var(--ple-serif) !important;
  font-size:27px !important; font-weight:400 !important;
  color:#fff !important; display:block !important;
  padding:18px 4px !important; line-height:1.2 !important;
  border:0 !important; background:transparent !important;
  border-radius:0 !important;
}
#mobile-drawer #mobile-menu > li.current-menu-item > a{
  color:var(--ple-gold) !important;
}
#mobile-drawer #mobile-menu > li > a:focus-visible{
  outline:none !important;
  box-shadow:0 0 0 2px var(--ple-navy), 0 0 0 4px var(--ple-gold) !important;
}
/* Subscribe inside the drawer = PRIMARY gold pill, sans */
#mobile-drawer #mobile-menu > li > a[href*="/newsletter"]{
  font-family:var(--ple-sans) !important;
  background:var(--ple-gold) !important;
  color:var(--ple-navy) !important;
  font-size:18px !important; font-weight:800 !important;
  border-radius:12px !important;
  padding:16px 20px !important;
  margin-top:18px !important;
  text-align:center !important;
}
/* brand line pinned under the menu */
#mobile-drawer .drawer-content::after{
  content:"PRIORLAKEEVENTS.COM";
  display:block; margin-top:26px;
  color:#8ba3c7; font-weight:700; letter-spacing:2px; font-size:12px;
}

/* ============================================================
   SPONSOR OPEN SLOT (OPTIONAL — strip this section alone to
   revert; it is the LAST section in the sheet)
   Rhymes the live event-page open slot with the /advertise
   mockup's dashed frame. Overrides inline styles on
   .ple-open-slot (ple-sponsor-schedule.php line 229). Shorthand
   border intentionally replaces the inline border-left on all
   sides. Inner text + schedule mechanics untouched.
   ============================================================ */
.ple-open-slot{
  background:#FDFBF6 !important;
  border:2px dashed rgba(212,168,75,.65) !important;
  border-radius:12px !important;
  padding:16px 18px !important;
}

/* ============================================================
   MOBILE HEADER BUTTON = SUBSCRIBE (2026-09-01): the phone
   header's one button was Advertise (34 advertiser sessions a
   month) while 75% of sessions are mobile and the newsletter is
   the growth asset. Kadence theme mods mobile_button_label/link
   now point it at /newsletter/; this makes it the gold primary
   pill, matching the desktop Subscribe menu item. Advertise
   lives in the drawer and the footer.
   ============================================================ */
@media (max-width:782px){
  .mobile-header-button-wrap .mobile-header-button{
    background:var(--ple-gold) !important;
    border:2px solid var(--ple-gold) !important;
    color:var(--ple-navy) !important;
    font-weight:700 !important;
    border-radius:10px !important;
  }
  .mobile-header-button-wrap .mobile-header-button:hover,
  .mobile-header-button-wrap .mobile-header-button:focus-visible{
    background:var(--ple-gold-2) !important;
    border-color:var(--ple-gold-2) !important;
    color:var(--ple-navy) !important;
  }
}

/* ============================================================
   ADD TO CALENDAR (2026-09-02): .ple-cal dropdown in the single-
   event action bar (snippet "Event Actions Bar" v2). TEC's own
   .tribe-events-c-subscribe-dropdown stays hidden sitewide (rule
   near the top of the sheet); this is the per-event Google /
   Apple / Outlook menu, styled as the SECONDARY button spec.
   ============================================================ */
.single-tribe_events .ple-cal{ position:relative; display:inline-block; }
.single-tribe_events .ple-actions .ple-cal__button{
  display:inline-flex !important; align-items:center !important; gap:.45rem !important;
  padding:.44rem .8rem !important; border-radius:12px !important;
  border:1.5px solid var(--ple-border) !important; background:#fff !important;
  color:var(--ple-navy) !important; font-family:inherit !important; font-size:15px !important;
  font-weight:800 !important; line-height:1.1 !important; cursor:pointer !important;
  text-decoration:none !important; box-shadow:none !important;
  transition:background-color .15s ease, border-color .15s ease !important;
}
.single-tribe_events .ple-actions .ple-cal__button:hover,
.single-tribe_events .ple-actions .ple-cal__button[aria-expanded="true"]{
  background:var(--ple-gold-tint) !important; border-color:var(--ple-gold) !important;
}
.single-tribe_events .ple-actions .ple-cal__button:focus-visible{
  outline:none !important; box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--ple-gold) !important;
}
.single-tribe_events .ple-actions .ple-cal__button:active{ transform:translateY(1px); }
.single-tribe_events .ple-cal__menu{
  display:none; position:absolute; left:0; top:calc(100% + 6px); z-index:50;
  min-width:220px; margin:0; padding:6px; list-style:none; background:#fff;
  border:1.5px solid var(--ple-border); border-radius:12px;
  box-shadow:0 10px 30px rgba(22,45,80,.14);
}
.single-tribe_events .ple-cal.is-open .ple-cal__menu{ display:block; }
.single-tribe_events .ple-cal__menu li{ margin:0; padding:0; }
.single-tribe_events .ple-cal__menu a{
  display:block; padding:9px 12px; border-radius:8px;
  color:var(--ple-navy) !important; font-weight:600; font-size:14px;
  text-decoration:none !important;
}
.single-tribe_events .ple-cal__menu a:hover,
.single-tribe_events .ple-cal__menu a:focus-visible{ background:var(--ple-gold-tint); outline:none; }
@media (max-width:640px){
  .single-tribe_events .ple-cal{ width:100%; }
  .single-tribe_events .ple-actions .ple-cal__button{ width:100%; justify-content:center; }
  .single-tribe_events .ple-cal__menu{ left:0; right:0; }
}
/* content-link layer bleeds a border/underline thread into the menu items; reset it */
.single-tribe_events .ple-cal__menu a,
.single-tribe_events .ple-cal__menu a:hover{
  border-bottom:0 !important; box-shadow:none !important; background-image:none !important;
  text-underline-offset:0 !important;
}
