/*--------------------------------------------------------------
This is your custom stylesheet.

Add your own styles here to make theme updates easier.
To override any styles from other stylesheets, simply copy them into here and edit away.

Make sure to respect the media queries! Otherwise you may
accidentally add desktop styles to the mobile layout.
https://www.w3schools.com/css/css_rwd_mediaqueries.asp
--------------------------------------------------------------*/

.site-header-container .site-title img {
    object-position: center left;
}

/* Hide search */
a.header-search-link,
.header-aside-inner > .bb-separator,
.search-separator {
    display: none;
}

/* Breadcrumbs */
#breadcrumbs { display: none; }

/* Hide share on blog pages */
.single .bb-share-container,
.single .author-box-share-wrap {
    display: none;
}

/* Hide some sub-account actions on MemberPress sub-accounts management page */
#mpca-add-sub-user,
#mpca_export_sub_accounts,
#mpca_import_sub_accounts {
    display: none;
}

/* Gravity Forms */
.gform_required_legend {
    display: none;
}

/* Classified Ads */
.classified .entry-media {
    display: none;
}

/* The Events Calendar */
.tribe-events .tribe-events-calendar-list .tribe-events-calendar-list__event-wrapper .tribe-events-calendar-list__event-featured-image-wrapper .tribe-events-calendar-list__event-featured-image {
    position: relative !important;
}
.tribe-events-calendar-month__header-column {
    border: none !important;
}

/* Related events thumbnails: make images cover their box instead of
   overflowing off-center. Two conflicting plugin/theme rules are at play:
   one uses width:auto + min-width/height:100%, the other applies
   transform: translate(-50%,-50%) scale(2). Reset both. */
body .tribe-events-single ul.tribe-related-events li .tribe-related-events-thumbnail img,
body .tribe-events-single ul.tribe-related-events li .tribe-related-events-thumbnail a img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    margin: 0;
    transform: none;
    object-fit: cover;
    object-position: center;
}

/* AI Assistant */
/* .page-id-452 .entry-header {
    display: none;
} */

/* Directorist */
.directorist-listing-single__meta__left .bp-message-button {
    display: flex;
    align-items: center;
    gap: 8px;
}
.directorist-mark-as-favorite__btn.directorist-added-to-favorite .directorist-favorite-icon:before,
.directorist-mark-as-favorite__btn:focus .directorist-favorite-icon:before, .directorist-mark-as-favorite__btn:hover .directorist-favorite-icon:before,
.directorist-single-listing-action.directorist-action-bookmark .directorist-icon-mask.directorist-added-to-favorite:after {
    background-color: #b73e3e;
    border-color: #b73e3e;
}

.directorist-btn.directorist-btn-primary.directorist-btn-sm.dbb-btn--single.bp-message-button {
    background-color: #b73e3e;
    border-color: #b73e3e;
    color: #fff;
}
.directorist-single-contents-area .directorist-single-map__direction a {
    color: #b73e3e;
}
.directorist-single-contents-area .directorist-single-map__direction a .directorist-icon-mask:after {
    background-color: #b73e3e;
}

/* Directorist Single */
.directorist-listing-details__text > :first-child {
    margin-top: 0;
}
.directorist-listing-details__text h2 {
    margin: 8px 0;
}
.directorist-listing-details__text p {
    margin: 0 0 8px;
}

/* Vendor Directory */
.page-id-527 .directorist-viewas__item--map,
.page-id-527 .directorist-search-location {
    display: none;
}
.directorist-swiper__pagination {
    width: auto !important;
    margin-left: 16px;
}
.directorist-review-single__info {
    padding: 8px;
}

/* === New-community staging: hide sparse activity (REMOVE once active) ===
   These rules intentionally make a new/quiet community feel less barren.
   Paired with the timestamp logic in assets/js/custom.js (same banner).
   Roll back this block and that JS block together once we have regular use. */

/* Hide "Last Activity" bits */
.last-activity {
    display: none !important;
}

/* Helper used by custom.js to hide feed post/comment timestamps older than a week */
.ts411-hide-timestamp {
    display: none !important;
}
/* === end New-community staging === */

/* TS411 Vendor Listing — Custom Elements */

