/* The Events Calendar
================================ */
.nofcc-events-template {
    background: var(--color-warm-white);
}

.nofcc-events-template__content {
    width: min(100% - (var(--gutter) * 2), var(--container-wide));
    max-width: var(--container-wide);
    margin: 0 auto;
    padding: clamp(10px, 1.8vw, 24px) 0 clamp(72px, 7vw, 108px);
}

.single-tribe_events .nofcc-events-template__content {
    width: min(100% - (var(--gutter) * 2), var(--container));
    max-width: var(--container);
    margin: 0 auto;
    padding: 0;
}

.single-tribe_events main#tribe-events-pg-template.nofcc-events-template {
    padding-top: 0;
}

.single-tribe_events section#tribe-events-pg-template {
    padding-top: clamp(10px, 2vw, 28px);
}

.nofcc-events-hero.hero--editorial {
    min-height: clamp(440px, 50vh, 600px);
    padding-top: clamp(76px, 8vw, 118px);
    padding-bottom: clamp(70px, 7vw, 104px);
    background-color: var(--color-light);
    background-position: center center;
    background-size: cover;
}

.nofcc-events-hero .hero-intro {
    max-width: 680px;
}

.nofcc-events-hero.hero--editorial .nofcc-section-background__inner {
    width: 100%;
    max-width: none;
}

.nofcc-events-hero.hero--editorial .container,
.nofcc-events-hero.hero--editorial .container > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.nofcc-events-hero.hero--editorial .hero-layout,
.nofcc-events-hero.hero--editorial .hero-layout > .wp-block-group__inner-container {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
    padding-inline: clamp(30px, 5vw, 110px);
    justify-content: flex-end;
}

.nofcc-events-hero .nofcc-section-background__overlay {
    display: none !important;
    opacity: 0;
    background: transparent;
}

.nofcc-events-hero .hero-content {
    width: min(100%, 680px);
    max-width: 680px;
    padding: clamp(30px, 4vw, 52px);
    background: rgba(255, 255, 255, 0.7);
    box-shadow: 0 22px 70px rgba(12, 24, 38, 0.12);
}

.nofcc-events-hero .hero-eyebrow,
.nofcc-events-hero h1 {
    color: var(--color-charcoal);
}

.nofcc-events-template__content > .tribe-common {
    color: var(--color-charcoal);
    font-family: var(--font-body);
}

.nofcc-events-template__content .tribe-common-l-container {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 0 clamp(36px, 5vw, 68px) !important;
}

.nofcc-events-template__content > .tribe-events,
.nofcc-events-template__content .tribe-events-l-container,
.nofcc-events-template__content .tribe-events-header,
.nofcc-events-template__content .tribe-events-c-events-bar,
.nofcc-events-template__content .tribe-events-calendar-list,
.nofcc-events-template__content .tribe-events-calendar-list-nav,
.nofcc-events-template__content .tribe-events-c-subscribe-dropdown__container {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.nofcc-events-template__content :where(
    .tribe-common .tribe-common-h1,
    .tribe-common .tribe-common-h2,
    .tribe-common .tribe-common-h3,
    .tribe-events-calendar-list__event-title,
    .tribe-events-calendar-month__calendar-event-title,
    .tribe-events-single-event-title
) {
    color: var(--color-charcoal);
    font-family: var(--font-heading);
    letter-spacing: 0;
}

.nofcc-events-template__content :where(.tribe-common a, .tribe-events-content a) {
    color: var(--color-red);
}

.nofcc-events-template__content :where(.tribe-common a, .tribe-events-content a):hover,
.nofcc-events-template__content :where(.tribe-common a, .tribe-events-content a):focus {
    color: var(--color-red-dark);
}

.nofcc-events-template__content :where(
    .tribe-events-c-events-bar,
    .tribe-events-header,
    .tribe-events-calendar-month,
    .tribe-events-calendar-list__event-row,
    .tribe-events-calendar-day__event
) {
    background: var(--color-white);
}

.nofcc-events-template__content :where(.tribe-events-c-events-bar, .tribe-events-header) {
    border: 1px solid var(--color-border);
    box-shadow: 0 18px 46px rgba(12, 24, 38, 0.05);
}

.nofcc-events-template__content :where(.tribe-events-calendar-list__event-row, .tribe-events-calendar-day__event) {
    margin: clamp(12px, 1.8vw, 20px) 0;
    padding: clamp(18px, 2vw, 24px);
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--color-border);
    box-shadow: 0 18px 46px rgba(12, 24, 38, 0.055);
}

