/*
 * Homepage-only adoption of the shared public surface system.
 *
 * The opt-in class begins below the hero so the homepage header and hero retain
 * their established presentation. The existing homepage layout and transparent
 * compact rows remain intact inside the newly elevated module surfaces.
 */
.public-theme-home{
  color:var(--tb-public-text);
}

.public-theme-home .panel{
  border-color:var(--tb-public-border);
  background:var(--tb-public-surface);
  box-shadow:var(--tb-public-shadow);
}

.public-theme-home .panel-heading{
  border-bottom-color:var(--tb-public-border-soft);
}

.public-theme-home :is(
  .panel-heading h2,
  .panel-heading h3,
  .event h3,
  .ride-copy h3,
  .shop-copy h3,
  .article-list h3
){
  color:var(--tb-public-text);
}

.public-theme-home :is(
  .ride-description,
  .shop-description,
  .stop-description,
  .article-list p
){
  color:var(--tb-public-text-secondary);
}

.public-theme-home .upcoming-events-module{
  min-width:0;
}

.public-theme-home .upcoming-events-module > .event-list{
  margin-top:12px;
}

.public-theme-home #featured-ride .homepage-section-heading{
  height:auto;
  min-height:68px;
  flex-direction:column;
  align-items:stretch;
  gap:2px;
  padding-block:6px;
}

.public-theme-home #featured-ride .homepage-section-heading h2{
  width:100%;
}

.public-theme-home #featured-ride .homepage-section-heading>a{
  height:auto;
  min-height:24px;
  align-self:flex-end;
  justify-content:flex-end;
  text-align:right;
}

.public-theme-home .homepage-section-heading h3{
  margin:0;
  color:#fff;
  font-size:1.28rem;
  line-height:1.08;
  -webkit-text-stroke:.45px rgba(0,0,0,.9);
  text-shadow:.35px 0 0 rgba(0,0,0,.72),-.35px 0 0 rgba(0,0,0,.72),0 .35px 0 rgba(0,0,0,.72),0 -.35px 0 rgba(0,0,0,.72);
}

.public-theme-home #upcoming-events .panel-actions a:first-child{
  display:inline-flex;
}

@media(max-width:650px){
  .public-theme-home .homepage-section-heading h3{
    font-size:1rem;
  }

  .public-theme-home #upcoming-events .panel-actions{
    display:flex;
    justify-content:flex-end;
  }

  .public-theme-home #featured-ride .homepage-section-heading>a{
    min-height:32px;
  }
}

.public-theme-home :is(
  .event-list,
  .article-list,
  .ride-card,
  .shop-card,
  .stop-card
){
  background:transparent;
}

.public-theme-home .community{
  border-color:var(--tb-public-border);
  box-shadow:var(--tb-public-shadow);
}

.public-theme-home .community article{
  border-color:var(--tb-public-border);
  background:var(--tb-public-surface);
}

.public-theme-home .community .support-local{
  background:linear-gradient(125deg,#292016,var(--tb-public-surface))!important;
}

.public-theme-home .community h2{
  color:var(--tb-public-text);
}

.public-theme-home .community p{
  color:var(--tb-public-text-secondary);
}