p:has(> .vendor__tagline) {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}
.vendor__tagline {
    font-size: 17px;
    font-style: italic;
    color: #666;
    line-height: 1.4;
}
.vendor__service-area {
    font-size: 12px;
    font-weight: 600;
    color: #555;
    background: #eee;
    padding: 4px 12px;
    margin: 0;
    border-radius: 20px;
    white-space: nowrap;
    flex-shrink: 0;
}
.vendor__service-area::before {
    content: 'Service Area: ';
    font-weight: 400;
    color: #888;
}

.vendor__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #eee;
}

.vendor__tag {
    display: inline-block;
    font-size: 13px;
    font-weight: 500;
    color: #444;
    background: #f3f3f3;
    padding: 5px 14px;
    border-radius: 20px;
    border: 1px solid #e0e0e0;
    line-height: 1;
}

/* hide message button on admin-owned listings */
.directorist-admin-listing .bp-message-button {
    display: none !important;
}

/* hide Ryan if vendor is not assigned to a member */
.directorist-thumb-listing-author a:has(img[alt="Ryan Johnson"]) {
    display: none !important;
}

/* Quick Links */
.bp-custom-quick-links__list li:last-child {
    margin-bottom: 0;
}
#block-5:has(> .bp-custom-no-quick-links),
#block-6:has(> .bp-custom-no-quick-links) {
    display: none;
}

/* Shop or Vendor Listing Widget */
#block-8 {
    background: transparent;
    border: none;
    padding: 0;
    margin: 0;
}
.bp-custom-directory-listing {
    display: block;
    background: var(--bb-content-background-color);
    border: 1px solid var(--bb-content-border-color);
    border-radius: var(--bb-block-radius);
    margin-bottom: 1.25rem;
    overflow: hidden;
    transition: border-color 0.2s ease;
}
.bp-custom-directory-listing:hover {
    border-color: #b73e3e;
}
.bp-custom-directory-listing__image {
    display: block;
    width: 100%;
    height: auto;
}
.bp-custom-directory-listing__inner {
    padding: 1.25rem;
}
.bp-custom-directory-listing__inner h2.widget-title {
    margin: 0;
}
.bp-custom-directory-listing__address {
    color: var(--bb-headings-color);
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    margin: 4px 0 0;
}
.bp-custom-directory-listing .more-block .count-more {
    width: 100%;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    text-align: center;
    padding: 8px 16px;
    border-radius: var(--bb-button-radius);
    display: inline-block;
    background-color: var(--bb-secondary-button-background-regular);
    color: var(--bb-secondary-button-text-regular);
    border: 1px solid var(--bb-secondary-button-border-regular);
    transition: all 0.2s ease;
}
.bp-custom-directory-listing:hover .more-block .count-more {
    background-color: var(--bb-secondary-button-background-hover);
    color: var(--bb-secondary-button-text-hover);
    border: 1px solid var(--bb-secondary-button-border-hover);
}

/* TS411 Certifications (profile sidebar) */
#block-7:has(> .bp-custom-no-certifications) {
    display: none;
}
#block-7 > .widget-title {
    display: none;
}
.ts411-certs__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.75rem 0.5rem;
    list-style: none;
    margin: 0;
    padding: 0;
    overflow: visible;
}
.ts411-certs__item {
    margin: 0;
    padding: 0;
    overflow: visible;
}
.ts411-certs__link {
    display: block;
    overflow: visible;
    transition: transform 0.15s ease, opacity 0.15s ease;
}
a.ts411-certs__link:hover {
    transform: translateY(-2px);
    opacity: 0.9;
}
.ts411-certs__badge {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
}
.ts411-certs__fallback {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 64px;
    padding: 0.5rem;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
    line-height: 1.2;
    color: var(--bb-headings-color);
    background: var(--bb-content-background-color);
    border: 1px solid var(--bb-content-border-color);
    border-radius: var(--bb-block-radius, 4px);
}

/* LearnDash */
.bb-course-banner-info .bb-course-single-meta .meta-saperator,
.bb-course-banner-info .bb-course-single-meta .course-date,
.bb-course-banner-info .bb-course-points {
    display: none !important;
}
.bb-course-preview-content .bb-course-members {
    display: none !important;
}
.lms-header-instructor {
    display: none !important;
}
.bb-cover-list-item .ld-progress-steps {
    display: none !important;
}