.nofcc-events-template__content .tribe-events-calendar-list {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
}

.nofcc-events-template__content .tribe-events-calendar-list__month-separator {
    width: 100%;
}

.nofcc-events-template__content .tribe-events-calendar-list__event-row {
    display: grid !important;
    grid-template-columns: minmax(44px, 64px) minmax(0, 1fr);
    gap: clamp(14px, 2vw, 22px);
    align-items: start;
    max-width: none;
}

.nofcc-events-template__content .tribe-events-calendar-list__event-date-tag {
    width: 100% !important;
    max-width: none !important;
    padding: 0;
    flex: 0 0 auto !important;
}

.nofcc-events-template__content .tribe-events-calendar-list__event-wrapper,
.nofcc-events-template__content .tribe-events-calendar-list__event {
    width: 100%;
    max-width: none;
    min-width: 0;
    flex: 1 1 auto !important;
    flex-basis: auto !important;
}

.nofcc-events-template__content .tribe-events-calendar-list__event-wrapper {
    grid-column: 2;
}

.nofcc-events-template__content .tribe-events-calendar-list__event {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 32%);
    gap: clamp(18px, 2.4vw, 28px);
    align-items: start;
}

.nofcc-events-template__content .tribe-events-calendar-list__event-details {
    grid-column: 1;
    grid-row: 1;
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    flex: 1 1 auto !important;
    flex-basis: auto !important;
}

.nofcc-events-template__content .tribe-events-calendar-list__event-featured-image-wrapper {
    grid-column: 2;
    grid-row: 1;
    width: 100% !important;
    max-width: none !important;
    overflow: hidden;
    background: var(--color-light);
    flex: 0 0 auto !important;
    align-self: start;
}

.nofcc-events-template__content .tribe-events-calendar-list__event-featured-image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    height: auto;
    object-fit: cover;
}

.nofcc-events-template__content .tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container,
.nofcc-events-template__content .tribe-common--breakpoint-full.tribe-events .tribe-events-l-container {
    min-height: 0 !important;
    padding-top: 0 !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
    padding-bottom: clamp(36px, 5vw, 68px) !important;
}

.nofcc-events-template__content .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row,
.nofcc-events-template__content .tribe-common--breakpoint-full.tribe-events .tribe-events-calendar-list__event-row {
    display: grid !important;
    grid-template-columns: minmax(44px, 64px) minmax(0, 1fr) !important;
    gap: clamp(14px, 2vw, 22px) !important;
    width: 100% !important;
    max-width: none !important;
    margin: clamp(12px, 1.8vw, 20px) 0 !important;
}

.nofcc-events-template__content .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-date-tag,
.nofcc-events-template__content .tribe-common--breakpoint-full.tribe-events .tribe-events-calendar-list__event-date-tag {
    grid-column: 1;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    padding: 0 !important;
}

.nofcc-events-template__content .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-wrapper,
.nofcc-events-template__content .tribe-common--breakpoint-full.tribe-events .tribe-events-calendar-list__event-wrapper {
    grid-column: 2;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 1 1 auto !important;
    padding: 0 !important;
}

.nofcc-events-template__content .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event,
.nofcc-events-template__content .tribe-common--breakpoint-full.tribe-events .tribe-events-calendar-list__event {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 32%) !important;
    gap: clamp(18px, 2.4vw, 28px) !important;
    width: 100% !important;
    max-width: none !important;
    align-items: start;
}

.nofcc-events-template__content .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-details,
.nofcc-events-template__content .tribe-common--breakpoint-full.tribe-events .tribe-events-calendar-list__event-details,
.nofcc-events-template__content .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper,
.nofcc-events-template__content .tribe-common--breakpoint-full.tribe-events .tribe-events-calendar-list__event-featured-image-wrapper {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex-basis: auto !important;
}

