/* Destination BBQ Events v0.3.9 — standalone single-event + upcoming-events presentation */
body.single-tribe_events{
  --dbbq-brown:#3f2a1f;
  --dbbq-ink:#2b211c;
  --dbbq-cream:#faf8f3;
  --dbbq-cream-2:#f3eee8;
  --dbbq-line:rgba(0,0,0,.10);
}

.dbbq-events-pg-template{
  width:calc(100% - 32px);
  max-width:1180px;
  margin:0 auto;
  padding:18px 0 36px;
}
.dbbq-event-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:40px;
  align-items:start;
}
.dbbq-event-main{min-width:0}
.dbbq-event-sidebar{min-width:0}
/* Use the active theme's real sidebar markup/widgets while neutralizing any
   full-width Event layout rule inherited from TEC/theme defaults. */
body.single-tribe_events .dbbq-event-sidebar .sidebar,
body.single-tribe_events .dbbq-event-sidebar .sidebar-primary{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:none!important;
  margin:0!important;
}
@media(max-width:1023px){
  .dbbq-event-layout{grid-template-columns:minmax(0,1fr);gap:0}
  .dbbq-event-sidebar{display:none!important}
}
.dbbq-events-back{margin:0 0 12px;font-size:.9rem}
.dbbq-events-back a{text-decoration:none}