/* ==========================================================================
   The Dispatch Podcast — single event description
   Paste the .dispatch-ep markup into the Tribe event description (Text/HTML).
   Scoped to the single event description. All spacing is set explicitly and
   element-qualified so inherited theme heading/paragraph margins can't leak in.
   ========================================================================== */
.tribe-events-single-event-description {
    --dispatch-accent: #b73e3e;
}
.tribe-events-single-event-description .dispatch-ep {
    font-size: 16px;
    line-height: 1.65;
    color: var(--bb-body-text-color, inherit);
}

/* Hard reset spacing on every element we use, then set our own below.
   Keeps us from fighting BuddyBoss/Tribe default margins. */
.tribe-events-single-event-description .dispatch-ep h2,
.tribe-events-single-event-description .dispatch-ep h3,
.tribe-events-single-event-description .dispatch-ep p,
.tribe-events-single-event-description .dispatch-ep ul,
.tribe-events-single-event-description .dispatch-ep ol,
.tribe-events-single-event-description .dispatch-ep li {
    margin: 0;
    padding: 0;
}

/* Title + feat line */
.tribe-events-single-event-description .dispatch-ep h2.dispatch-ep__title {
    margin: 0 0 4px;
    padding: 0;
    font-size: clamp(1.5rem, 1rem + 2vw, 2rem);
    line-height: 1.2;
    font-weight: 700;
    color: var(--bb-headings-color, #122b46);
}
.tribe-events-single-event-description .dispatch-ep p.dispatch-ep__feat {
    margin: 0 0 20px;
    padding: 0;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: var(--dispatch-accent);
}

/* Lead paragraph */
.tribe-events-single-event-description .dispatch-ep p.dispatch-ep__lead {
    margin: 0 0 24px;
    padding: 0;
    font-size: 17px;
}

/* Live recording badge */
.tribe-events-single-event-description .dispatch-ep p.dispatch-ep__live {
    position: relative;
    margin: 0 0 8px;
    padding: 13px 16px 13px 42px;
    font-size: 14px;
    font-weight: 500;
    border-radius: var(--bb-block-radius, 12px);
    background: rgba(183, 62, 62, .08);
    border: 1px solid rgba(183, 62, 62, .25);
    color: var(--bb-headings-color, #122b46);
}
.tribe-events-single-event-description .dispatch-ep p.dispatch-ep__live::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 18px;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border-radius: 50%;
    background: var(--dispatch-accent);
    box-shadow: 0 0 0 0 rgba(183, 62, 62, .5);
    animation: dispatchPulse 2s infinite;
}
@keyframes dispatchPulse {
    0%   { box-shadow: 0 0 0 0 rgba(183, 62, 62, .5); }
    70%  { box-shadow: 0 0 0 9px rgba(183, 62, 62, 0); }
    100% { box-shadow: 0 0 0 0 rgba(183, 62, 62, 0); }
}

/* Section headings */
.tribe-events-single-event-description .dispatch-ep h3.dispatch-ep__h3 {
    margin: 28px 0 14px;
    padding: 0 0 8px;
    font-size: 13px;
    line-height: 1.3;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--bb-headings-color, #122b46);
    border-bottom: 2px solid var(--bb-content-border-color, #e7e9ec);
}

/* Segment steps (styled ordered list w/ custom counters) */
.tribe-events-single-event-description .dispatch-ep ol.dispatch-ep__steps {
    list-style: none;
    counter-reset: dispatch;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 12px;
}
.tribe-events-single-event-description .dispatch-ep ol.dispatch-ep__steps > li {
    counter-increment: dispatch;
    position: relative;
    margin: 0;
    padding: 16px 18px 16px 62px;
    background: var(--bb-content-background-color, #fff);
    border: 1px solid var(--bb-content-border-color, #e7e9ec);
    border-radius: var(--bb-block-radius, 12px);
}
.tribe-events-single-event-description .dispatch-ep ol.dispatch-ep__steps > li::before {
    content: counter(dispatch, decimal-leading-zero);
    position: absolute;
    top: 16px;
    left: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    font-size: 13px;
    font-weight: 700;
    color: #fff;
    background: var(--dispatch-accent);
    border-radius: 9px;
}

/* This month's guest card */
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__person {
    padding: 18px 20px;
    background: var(--bb-content-background-color, #fff);
    border: 1px solid var(--bb-content-border-color, #e7e9ec);
    border-left: 3px solid var(--dispatch-accent);
    border-radius: var(--bb-block-radius, 12px);
}
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__person-name {
    display: block;
    font-size: 17px;
    font-weight: 700;
    color: var(--bb-headings-color, #122b46);
}
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__person-role {
    display: block;
    margin-bottom: 8px;
    font-size: 13px;
    font-weight: 600;
    color: var(--dispatch-accent);
}
.tribe-events-single-event-description .dispatch-ep p.dispatch-ep__person-bio {
    margin: 0;
    padding: 0;
    font-size: 15px;
}
/* Secondary / co-guest card — lighter than the marquee guest */
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__person + .dispatch-ep__person {
    margin-top: 12px;
}
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__person--co {
    padding: 16px 18px;
    border-left: 1px solid var(--bb-content-border-color, #e7e9ec);
}
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__person--co .dispatch-ep__person-name {
    font-size: 15px;
}
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__person--co .dispatch-ep__person-bio {
    font-size: 14px;
}

/* Hosts */
.tribe-events-single-event-description .dispatch-ep ul.dispatch-ep__hosts {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
}
.tribe-events-single-event-description .dispatch-ep ul.dispatch-ep__hosts > li {
    margin: 0;
    padding: 16px 18px;
    background: var(--bb-content-background-color, #fff);
    border: 1px solid var(--bb-content-border-color, #e7e9ec);
    border-radius: var(--bb-block-radius, 12px);
}
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__host-name {
    display: block;
    margin-bottom: 4px;
    font-size: 15px;
    font-weight: 700;
    color: var(--bb-headings-color, #122b46);
}
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__host-bio {
    display: block;
    font-size: 14px;
}

/* Ask-ahead callout */
.tribe-events-single-event-description .dispatch-ep p.dispatch-ep__ask {
    margin: 24px 0 0;
    padding: 16px 18px;
    font-size: 15px;
    border-radius: var(--bb-block-radius, 12px);
    background: rgba(183, 62, 62, .06);
    border: 1px dashed rgba(183, 62, 62, .4);
    color: var(--bb-headings-color, #122b46);
}
.tribe-events-single-event-description .dispatch-ep p.dispatch-ep__ask strong {
    color: var(--dispatch-accent);
}

/* Links inside the block */
.tribe-events-single-event-description .dispatch-ep a {
    color: var(--dispatch-accent);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}
/* Name links (guest/host) stay looking like names; accent on hover */
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__person-name a,
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__host-name a {
    color: inherit;
    font-weight: inherit;
    text-decoration: none;
}
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__person-name a:hover,
.tribe-events-single-event-description .dispatch-ep .dispatch-ep__host-name a:hover {
    color: var(--dispatch-accent);
    text-decoration: underline;
}
/* end The Dispatch Podcast */

/* ==========================================================================
   Annual Meeting promo — single event description CTA block
   Paste the .am-promo markup into the Tribe event description (Text/HTML).
   Drives users to the public event landing page (opens in a new tab).
   No icon-font dependency: the button arrow is a CSS unicode glyph.
   ========================================================================== */
.tribe-events-single-event-description .am-promo {
    --am-accent: #b73e3e;
    margin: 0 0 8px;
    padding: 28px;
    background: var(--bb-content-background-color, #fff);
    border: 1px solid var(--bb-content-border-color, #e7e9ec);
    border-radius: var(--bb-block-radius, 12px);
    font-size: 16px;
    line-height: 1.6;
}
.tribe-events-single-event-description .am-promo > :first-child {
    margin-top: 0;
}
.tribe-events-single-event-description .am-promo .am-promo__eyebrow {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--am-accent);
}
.tribe-events-single-event-description .am-promo h2.am-promo__title {
    margin: 0 0 12px;
    padding: 0;
    font-size: clamp(1.5rem, 1rem + 2vw, 2.1rem);
    line-height: 1.15;
    font-weight: 700;
    color: var(--bb-headings-color, #122b46);
}
.tribe-events-single-event-description .am-promo p.am-promo__text {
    margin: 0 0 20px;
    padding: 0;
    font-size: 16px;
}

/* Key facts */
.tribe-events-single-event-description .am-promo .am-promo__facts {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 1px;
    margin: 0 0 24px;
    background: var(--bb-content-border-color, #e7e9ec);
    border: 1px solid var(--bb-content-border-color, #e7e9ec);
    border-radius: var(--bb-block-radius, 12px);
    overflow: hidden;
}
.tribe-events-single-event-description .am-promo .am-promo__fact {
    padding: 14px 18px;
    background: var(--bb-content-background-color, #fff);
}
.tribe-events-single-event-description .am-promo .am-promo__fact-label {
    margin-bottom: 4px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--am-accent);
}
.tribe-events-single-event-description .am-promo .am-promo__fact-value {
    font-size: 15px;
    font-weight: 600;
    color: var(--bb-headings-color, #122b46);
}

/* Members-only / no-fee callout */
.tribe-events-single-event-description .am-promo .am-promo__note-box {
    margin: 0 0 20px;
    padding: 14px 16px;
    font-size: 14px;
    font-weight: 500;
    border-radius: var(--bb-block-radius, 12px);
    background: rgba(183, 62, 62, .07);
    border: 1px solid rgba(183, 62, 62, .25);
    color: var(--bb-headings-color, #122b46);
}

/* CTA buttons */
.tribe-events-single-event-description .am-promo .am-promo__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin: 0;
}
.tribe-events-single-event-description .am-promo a.am-promo__btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    background: var(--am-accent);
    border: 2px solid var(--am-accent);
    border-radius: var(--bb-button-radius, 8px);
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease, transform .2s ease;
}
.tribe-events-single-event-description .am-promo a.am-promo__btn:hover {
    background: #9c3333;
    border-color: #9c3333;
    color: #fff;
    text-decoration: none;
    transform: translateY(-1px);
}
.tribe-events-single-event-description .am-promo a.am-promo__btn::after {
    content: "\2192";
    font-size: 18px;
    line-height: 1;
}
/* Secondary (outline) button — e.g. in-platform RSVP */
.tribe-events-single-event-description .am-promo a.am-promo__btn--secondary {
    background: transparent;
    color: var(--am-accent);
}
.tribe-events-single-event-description .am-promo a.am-promo__btn--secondary:hover {
    background: var(--am-accent);
    border-color: var(--am-accent);
    color: #fff;
}
.tribe-events-single-event-description .am-promo a.am-promo__btn--secondary::after {
    content: none;
}
.tribe-events-single-event-description .am-promo p.am-promo__note {
    margin: 0;
    padding: 0;
    font-size: 13px;
    color: var(--bb-alternate-text-color, #74787c);
}
/* end Annual Meeting promo */

/* === Thank-you page: per-product modules (partials/thank-you/) === */
.ts411-thankyou {
    max-width: 680px;
    margin: 0 auto;
    text-align: left;
}

.ts411-thankyou__eyebrow {
    display: block;
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #b73e3e;
    margin-bottom: 6px;
}

.ts411-thankyou__title {
    font-size: 1.625rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.25;
    margin: 0 0 10px;
}

.ts411-thankyou__lead {
    font-size: 0.9375rem;
    color: #4b5563;
    line-height: 1.6;
    margin: 0 0 24px;
}

.ts411-thankyou__steps {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: grid;
    gap: 12px;
}

.ts411-thankyou__step {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 8px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    padding: 1.1rem 1.25rem;
}

.ts411-thankyou__num {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(183, 62, 62, 0.1);
    color: #b73e3e;
    font-size: 0.8125rem;
    font-weight: 700;
    border-radius: 100px;
    margin-top: 1px;
}

.ts411-thankyou__step h3 {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 4px;
}

.ts411-thankyou__step p {
    font-size: 0.8125rem;
    color: #6b7280;
    line-height: 1.55;
    margin: 0;
}

.ts411-thankyou__step p a {
    color: #b73e3e;
    font-weight: 600;
}

.ts411-thankyou__actions {
    margin: 0 0 16px;
}

a.ts411-thankyou__button {
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 700;
    color: #fff !important;
    background: #b73e3e;
    border-radius: 6px;
    padding: 11px 24px;
    text-decoration: none !important;
    box-shadow: 0 2px 6px rgba(183, 62, 62, 0.25);
    transition: background 0.15s ease;
}

a.ts411-thankyou__button:hover {
    background: #9d3434;
}

.ts411-thankyou__note {
    font-size: 0.75rem;
    color: #9ca3af;
    margin: 0;
}

.ts411-thankyou__note a {
    color: #b73e3e;
}
/* end thank-you modules */