.nofcc-events-template__content :where(
    .tribe-events-calendar-list__event-title-link,
    .tribe-events-calendar-month__calendar-event-title-link
) {
    color: var(--color-charcoal);
    text-decoration: none;
    border-bottom: 0;
}

.nofcc-events-template__content :where(
    .tribe-events-calendar-list__event-title-link,
    .tribe-events-calendar-month__calendar-event-title-link
):hover,
.nofcc-events-template__content :where(
    .tribe-events-calendar-list__event-title-link,
    .tribe-events-calendar-month__calendar-event-title-link
):focus {
    color: var(--color-red);
}

.nofcc-events-template__content :where(
    .tribe-events-calendar-list__event-date-tag-weekday,
    .tribe-events-calendar-list__event-datetime,
    .tribe-events-calendar-day__event-datetime,
    .tribe-events-calendar-month__calendar-event-datetime,
    .tribe-events-calendar-list__event-venue,
    .tribe-events-calendar-day__event-venue
) {
    color: var(--color-muted);
}

.nofcc-events-template__content :where(
    .tribe-events-calendar-list__event-date-tag-daynum,
    .tribe-events-calendar-day__time-separator-text
) {
    color: var(--color-red);
    font-family: var(--font-heading);
}

.nofcc-events-template__content :where(
    .tribe-common .tribe-common-c-btn,
    .tribe-common a.tribe-common-c-btn,
    .tribe-events-c-search__button
) {
    border-radius: 2px;
    background: var(--color-black);
    border-color: var(--color-black);
    color: var(--color-white);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.nofcc-events-template__content :where(
    .tribe-common .tribe-common-c-btn,
    .tribe-common a.tribe-common-c-btn,
    .tribe-events-c-search__button
):hover,
.nofcc-events-template__content :where(
    .tribe-common .tribe-common-c-btn,
    .tribe-common a.tribe-common-c-btn,
    .tribe-events-c-search__button
):focus {
    background: var(--color-red);
    border-color: var(--color-red);
    color: var(--color-white);
}

.nofcc-events-template__content .tribe-events-c-subscribe-dropdown,
.nofcc-events-template__content .tribe-events-c-subscribe-dropdown__container,
.single-tribe_events .tribe-events-c-subscribe-dropdown,
.single-tribe_events .tribe-events-c-subscribe-dropdown__container {
    position: relative;
    z-index: 5;
}

.nofcc-events-template__content .tribe-events-c-subscribe-dropdown__button,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button {
    border-radius: 2px;
    border-color: var(--color-black);
    background: var(--color-black);
    color: var(--color-white);
    font-family: var(--font-body);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.nofcc-events-template__content .tribe-events-c-subscribe-dropdown__button:hover,
.nofcc-events-template__content .tribe-events-c-subscribe-dropdown__button:focus-within,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button:focus-within {
    background: var(--color-red);
    border-color: var(--color-red);
    color: var(--color-white);
}

.nofcc-events-template__content .tribe-events-c-subscribe-dropdown__button-text,
.single-tribe_events .tribe-events-c-subscribe-dropdown__button-text {
    color: inherit;
    font: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}

.nofcc-events-template__content .tribe-events-c-subscribe-dropdown__content,
.single-tribe_events .tribe-events-c-subscribe-dropdown__content {
    border-color: var(--color-border);
    background: var(--color-white);
    box-shadow: 0 18px 46px rgba(12, 24, 38, 0.12);
}

.nofcc-events-feed {
    background: var(--color-warm-white);
    padding: clamp(58px, 7vw, 96px) 0;
}

.nofcc-events-feed .container {
    width: min(100% - (var(--gutter) * 2), var(--container-wide));
    max-width: var(--container-wide);
}

.nofcc-events-feed .nofcc-section-heading {
    max-width: 760px;
    margin: 0 0 clamp(30px, 4vw, 48px);
}

.nofcc-events-feed .nofcc-section-heading .eyebrow {
    margin: 0 0 12px;
    color: var(--color-red);
}

.nofcc-events-feed .nofcc-section-heading h2 {
    margin: 0;
    color: var(--color-charcoal);
    font-size: clamp(2rem, 3.2vw, 3.75rem);
    line-height: 1.08;
}

.nofcc-events-feed .nofcc-section-heading p:not(.eyebrow) {
    max-width: 64ch;
    margin: 18px 0 0;
    color: var(--color-muted);
    font-size: clamp(1.05rem, 1.2vw, 1.18rem);
    line-height: 1.68;
}

.nofcc-event-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(20px, 2.6vw, 34px);
}

.nofcc-event-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    color: var(--color-charcoal);
    background: var(--color-cream);
    border: 1px solid var(--color-border);
    box-shadow: 0 18px 46px rgba(12, 24, 38, 0.06);
}