body.single-tribe_events .dbbq-event-hero{margin:10px 0 16px}
body.single-tribe_events .dbbq-hero-media{
  height:clamp(220px,42vh,460px);overflow:hidden;border-radius:18px;padding:0!important;
  background:var(--dbbq-cream);border:1px solid #e6e0db;box-shadow:0 10px 30px rgba(0,0,0,.06);margin:0 0 12px;
}
body.single-tribe_events img.dbbq-hero-img{width:100%;height:100%;display:block;object-fit:contain}
body.single-tribe_events .dbbq-hero-band{height:14px;border-radius:14px;background:var(--dbbq-brown);margin-bottom:14px}
@media(min-width:1024px){body.single-tribe_events .dbbq-hero-media{height:380px}}
body.single-tribe_events .dbbq-event-title{font-size:clamp(28px,6.2vw,44px);line-height:1.06;margin:0 0 12px;letter-spacing:-.2px}
body.single-tribe_events .dbbq-byline{font-size:13px;line-height:1.4;color:#5a534d;padding-left:10px;border-left:3px solid rgba(63,42,31,.35);width:100%;margin:0 0 14px}
body.single-tribe_events .dbbq-dot{padding:0 6px}
body.single-tribe_events .dbbq-hero-meta{margin:0 0 18px;padding:12px;border-radius:16px;background:var(--dbbq-cream-2);border:1px solid var(--dbbq-line);width:100%}
body.single-tribe_events .dbbq-chiprow{display:grid;gap:10px;margin:0 0 12px;width:100%}
body.single-tribe_events .dbbq-chip{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:start;border:1px solid var(--dbbq-line);border-left:6px solid var(--dbbq-brown);background:var(--dbbq-cream);border-radius:14px;padding:10px 12px;box-shadow:0 8px 20px rgba(0,0,0,.06)}
body.single-tribe_events .dbbq-chip-k{font-weight:800;white-space:nowrap;word-break:keep-all}
body.single-tribe_events .dbbq-chip-v{line-height:1.35;overflow-wrap:anywhere}
body.single-tribe_events .dbbq-chip-where{background:#f7f2ed}
body.single-tribe_events .dbbq-chip-cost{background:#f5efe9}
@media(max-width:859px){body.single-tribe_events .dbbq-chip.dbbq-chip-cost{grid-template-columns:108px 1fr}}
@media(max-width:360px){body.single-tribe_events .dbbq-chip.dbbq-chip-cost{grid-template-columns:96px 1fr}}
@media(min-width:520px){body.single-tribe_events .dbbq-chiprow{grid-template-columns:1fr 1fr}body.single-tribe_events .dbbq-chip-cost{grid-column:1/-1}}
body.single-tribe_events .dbbq-actions{display:grid;grid-template-columns:1fr;gap:10px;margin:0;width:100%}
body.single-tribe_events .dbbq-btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;font-weight:800;border-radius:14px;padding:13px 14px;border:1px solid rgba(0,0,0,.12)}
body.single-tribe_events .dbbq-btn-primary{background:var(--dbbq-brown);color:#fff!important;border-color:var(--dbbq-brown)}
body.single-tribe_events .dbbq-btn-ghost{background:var(--dbbq-cream-2);border-color:rgba(63,42,31,.22);color:var(--dbbq-ink)!important}
body.single-tribe_events .dbbq-btn-ghost:hover{background:var(--dbbq-cream)}
@media(min-width:520px){body.single-tribe_events .dbbq-actions{grid-template-columns:1fr 1fr}body.single-tribe_events .dbbq-btn-primary{grid-column:1/-1}}
@media(min-width:860px){
  body.single-tribe_events .dbbq-hero-media{max-width:980px;margin:0 auto 12px}
  /* Keep the desktop summary easy to scan without letting a wrapped WHEN value
     make all three fact cards feel oversized. Admission needs less width, so
     give that space to the date and location cards instead. */
  body.single-tribe_events .dbbq-hero-meta{padding:10px 12px}
  body.single-tribe_events .dbbq-chiprow{grid-template-columns:minmax(0,1.35fr) minmax(0,1.15fr) minmax(150px,.7fr);gap:10px;margin-bottom:12px}
  body.single-tribe_events .dbbq-chip-cost{grid-column:auto}
  body.single-tribe_events .dbbq-chip{padding:9px 12px;border-radius:14px;grid-template-columns:1fr;grid-template-rows:auto auto;gap:3px}
  body.single-tribe_events .dbbq-chip-k{font-size:12px;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
  body.single-tribe_events .dbbq-chip-v{font-size:16px;font-weight:700;line-height:1.28}
  body.single-tribe_events .dbbq-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:0}
  body.single-tribe_events .dbbq-btn{width:auto;min-width:180px;padding:12px 16px;border-radius:14px}
}

body.single-tribe_events .dbbq-mv-content{width:100%}
body.single-tribe_events .dbbq-event-article{width:100%;max-width:none}
body.single-tribe_events .dbbq-inline-datetime{font-weight:700;margin:0 0 18px;padding:10px 12px;border-left:4px solid var(--dbbq-brown);background:var(--dbbq-cream)}

/* Compatibility-preview fallback: TEC can inject its own schedule outside the legacy block render path. */
.dbbq-events-single .tribe-events-schedule,.dbbq-events-single .tribe-events-schedule__datetime{display:none!important}

/* Easy Table of Contents treatment retained from the current event pages. */
body.single-tribe_events #ez-toc-container{border:1px solid rgba(0,0,0,.10);background:#fff;border-radius:14px;padding:10px 12px;margin:14px 0 18px;box-shadow:0 10px 22px rgba(0,0,0,.06)}
body.single-tribe_events #ez-toc-container .ez-toc-title-container{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:0}
body.single-tribe_events #ez-toc-container .ez-toc-title{font-size:0;margin:0;line-height:1}
body.single-tribe_events #ez-toc-container .ez-toc-title::before{content:"On this page";font-size:16px;font-weight:800;color:#2b211c;letter-spacing:.01em}
body.single-tribe_events #ez-toc-container .ez-toc-btn,body.single-tribe_events #ez-toc-container .ez-toc-toggle{border:1px solid rgba(63,42,31,.20);background:var(--dbbq-cream-2);border-radius:12px;padding:8px 10px;line-height:1}
body.single-tribe_events #ez-toc-container nav{margin-top:10px;padding-top:10px;border-top:1px solid rgba(0,0,0,.08)}
body.single-tribe_events #ez-toc-container ul{margin:0;padding-left:18px}
body.single-tribe_events #ez-toc-container li{margin:6px 0}
body.single-tribe_events #ez-toc-container a{text-decoration:none}
body.single-tribe_events #ez-toc-container a:hover{text-decoration:underline}
@media(min-width:860px){body.single-tribe_events #ez-toc-container nav ul{columns:2;column-gap:28px}body.single-tribe_events #ez-toc-container nav li{break-inside:avoid}}

/* DBBQ-owned replacements for legacy TEC blocks. */
.dbbq-event-details{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:18px;margin:12px 0 26px}
.dbbq-detail-group{border:1px solid var(--dbbq-line,#ddd);border-radius:14px;padding:16px;background:#fff}
.dbbq-detail-group h3{margin:0 0 12px;font-size:1.15em}
.dbbq-detail-group dl{margin:0}
.dbbq-detail-group dl>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid rgba(0,0,0,.06)}
.dbbq-detail-group dl>div:first-child{border-top:0;padding-top:0}
.dbbq-detail-group dt{font-weight:700}
.dbbq-detail-group dd{margin:0;overflow-wrap:anywhere}
.dbbq-organizer:not(section){margin:12px 0 22px}
.dbbq-event-price,.dbbq-event-website{margin:12px 0 20px}
@media(max-width:720px){.dbbq-event-details{grid-template-columns:1fr}.dbbq-detail-group dl>div{grid-template-columns:92px minmax(0,1fr)}}

.dbbq-venue-card{display:grid;grid-template-columns:minmax(260px,360px) minmax(0,1fr);gap:18px;align-items:stretch;margin:12px 0 28px;border:1px solid var(--dbbq-line,#ddd);border-radius:16px;overflow:hidden;background:#fff}
.dbbq-venue-details{padding:18px}
.dbbq-venue-details h3{margin:0 0 10px}
.dbbq-venue-details address{font-style:normal;line-height:1.5}
.dbbq-venue-actions{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px}
.dbbq-venue-map iframe{width:100%;height:100%;min-height:360px;border:0;display:block}
@media(max-width:760px){.dbbq-venue-card{grid-template-columns:1fr}.dbbq-venue-map iframe{min-height:320px}}

.dbbq-calendar-links{margin:20px 0 26px;padding:14px 16px;border:1px solid var(--dbbq-line,#ddd);border-radius:14px;background:var(--dbbq-cream,#faf8f3)}
.dbbq-calendar-links__items{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px}

.dbbq-related-events{margin:30px 0}
.dbbq-mini-event-list{display:grid;gap:10px}
.dbbq-mini-event-list article{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid rgba(0,0,0,.09)}

.dbbq-event-nav{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:32px 0 10px;padding-top:18px;border-top:1px solid rgba(0,0,0,.12)}
.dbbq-event-nav a{text-decoration:none}
.dbbq-event-nav__next{text-align:right}

/* Projected annual dates remain visible but deliberately carry a clear warning. */
body.single-tribe_events .dbbq-projected-notice{margin:0 0 14px;padding:12px 14px;border:1px solid #d6aa43;border-left:6px solid #b77900;border-radius:12px;background:#fff8e6;color:#4b3710;line-height:1.45}
body.single-tribe_events .dbbq-projected-notice strong{display:block;margin-bottom:2px}
body.single-tribe_events .dbbq-status-notice{margin:0 0 14px;padding:12px 14px;border:1px solid #cfd6dc;border-left:6px solid #52606d;border-radius:12px;background:#f7f9fa;color:#26323c;line-height:1.45}
body.single-tribe_events .dbbq-status-notice strong{display:block;margin-bottom:2px}
body.single-tribe_events .dbbq-status-notice--cancelled{border-color:#e0a3a3;border-left-color:#b32d2e;background:#fff3f3;color:#5a1c1c}
body.single-tribe_events .dbbq-status-notice--postponed{border-color:#d6aa43;border-left-color:#b77900;background:#fff8e6;color:#4b3710}
body.single-tribe_events .dbbq-status-notice--rescheduled{border-color:#a9bfd2;border-left-color:#3c6f96;background:#f2f7fb;color:#23445c}

/* Upcoming-events hub
   Default to a single-column list so the page works cleanly with Trellis/sidebar layouts.
   Container queries allow two columns only when the actual events content area is genuinely wide. */
.dbbq-upcoming-events{margin:20px 0 40px;container-type:inline-size;container-name:dbbq-events-hub}
.dbbq-events-month{margin:32px 0 14px;padding-bottom:8px;border-bottom:2px solid rgba(63,42,31,.18)}
.dbbq-events-grid{display:grid;grid-template-columns:1fr;gap:18px}
.dbbq-event-card{position:relative;display:grid;grid-template-columns:minmax(190px,240px) minmax(0,1fr);overflow:hidden;border:1px solid rgba(0,0,0,.10);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.dbbq-event-card__image{display:block;background:#f5f2ee}
.dbbq-event-card__image img{width:100%;height:100%;min-height:180px;object-fit:cover;display:block}
.dbbq-event-card__body{padding:16px}
.dbbq-event-card__date{font-size:.82rem;font-weight:800;letter-spacing:.02em;color:#5a534d;text-transform:uppercase}
.dbbq-projected-badge{display:inline-block;margin-left:6px;padding:2px 6px;border:1px solid #d6aa43;border-radius:999px;background:#fff8e6;color:#7a5200;font-size:.72rem;line-height:1.2;vertical-align:1px}
.dbbq-rescheduled-badge{display:inline-block;margin-left:6px;padding:2px 6px;border:1px solid #a9bfd2;border-radius:999px;background:#f2f7fb;color:#315f82;font-size:.72rem;line-height:1.2;vertical-align:1px}
.dbbq-event-card h3{margin:5px 0 4px;font-size:1.15rem;line-height:1.2}
.dbbq-event-card h3 a{text-decoration:none}
/* One semantic link per card. The title anchor supplies a stretched hit area
   so image/whitespace clicks still open the Event without duplicate tab stops. */
.dbbq-event-card__link::after{content:"";position:absolute;inset:0;z-index:2;border-radius:14px}
.dbbq-event-card__link:focus-visible{outline:none}
.dbbq-event-card__link:focus-visible::after{outline:3px solid currentColor;outline-offset:2px}
.dbbq-event-card__place{font-size:.92rem;color:#5a534d;margin-bottom:8px}
.dbbq-event-card p{font-size:.95rem;line-height:1.45;margin:.55em 0}
.dbbq-event-card__more{display:inline-block;font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.12em;border-radius:4px;padding:.08em .18em;margin:-.08em -.18em;transition:background-color .16s ease,text-decoration-thickness .16s ease,text-underline-offset .16s ease}
.dbbq-event-card:hover .dbbq-event-card__more,.dbbq-event-card:focus-within .dbbq-event-card__more{background:rgba(0,0,0,.06);text-decoration-thickness:2px;text-underline-offset:.18em}

/* Two-up cards are reserved for a genuinely wide content container, not merely a wide viewport. */
@container dbbq-events-hub (min-width:1100px){
  .dbbq-events-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dbbq-event-card{grid-template-columns:150px minmax(0,1fr)}
  .dbbq-event-card__image img{min-height:150px}
  .dbbq-event-card__body{padding:14px}
}

@media(max-width:560px){.dbbq-event-card{grid-template-columns:1fr}.dbbq-event-card__image img{max-height:220px}.dbbq-event-nav{grid-template-columns:1fr}.dbbq-event-nav__next{text-align:left}}
