/* =========================================================
   Prior Lake Events — FINAL, CONSOLIDATED THEME CSS
   (Kadence + The Events Calendar Pro)
   Enterprise polish: unified toolbar + carded list + calmer actions
   ========================================================= */

/* ---- TOKENS ------------------------------------------------ */
:root{
  --ple-navy:   #0D1B2A;
  --ple-gold:   #FFC72C;
  --ple-gold-2: #FFD95A;

  --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 */
}

/* ---- 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;
}

/* ---- 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;
}

.site-header .menu-item a[href*="/newsletter"],
.site-header .menu-item a[href*="/subscribe"]{
  border:2px solid var(--ple-navy);
  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-navy); color:var(--ple-gold) !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-gold); 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:800 !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:#182b45 !important;
    text-decoration:underline !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:#FFFBEB !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:var(--ple-warn);
  border-radius:8px;
  transition:background-color .15s ease, border-color .15s ease;
}
.ple-report-bar:hover{
  background:#FFEFB3;
  border-color:#E5C04F;
}
.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::after{ content:"➡️"; margin-left:6px; }
.ple-report-bar .ple-report-link:focus-visible{
  outline:2px solid var(--ple-navy);
  outline-offset:2px;
}

/* ============================================================
   Footer CTA + spacing
   ============================================================ */
.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-navy) !important;
  color:var(--ple-gold) !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:#182b45 !important;
  color:var(--ple-gold-2) !important;
}
.site-footer{
  padding-top:10px !important;
  padding-bottom:10px !important;
  margin-top:0 !important;
}
.site-footer .footer-top,
.site-footer .footer-middle,
.site-footer .footer-bottom{
  padding-top:8px !important;
  padding-bottom:8px !important;
  margin:0 !important;
}
.site-footer .footer-widget-area{ margin-bottom:0 !important; }
.site-footer .ple-footer-cta,
.site-footer .wp-block-button{
  text-align:center;
  margin:10px auto !important;
}

/* ============================================================
   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 #ffe79a 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:#182b45; }

/* ============================================================
   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:#182b45 !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;
  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;
  line-height: 1.08 !important;
  margin: 0 0 10px !important;
  font-size: clamp(34px, 3.2vw, 54px) !important;
}

.single-tribe_events .tribe-events-schedule h2{
  margin: 0 0 14px !important;
  font-size: 18px !important;           /* smaller than your screenshot */
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: var(--ple-navy) !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 */
.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;
}

/* 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: #182b45 !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:#182b45 !important;
  border-color:#182b45 !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:#FFFBEB !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: #182b45 !important;
  border-color: #182b45 !important;
}

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

.single-tribe_events a.ple-subscribe-link:hover{
  background: #FFFBEB !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:#FFFBEB !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:#182b45 !important;
  border-color:#182b45 !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: #0D1B2A !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;
}