.nofcc-event-card__media {
    display: block;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: var(--color-light);
}

.nofcc-event-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.24s ease;
}

.nofcc-event-card__media:hover .nofcc-event-card__image,
.nofcc-event-card__media:focus .nofcc-event-card__image {
    transform: scale(1.025);
}

.nofcc-event-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    padding: clamp(22px, 2.8vw, 32px);
}

.nofcc-event-card__pill {
    display: inline-flex;
    align-items: center;
    margin: 0 0 14px;
    padding: 6px 10px;
    color: var(--color-red);
    background: var(--color-rose);
    border-radius: 2px;
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.nofcc-event-card__title {
    margin: 0;
    color: var(--color-charcoal);
    font-size: clamp(1.35rem, 1.8vw, 1.8rem);
    line-height: 1.1;
}

.nofcc-event-card__title a {
    color: inherit;
    text-decoration: none;
}

.nofcc-event-card__title a:hover,
.nofcc-event-card__title a:focus {
    color: var(--color-red);
}

.nofcc-event-card__schedule {
    display: grid;
    gap: 4px;
    margin-top: 16px;
    color: var(--color-charcoal);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.35;
}

.nofcc-event-card__schedule span {
    color: var(--color-muted);
    font-weight: 600;
}

.nofcc-event-card__excerpt {
    margin: 18px 0 0;
    color: var(--color-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.nofcc-event-card__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: auto;
    padding-top: 26px;
}

.nofcc-events-empty {
    max-width: 760px;
    padding: clamp(24px, 3vw, 34px);
    color: var(--color-charcoal);
    background: var(--color-cream);
    border: 1px solid var(--color-border);
    border-left: 4px solid var(--color-red);
    box-shadow: 0 18px 46px rgba(12, 24, 38, 0.045);
}

.nofcc-events-empty p {
    max-width: 62ch;
    margin: 0;
    color: var(--color-muted);
    font-size: clamp(1.02rem, 1.1vw, 1.12rem);
    line-height: 1.6;
}

.nofcc-events-empty__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 24px;
}

.single-tribe_events .site-main,
.single-tribe_events .tribe-events-pg-template,
.tribe_events-template-default .tribe-events-pg-template {
    background: var(--color-warm-white);
}

.single-tribe_events .tribe-events-single,
.tribe_events-template-default .tribe-events-single {
    width: 100%;
    max-width: var(--container);
    margin: 0 auto;
    padding: 0 0 clamp(46px, 6vw, 76px);
}

.single-tribe_events .tribe-events-back {
    margin-bottom: clamp(16px, 2vw, 24px);
}

.single-tribe_events .nofcc-event-hero {
    display: grid;
    gap: clamp(24px, 3.5vw, 44px);
    align-items: stretch;
    margin: 0 0 clamp(10px, 1.5vw, 18px);
    padding: clamp(22px, 3vw, 38px);
    background: var(--color-cream);
    box-shadow: 0 22px 70px rgba(12, 24, 38, 0.07);
}

.single-tribe_events .nofcc-event-single--has-image .nofcc-event-hero {
    grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.9fr);
    background: var(--color-white);
}

.single-tribe_events .nofcc-event-single--no-image .nofcc-event-hero {
    background:
        radial-gradient(circle at 18% 20%, rgba(239, 35, 60, 0.08), transparent 32%),
        radial-gradient(circle at 86% 72%, rgba(246, 196, 83, 0.18), transparent 36%),
        var(--color-cream);
}

.single-tribe_events .nofcc-event-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
}

.single-tribe_events .nofcc-event-hero__eyebrow {
    margin: 0 0 16px;
    color: var(--color-red);
}

.single-tribe_events .tribe-events-single-event-title {
    max-width: 820px;
    margin: 0 0 18px;
    color: var(--color-charcoal);
    font-family: var(--font-heading);
    font-size: clamp(2.35rem, 4vw, 4.5rem);
    line-height: 1.08;
    font-weight: 600;
    letter-spacing: 0;
}

.single-tribe_events .tribe-events-schedule {
    margin: 0 0 clamp(30px, 4vw, 48px);
    padding: 0 0 clamp(26px, 3vw, 38px);
    border-bottom: 1px solid var(--color-border);
}

.single-tribe_events .tribe-events-schedule h2,
.single-tribe_events .tribe-events-schedule .tribe-events-cost {
    color: var(--color-muted);
    font-family: var(--font-body);
    font-size: clamp(1.08rem, 1.5vw, 1.35rem);
    line-height: 1.5;
}

.single-tribe_events .nofcc-event-hero__schedule {
    margin: 0;
    padding: 0;
    border-bottom: 0;
}

.single-tribe_events .nofcc-event-hero__schedule h2,
.single-tribe_events .nofcc-event-hero__schedule .tribe-events-cost {
    color: var(--color-muted);
    font-size: clamp(1.02rem, 1.35vw, 1.24rem);
    font-weight: 600;
}

.single-tribe_events .nofcc-event-hero__media {
    min-height: clamp(260px, 30vw, 410px);
    margin: 0;
    overflow: hidden;
    background: var(--color-light);
}

.single-tribe_events .nofcc-event-hero__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single-tribe_events .tribe-events-event-image {
    margin: 0 0 clamp(34px, 4vw, 52px);
    overflow: hidden;
    box-shadow: 0 20px 54px rgba(12, 24, 38, 0.08);
}

.single-tribe_events .tribe-events-event-image img {
    display: block;
    width: 100%;
    height: auto;
}

.single-tribe_events .tribe-events-content {
    max-width: min(100%, 820px);
    color: var(--color-charcoal);
}

.single-tribe_events .nofcc-event-single__body {
    display: block;
    max-width: min(100%, 900px);
    margin-bottom: 0;
}

.single-tribe_events .nofcc-event-single__body > * {
    max-width: 100%;
}

.single-tribe_events .tribe-events-single-event-description {
    max-width: min(100%, 820px);
    margin-bottom: clamp(10px, 1.4vw, 18px);
}

.single-tribe_events .tribe-events-content p,
.single-tribe_events .tribe-events-content li {
    font-size: clamp(1.05rem, 1.15vw, 1.18rem);
    line-height: 1.82;
}

/* Keep list markers hanging outside multi-line event content. */
.single-tribe_events .tribe-events-single-event-description ul,
.single-tribe_events .tribe-events-single-event-description ol {
    margin-inline-start: 0;
    padding-inline-start: 1.5em;
    list-style-position: outside;
}

.single-tribe_events .tribe-events-single-event-description ul > li,
.single-tribe_events .tribe-events-single-event-description ol > li {
    padding-inline-start: 0.25em;
    list-style-position: outside;
}

.single-tribe_events .nofcc-event-gallery-section {
    max-width: min(100%, 900px);
    margin-top: clamp(32px, 4vw, 56px);
    margin-bottom: clamp(40px, 5vw, 72px);
}

.single-tribe_events .nofcc-event-gallery-section__inner {
    width: 100%;
}

.single-tribe_events .nofcc-event-gallery-section__eyebrow {
    margin: 0 0 12px;
    color: var(--color-red);
}

.single-tribe_events .nofcc-event-gallery-section h3 {
    margin: 0 0 0.5rem;
    color: var(--color-charcoal);
    font-size: clamp(1.5rem, 2.2vw, 2.25rem);
    line-height: 1.12;
}

.single-tribe_events .nofcc-event-gallery-section__intro {
    max-width: 58ch;
    margin: 0 0 clamp(20px, 3vw, 32px);
    color: var(--color-muted);
    font-size: clamp(1rem, 1.1vw, 1.12rem);
    line-height: 1.65;
}

.single-tribe_events .nofcc-event-gallery-section__gallery {
    margin-bottom: clamp(32px, 4vw, 56px);
}

.single-tribe_events .nofcc-event-gallery-section__gallery :where(.foogallery, .foogallery-container, .fg-gallery) {
    margin-bottom: 0;
}

.single-tribe_events .tribe-events-single-section,
.single-tribe_events .tribe-events-event-meta {
    width: 100%;
    max-width: none;
    float: none;
    clear: both;
    box-sizing: border-box;
    margin: clamp(20px, 2.5vw, 32px) 0 0;
    padding: clamp(22px, 2.6vw, 32px);
    color: var(--color-charcoal);
    background: var(--color-cream);
    border: 1px solid var(--color-border);
    box-shadow: 0 18px 42px rgba(12, 24, 38, 0.045);
}

.single-tribe_events #tribe-events-content::before,
.single-tribe_events #tribe-events-content::after,
.single-tribe_events #tribe-events-footer::before,
.single-tribe_events #tribe-events-footer::after,
.single-tribe_events .tribe-events-single-section::before,
.single-tribe_events .tribe-events-single-section::after,
.single-tribe_events .tribe-events-event-meta::before,
.single-tribe_events .tribe-events-event-meta::after,
.single-tribe_events .tribe-events-meta-group::before,
.single-tribe_events .tribe-events-meta-group::after {
    display: none;
    content: none;
}

.single-tribe_events .tribe-events-single-section {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    gap: clamp(18px, 2.4vw, 30px);
}

.single-tribe_events .tribe-events-meta-group {
    width: 100%;
    max-width: none;
    float: none;
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.single-tribe_events .tribe-events-meta-group dl {
    display: grid;
    grid-template-columns: minmax(128px, 174px) minmax(0, 1fr);
    gap: 12px 24px;
    margin: 0;
}

.single-tribe_events .tribe-events-meta-list {
    display: grid;
    gap: 14px;
    margin: 0;
}

.single-tribe_events .tribe-events-meta-item {
    display: grid;
    grid-template-columns: minmax(110px, 0.35fr) minmax(0, 1fr);
    gap: 10px 18px;
    align-items: start;
}

.single-tribe_events .tribe-events-meta-group dt,
.single-tribe_events .tribe-events-meta-group dd {
    margin: 0;
}

.single-tribe_events .tribe-events-event-meta :where(dt, .tribe-events-single-section-title) {
    color: var(--color-charcoal);
    font-family: var(--font-heading);
}

.single-tribe_events .tribe-events-single-section-title {
    margin: 0 0 clamp(14px, 1.8vw, 20px);
    font-size: clamp(0.82rem, 1vw, 0.95rem);
    font-weight: 800;
    letter-spacing: 0.12em;
    line-height: 1.3;
    text-transform: uppercase;
}

.single-tribe_events .tribe-events-meta-label {
    color: var(--color-charcoal);
    font-weight: 800;
}

.single-tribe_events .tribe-events-event-meta dd,
.single-tribe_events .tribe-events-event-meta address,
.single-tribe_events .tribe-events-meta-value {
    color: var(--color-muted);
    font-size: clamp(1rem, 1.05vw, 1.12rem);
    line-height: 1.5;
}

.single-tribe_events :where(.tribe-events-event-categories, .tribe-events-event-tags) {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 0;
}

.single-tribe_events .tribe-events-event-categories a {
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 6px 11px;
    color: var(--color-red);
    background: var(--color-rose);
    border-radius: 2px;
    text-decoration: none;
    line-height: 1.2;
}

.single-tribe_events .tribe-events-event-categories a:hover,
.single-tribe_events .tribe-events-event-categories a:focus {
    color: var(--color-white);
    background: var(--color-red);
}

.single-tribe_events .tribe-events-single-event-description + .tribe-events,
.single-tribe_events .tribe-events-single-event-description + .tribe-events-cal-links,
.single-tribe_events .tribe-events-single-event-description + .tribe-events-c-subscribe-dropdown__container {
    margin-top: 0;
}

.single-tribe_events :where(.tribe-events-cal-links, .tribe-events-c-subscribe-dropdown__container) {
    margin-top: 0;
    margin-bottom: clamp(20px, 2.6vw, 32px);
}

.single-tribe_events #tribe-events-footer {
    margin: 0;
    padding: 0;
    border: 0;
}

.single-tribe_events #tribe-events-footer .tribe-events-sub-nav {
    margin: 0;
    border: 0;
}

.single-tribe_events #tribe-events-footer .tribe-events-sub-nav li {
    border: 0;
}

.nofcc-events-template__content .tribe-events-header:has(.tribe-events-header__title) {
    margin-bottom: clamp(14px, 2vw, 24px);
    padding: clamp(14px, 2vw, 22px);
    background:
        radial-gradient(circle at 18% 18%, rgba(239, 35, 60, 0.06), transparent 32%),
        radial-gradient(circle at 90% 76%, rgba(246, 196, 83, 0.14), transparent 34%),
        var(--color-cream);
    border: 1px solid var(--color-border);
    box-shadow: 0 18px 46px rgba(12, 24, 38, 0.045);
}

.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-header {
    margin-bottom: clamp(14px, 2vw, 24px);
    padding: clamp(14px, 2vw, 22px);
    background:
        radial-gradient(circle at 18% 18%, rgba(239, 35, 60, 0.06), transparent 32%),
        radial-gradient(circle at 90% 76%, rgba(246, 196, 83, 0.14), transparent 34%),
        var(--color-cream);
    border: 1px solid var(--color-border);
    box-shadow: 0 18px 46px rgba(12, 24, 38, 0.045);
}

.nofcc-events-template__content .tribe-events-header:has(.tribe-events-header__title) .tribe-events-header__title,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-header__title {
    margin-bottom: 6px;
}

.nofcc-events-template__content .tribe-events-header:has(.tribe-events-header__title) .tribe-events-header__title-text,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-header__title-text {
    margin: 0;
    color: var(--color-charcoal);
    font-family: var(--font-heading);
    font-size: clamp(2rem, 3.2vw, 3.75rem);
    line-height: 1.08;
    letter-spacing: 0;
}

.nofcc-events-template__content .tribe-events-header:has(.tribe-events-header__title) .tribe-events-c-breadcrumbs,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-c-breadcrumbs {
    margin: 0 0 clamp(10px, 1.6vw, 18px);
}

.nofcc-events-template__content .tribe-events-header:has(.tribe-events-header__title) .tribe-events-c-breadcrumbs__list,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-c-breadcrumbs__list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
}

.nofcc-events-template__content .tribe-events-header:has(.tribe-events-header__title) .tribe-events-c-breadcrumbs__list-item,
.nofcc-events-template__content .tribe-events-header:has(.tribe-events-header__title) .tribe-events-c-breadcrumbs__list-item-text,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-c-breadcrumbs__list-item,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-c-breadcrumbs__list-item-text {
    color: var(--color-muted);
    font-size: 0.95rem;
}

.nofcc-events-template__content .tribe-events-header:has(.tribe-events-header__title) .tribe-events-c-events-bar,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-c-events-bar {
    margin-top: clamp(10px, 1.6vw, 18px);
}

.nofcc-events-template__content .tribe-events-header:has(.tribe-events-header__title) .tribe-events-c-top-bar,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-c-top-bar {
    margin-top: clamp(10px, 1.6vw, 18px);
    padding-top: clamp(10px, 1.4vw, 16px);
    border-top: 1px solid rgba(31, 41, 55, 0.12);
}

.nofcc-events-template__content .tribe-events-calendar-list {
    display: grid;
    gap: clamp(12px, 1.8vw, 20px);
    margin-top: 0;
}

.nofcc-events-template__content .tribe-events-calendar-list__month-separator,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-calendar-list__month-separator {
    margin: clamp(6px, 1.2vw, 14px) 0 0;
}

.nofcc-events-template__content .tribe-events-calendar-list-nav,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-calendar-list-nav {
    margin-top: clamp(22px, 3vw, 36px);
    padding-top: clamp(16px, 2.4vw, 26px);
    border-top: 1px solid var(--color-border);
}

.nofcc-events-template__content .tribe-events-c-subscribe-dropdown__container,
.tax-tribe_events_cat .nofcc-events-template__content .tribe-events-c-subscribe-dropdown__container {
    margin-top: clamp(18px, 2.6vw, 30px);
}

@media (max-width: 1080px) {
    .nofcc-event-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .nofcc-events-template__content {
        width: min(100% - 32px, var(--container-wide));
        padding-top: clamp(20px, 6vw, 34px);
    }

    .nofcc-events-feed {
        padding: clamp(46px, 10vw, 68px) 0;
    }

    .nofcc-events-feed .container {
        width: min(100% - 32px, var(--container-wide));
    }

    .nofcc-event-card-grid {
        grid-template-columns: 1fr;
    }

    .nofcc-event-card__body,
    .nofcc-events-empty {
        padding: 22px 20px 26px;
    }

    .nofcc-event-card__actions,
    .nofcc-events-empty__actions {
        align-items: flex-start;
        flex-direction: column;
    }

    .nofcc-events-hero.hero--editorial {
        min-height: auto;
        padding-top: clamp(64px, 14vw, 88px);
        padding-bottom: clamp(64px, 12vw, 86px);
    }

    .nofcc-events-template__content :where(.tribe-events-calendar-list__event-row, .tribe-events-calendar-day__event) {
        padding: 18px 18px 22px;
    }

    .nofcc-events-template__content .tribe-events-calendar-list__event-row,
    .nofcc-events-template__content .tribe-events-calendar-list__event {
        grid-template-columns: 1fr;
    }

    .nofcc-events-template__content .tribe-events-calendar-list__event-date-tag,
    .nofcc-events-template__content .tribe-events-calendar-list__event-wrapper,
    .nofcc-events-template__content .tribe-events-calendar-list__event-details,
    .nofcc-events-template__content .tribe-events-calendar-list__event-featured-image-wrapper {
        grid-column: 1;
        grid-row: auto;
    }

    .single-tribe_events .tribe-events-single,
    .tribe_events-template-default .tribe-events-single {
        width: 100%;
        max-width: none;
        padding-top: 0;
    }

    .single-tribe_events main#tribe-events-pg-template.nofcc-events-template,
    .single-tribe_events .nofcc-events-template__content,
    .single-tribe_events section#tribe-events-pg-template {
        padding-top: 0;
    }

    .single-tribe_events .nofcc-events-template__content {
        width: min(100% - 32px, var(--container));
        max-width: 100%;
    }

    .single-tribe_events .nofcc-event-single__body {
        width: 100%;
        max-width: 100%;
    }

    .single-tribe_events .nofcc-event-gallery-section {
        width: 100%;
        max-width: 100%;
    }

    .single-tribe_events .nofcc-event-hero,
    .single-tribe_events .nofcc-event-single--has-image .nofcc-event-hero {
        grid-template-columns: 1fr;
        padding: 20px 18px 24px;
    }

    .single-tribe_events .nofcc-event-hero__media {
        min-height: clamp(210px, 58vw, 320px);
        order: -1;
    }

    .single-tribe_events .tribe-events-single-section,
    .single-tribe_events .tribe-events-event-meta {
        padding: 22px 20px 26px;
    }

    .single-tribe_events .nofcc-event-gallery-section {
        margin-top: clamp(26px, 7vw, 40px);
        margin-bottom: clamp(32px, 9vw, 52px);
    }

    .single-tribe_events .tribe-events-meta-item {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .single-tribe_events .tribe-events-meta-group dl {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .single-tribe_events .tribe-events-meta-group dd:not(:last-child) {
        margin-bottom: 12px;
    }

    .nofcc-events-template__content .tribe-events-header:has(.tribe-events-header__title),
    .tax-tribe_events_cat .nofcc-events-template__content .tribe-events-header {
        padding: 18px 18px 22px;
    }
}
