/*Version: 1.1.6.1773259058*/
/*
Theme Name: TextBook Child
Theme URI: https://wordpress.com/themes/textbook/
Template: textbook-areca-1
Author: Automattic
Author URI: https://wordpress.com/themes/
Description: TextBook is a theme for colleges, schools and organizations focused on education.
Tags: accessibility-ready,blog,custom-colors,custom-header,custom-menu,education,featured-images,full-width-template,news,one-column,right-sidebar,rtl-language-support,sticky-post,theme-options,threaded-comments,three-columns,translation-ready,two-columns
Version: 1.1.6.1773259057
Updated: 2026-03-11 19:57:37
*/

/* =========================================================
   1. GLOBAL BACKGROUND
   ========================================================= */
body {
  margin: 0;
  background-image: url("/wp-content/uploads/2025/06/bodega-bay2-2-scaled.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* =========================================================
   2. ARCHIVE HEADER LAYOUT
   ========================================================= */
.post-type-archive-tribe_events #primary {
  max-width: 1200px !important;
  margin: 0 auto !important;
  position: relative;
}

.post-type-archive-tribe_events #primary:before {
  content: "";
  display: block;
  background-color: rgba(34, 34, 34, 0.9) !important;
  width: 100% !important;
  height: 120px;
  border-radius: 0 !important;
  position: relative;
  z-index: 1;
  margin-bottom: 0 !important;
  pointer-events: none;
}

.post-type-archive-tribe_events #primary:after {
  content: "HOME \203A";
  position: absolute;
  top: 15px;
  left: 30px;
  color: #b5cded !important;
  font-family: "Open Sans", sans-serif;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.9px;
  text-transform: uppercase;
  z-index: 200;
  pointer-events: none;
  display: block !important;
}

.post-type-archive-tribe_events #main.site-main {
  z-index: 2 !important;
  opacity: 1 !important;
}

/* =========================================================
   NAV
   ========================================================= */
.menu-main-menu-container {
  width: 100% !important;
}

#header-menu.menu {
  width: 100% !important;
  justify-content: space-evenly !important;
}

#header-menu.menu li a,
#header-menu.menu li a:hover {
  font-size: 1.125rem !important;
}

@media (min-width: 768px) {
  .main-navigation.add-seperators > div > ul > li::before {
    display: none !important;
  }
  .main-navigation.add-seperators > div > ul {
    position: relative !important;
  }
  .main-navigation.add-seperators > div > ul::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    right: 0 !important;
    height: 1px !important;
    background-color: rgb(51, 51, 51) !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }
}

/* =========================================================
   2b. ARCHIVE ACCENT LINE AND TITLE
   ========================================================= */
.post-type-archive-tribe_events .site-content::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 67px !important;
  left: 27px !important;
  right: 27px !important;
  height: 1px !important;
  background-color: #004a87 !important;
  z-index: 100 !important;
  pointer-events: none !important;
}

.post-type-archive-tribe_events .site-content::after {
  content: "EVENTS" !important;
  display: block !important;
  position: absolute !important;
  top: 80px !important;
  left: 57px !important;
  color: #ffffff !important;
  font-family: "Playfair Display", "Times New Roman", Times, serif !important;
  font-size: 2rem !important;
  font-style: italic !important;
  font-weight: 400 !important;
  z-index: 100 !important;
  pointer-events: none !important;
}

/* =========================================================
   3. ARCHIVE CONTENT CONTAINER AND CONTROLS
   ========================================================= */
.post-type-archive-tribe_events .tribe-events-before-l-container,
.post-type-archive-tribe_events .tribe-events-pro-events-list__title,
.post-type-archive-tribe_events .tribe-events-calendar-list__header-title {
  display: none !important;
}

.post-type-archive-tribe_events .tribe-common-l-container {
  background: rgba(255,255,255,0.96) !important;
  padding: 30px 50px 50px 50px !important;
  border-radius: 0 0 14px 14px !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.14) !important;
  margin-top: -62px !important;
  position: relative;
  z-index: 10;
  max-width: 1200px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.post-type-archive-tribe_events .tribe-events-c-top-bar {
  margin-top: 10px !important;
  margin-bottom: 30px !important;
}

.post-type-archive-tribe_events .tribe-events-header {
  position: relative !important;
  z-index: 999 !important;
  margin-bottom: 0 !important;
}

.post-type-archive-tribe_events .tribe-events-c-events-bar {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  width: auto !important;
  z-index: 1000 !important;
  pointer-events: all !important;
}

.post-type-archive-tribe_events .tribe-events-c-events-bar * {
  pointer-events: all !important;
}

.post-type-archive-tribe_events .tribe-events-c-view-selector__button,
.post-type-archive-tribe_events .tribe-events-c-view-selector__button:focus,
.post-type-archive-tribe_events .tribe-events-c-view-selector__button:active {
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

.post-type-archive-tribe_events .site-content,
.post-type-archive-tribe_events .site-main {
  max-width: 1200px !important;
  width: 100% !important;
  margin: 0 auto !important;
  position: relative;
}

/* =========================================================
   3b. NAVIGATION AND DATE CONTROLS TYPOGRAPHY
   ========================================================= */
.tribe-events-c-top-bar__nav .tribe-common-c-btn-icon,
.tribe-events-c-top-bar__nav .tribe-common-c-btn-border-small,
.tribe-common-c-btn-border-small,
.tribe-events-c-top-bar__datepicker,
.tribe-events-c-top-bar__datepicker-desktop,
.tribe-events-c-top-bar__datepicker-mobile,
.tribe-events-c-top-bar__datepicker-separator,
.tribe-events-c-nav__today,
.tribe-events-c-nav__prev,
.tribe-events-c-nav__next,
.tribe-events-c-nav__title,
.tribe-events-c-nav__title-text,
.tribe-common-b2 {
  font-family: "Open Sans", sans-serif !important;
}

/* =========================================================
   3c. DATEPICKER UI STYLING
   ========================================================= */
.datepicker .datepicker-switch,
.datepicker .datepicker-switch:hover {
  color: #ffffff !important;
  font-family: "Open Sans", sans-serif !important;
}

.datepicker .prev,
.datepicker .next,
.datepicker .prev:hover,
.datepicker .next:hover {
  color: #ffffff !important;
  font-family: "Open Sans", sans-serif !important;
}

.datepicker td.active,
.datepicker td.active:hover,
.datepicker td.today,
.datepicker td.today:hover {
  background-color: #004a87 !important;
  background-image: none !important;
  color: #ffffff !important;
}

.datepicker th.dow,
.datepicker td.day {
  font-family: "Open Sans", sans-serif !important;
}

/* =========================================================
   4. EVENT LISTING ITEM LAYOUT
   ========================================================= */
.tribe-events-calendar-list__event-header {
  display: flex !important;
  flex-direction: column !important;
}

.tribe-events-calendar-list__event-datetime-wrapper {
  order: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  margin-bottom: 2px !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
  font-family: "Open Sans", sans-serif !important;
  color: #444444 !important;
}

.tribe-events-calendar-list__event-datetime {
  order: 1 !important;
  display: block !important;
  margin-bottom: 2px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.25rem !important;
}

.tribe-events-calendar-series-archive__container {
  display: none !important;
}

.tribe-events-calendar-series-archive__container svg,
.tribe-common-c-svgicon--series {
  display: none !important;
}

.tribe-events-calendar-series-archive__link {
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.25rem !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
  color: #004a87 !important;
  text-decoration: none !important;
  letter-spacing: normal !important;
  word-spacing: normal !important;
  pointer-events: auto !important;
  display: inline !important;
}

.tribe-events-calendar-series-archive__link:hover {
  text-decoration: underline !important;
}

.tribe-events-calendar-series-archive__link::after {
  content: ":" !important;
  font-weight: 700 !important;
  color: #222222 !important;
  font-size: 1.25rem !important;
  margin-left: -0.25em !important;
}

.tribe-events-calendar-list__event-title {
  order: 2 !important;
  display: block !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.25rem !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  margin-bottom: 4px !important;
  line-height: 1.3 !important;
}

.tribe-events-calendar-list__event-title-link,
.tribe-events-calendar-list__event-title-link:hover,
.tribe-events-calendar-list__event-title-link:focus {
  color: #222222 !important;
  text-decoration: none !important;
  font-family: "Open Sans", sans-serif !important;
}

.tribe-events-calendar-list__event-venue {
  order: 3 !important;
  display: block !important;
  margin-bottom: 8px !important;
  margin-top: 2px !important;
  font-size: 1.25rem !important;
  font-family: "Open Sans", sans-serif !important;
}

.tribe-events-calendar-list__event-venue::before {
  content: "Location: " !important;
  font-weight: 700 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.25rem !important;
  color: #222222 !important;
}

.tribe-events-calendar-list__event-date-tag-weekday {
  font-size: 1rem !important;
  color: #000000 !important;
  font-family: "Open Sans", sans-serif !important;
  text-transform: uppercase !important;
}

.tribe-events-calendar-list__event-date-tag-daynum {
  color: #000000 !important;
  font-family: "Open Sans", sans-serif !important;
}

.tribe-events-calendar-list__event-description {
  display: block !important;
  margin-bottom: 0 !important;
  font-family: "Open Sans", sans-serif !important;
}

.tribe-events-calendar-list__event-description p {
  font-family: "Open Sans", sans-serif !important;
}

.tribe-events-calendar-list__event-description p:last-of-type::after {
  content: "" !important;
}

.more-link {
  font-size: 0 !important;
  display: inline !important;
  text-decoration: none !important;
}

.more-link::before {
  content: "... " !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  color: #444444 !important;
  font-family: "Open Sans", sans-serif !important;
}

.more-link::after {
  content: "Continue reading >" !important;
  font-size: 1rem !important;
  color: #004a87 !important;
  font-family: "Open Sans", sans-serif !important;
  text-decoration: underline !important;
}

.more-link .screen-reader-text {
  display: none !important;
}

/* =========================================================
   5. TICKET AND CALL TO ACTION BUTTONS
   ========================================================= */
.tribe-events-c-small-cta {
  margin-top: 8px !important;
  display: flex !important;
  align-items: center !important;
  gap: 2px !important;
  flex-wrap: wrap !important;
}

.tribe-events-c-small-cta__link,
.tribe-events-c-small-cta .tribe-events-c-small-cta__link,
a.tribe-events-c-small-cta__link {
  font-size: 0.875rem !important;
  font-family: "Open Sans", sans-serif !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #ffffff !important;
  background-color: #339900 !important;
  border: 2px solid #339900 !important;
  border-radius: 3px !important;
  padding: 8px 18px !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin-right: 4px !important;
  transition: background-color 0.2s, color 0.2s !important;
}

.tribe-events-c-small-cta__link:hover {
  background-color: transparent !important;
  color: #339900 !important;
  text-decoration: none !important;
}

.tribe-events-c-small-cta__price,
.tribe-events-c-small-cta__stock {
  display: none;
}

/* =========================================================
   6. SITE-WIDE COLOR CONSISTENCY
   ========================================================= */
.tribe-events-c-subscribe-dropdown__button,
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button {
  border-color: #004a87 !important;
  color: #004a87 !important;
  background-color: transparent !important;
  transition: background-color 0.2s, color 0.2s !important;
}

.tribe-events-c-subscribe-dropdown__button:hover,
.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button:hover {
  background-color: #004a87 !important;
  color: #ffffff !important;
}

.tribe-events-c-subscribe-dropdown__button-text {
  color: inherit !important;
  font-family: "Open Sans", sans-serif !important;
}

.tribe-events-c-subscribe-dropdown__button svg,
.tribe-events-c-subscribe-dropdown__button-icon {
  color: inherit !important;
  fill: currentColor !important;
}

.tribe-event-featured-image__ribbon,
.tribe-events-calendar-list__event-date-tag--featured,
.tribe-events-pro-events-list__event--featured .tribe-events-calendar-list__event-date-tag {
  background-color: #004a87 !important;
  border-color: #004a87 !important;
}

.tribe-events-calendar-list__event a,
.tribe-common-anchor {
  color: #004a87 !important;
}

/* =========================================================
   7. ACCESSIBILITY AND RESPONSIVE GRID
   ========================================================= */
.tribe-events-calendar-list__event-description,
.tribe-common .tribe-common-b2 {
  font-size: 1.25rem !important;
  line-height: 1.6 !important;
  font-family: "Open Sans", sans-serif !important;
}

@media (min-width: 768px) {
  .tribe-events-calendar-list__event-wrapper {
    display: flex !important;
    flex-direction: row-reverse !important;
    justify-content: space-between !important;
    gap: 50px !important;
  }
  .tribe-events-calendar-list__event-featured-image-wrapper {
    width: 35% !important;
  }
}

/* =========================================================
   8. MISCELLANEOUS UTILITIES
   ========================================================= */
.dropcap {
  float: left;
  font-family: "Playfair Display", cursive !important;
  font-size: 5rem;
  line-height: 0.8;
  margin-right: 0.4em;
}

.btn-register {
  padding: 8px;
  border: 1px solid #000;
  background: #339900;
  color: #fff !important;
}

/* =========================================================
   FEATURED EVENT ACCENTS
   ========================================================= */
.tribe-events-calendar-list__event-row--featured {
  --tec-color-accent-primary: #339900 !important;
  border-left: none !important;
}

.tribe-events-calendar-list__event-datetime-featured-text {
  color: #339900 !important;
}

.tribe-events-calendar-list__event-datetime-featured-icon svg,
.tribe-events-calendar-list__event-datetime-featured-icon svg path {
  color: #339900 !important;
  fill: #339900 !important;
}

/* =========================================================
   9. SINGLE EVENT PAGE — LAYOUT & OVERRIDES
   Dark bar removed. TEC renders breadcrumb and title
   naturally in their default DOM position.
   ========================================================= */
.single-tribe_events #primary {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  position: relative !important;
}

.single-tribe_events .site-content,
.single-tribe_events .entry-content,
.single-tribe_events .tribe-events-single {
  padding-top: 0 !important;
  margin-top: 0 !important;
  overflow: visible !important;
}

/* Hide empty entry-header — no dark bar on event pages */
.single-tribe_events .entry-header,
.single-tribe_events .hentry .entry-header {
  display: none !important;
}

/* White content box */
.single-tribe_events .entry-content {
  position: relative !important;
  background: #ffffff !important;
  border-radius: 14px !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.14) !important;
  padding: 30px 50px 50px 50px !important;
  margin: 0 auto !important;
  width: 100% !important;
  max-width: 1200px !important;
  z-index: 10 !important;
}

/* Breadcrumb styling */
.single-tribe_events .tribe-events-back a {
  color: #004a87 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

/* Event title styling */
.single-tribe_events .tribe-events-single-event-title {
  color: #222222 !important;
  font-family: "Playfair Display", serif !important;
  font-size: 2rem !important;
  font-style: italic !important;
  font-weight: 300 !important;
}

.single-tribe_events .tribe-events-schedule {
  display: none !important;
}

.single-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__container {
  display: none !important;
}

.tribe-events-series-relationship-single-marker {
  display: none !important;
}

.single-tribe_events .tribe-events-event-image {
  max-width: 750px !important;
  margin: 0 auto 20px auto !important;
  background-color: #ffffff !important;
}

.single-tribe_events .tribe-events-event-image img.wp-post-image {
  max-width: 750px !important;
  width: 100% !important;
  height: auto !important;
  display: block !important;
  background-color: #ffffff !important;
}

.tribe-tickets__tickets-form {
  max-width: 100% !important;
}

.tribe-tickets__ticket-type-header__wrapper span.tribe-tickets__ticket-type-title__link {
  display: none;
}

.entry .entry-content .event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn,
.event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn {
  background-color: #339900 !important;
  color: #ffffff !important;
  border: 2px solid #339900 !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  margin-left: auto;
  white-space: nowrap;
  transition: background-color 0.2s, color 0.2s !important;
}

.entry .entry-content .event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn:hover,
.event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn:hover {
  background-color: transparent !important;
  color: #339900 !important;
}

.entry .entry-content .event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn:disabled,
.event-tickets .tribe-tickets__tickets-buy.tribe-common-c-btn:disabled {
  background-color: #339900;
  text-transform: uppercase;
  color: #fff;
  opacity: 1.0 !important;
  cursor: not-allowed;
}

.tribe-events-meta-group-organizer dd.tribe-organizer a,
li.tribe-organizer a[title] {
  pointer-events: none !important;
  cursor: default !important;
  text-decoration: none !important;
  color: #222222 !important;
}

.tribe-organizer-url,
li.tribe-events-meta-item span.tribe-organizer-url {
  display: none !important;
}

dd.tec-events-pro-series-meta-detail--link a,
li.tribe-venue a {
  pointer-events: none !important;
  text-decoration: none !important;
  color: unset !important;
  cursor: default !important;
}

.tribe-events-start-date abbr,
.tribe-events-abbr {
  cursor: default !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

.single-tribe_events #tribe-events-footer,
.single-tribe_events .tribe-events-after-html,
.single-tribe_events .tribe-events-single-section.tribe-events-event-meta.primary,
.single-tribe_events .tribe-block.tribe-block__venue {
  display: none !important;
}

/* =========================================================
   10. ARCHIVE & MISC UI
   ========================================================= */
.page .page,
.single .hentry:not(.post),
.error404 .not-found,
.search-no-results .not-found {
  border: 0 !important;
}

@media screen and (min-width: 50em) {
  .no-sidebar .site-main,
  .error404 .site-main,
  .search-no-results .site-main {
    margin: 0;
  }
}

.tribe-events-c-top-bar__today-button {
  color: #000000 !important;
  font-weight: bold !important;
  border-color: #000000 !important;
}

.tribe-events-c-top-bar__datepicker-button,
.tribe-events-c-top-bar__datepicker-container {
  display: none !important;
}

.tribe-events-c-top-bar__datepicker {
  pointer-events: none !important;
  cursor: default !important;
}

.tribe-events-calendar-month__header-column-title span[aria-hidden="true"] {
  display: none !important;
}

.tribe-events-calendar-month__header-column-title .screen-reader-text {
  position: static !important;
  width: auto !important;
  height: auto !important;
  clip: auto !important;
  clip-path: none !important;
  overflow: visible !important;
  white-space: normal !important;
  color: #fff;
}

.tribe-events-pro-summary__event-row--featured {
  display: block !important;
}

.single-tribe_events #tribe-events-footer {
  display: none !important;
}

/* =========================================================
   11. GUTENBERG BLOCK STYLES (ARECA)
   ========================================================= */
.wp-block-heading.is-style-ARECA-title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.8rem;
  font-weight: 700;
  color: #434343;
  line-height: 1.3;
  margin-bottom: 0.25em;
  text-transform: none !important;
}

.wp-block-heading.is-style-ARECA-subtitle {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 1.2rem;
  font-weight: 400;
  color: #434343;
  font-style: italic;
  line-height: 1.4;
  margin-bottom: 1em;
  text-transform: none !important;
}

.wp-block-heading.is-style-ARECA-section-header {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 1rem;
  font-weight: 400;
  font-style: normal !important;
  letter-spacing: 0.08em;
  color: #434343;
  margin-top: 1.5em;
  margin-bottom: 0.5em;
}

.wp-block-paragraph.is-style-ARECA-section-intro {
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.25rem;
  text-transform: none !important;
}

.wp-block-paragraph.is-style-ARECA-paragraph {
  color: #434343;
  font-family: 'Open Sans', sans-serif !important;
  font-weight: 300 !important;
  font-size: 1.25rem !important;
  line-height: 1.65 !important;
  text-transform: none !important;
}

/* =========================================================
   12. WIDGET STYLES
   ========================================================= */
.tribe-events-widget-events-list {
  background: #ffffff;
  padding: 15px;
  border-radius: 4px;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__header {
  padding: 10px 15px !important;
  background: #000;
  margin-bottom: 0;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__header-title {
  font-size: 1.2em;
  font-weight: bold;
  color: #ffffff !important;
  padding-bottom: 8px !important;
  margin-bottom: 12px !important;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__header-title.tribe-common-h6 {
  color: #ffffff !important;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-row {
  padding: 8px 0;
  border-bottom: 1px solid #dddddd;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-row--featured::before,
.tribe-events-widget-events-list .tribe-events-widget-events-list__event-row::before {
  display: none !important;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-datetime-featured-icon,
.tribe-events-widget-events-list .tribe-common-c-svgicon--featured {
  display: none !important;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-date-tag-month {
  font-size: 0.75em;
  text-transform: uppercase;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-date-tag-daynum {
  font-size: 1.4em;
  font-weight: bold;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-title {
  font-size: 1em;
  margin: 4px 0;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-title-link {
  color: #000000;
  text-decoration: none;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-title-link:hover {
  text-decoration: underline;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-datetime {
  font-size: 0.85em;
  color: #666666;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-row--featured {
  border-left: none !important;
  padding-left: 0 !important;
}

.tribe-events-widget-events-list .tribe-events-widget-events-list__event-row--featured::before,
.tribe-events-widget-events-list .tribe-events-widget-events-list__event-row--featured::after {
  display: none !important;
  border: none !important;
}

.tribe-events-widget-events-list__events {
  background: #ffffff !important;
  border-left: none !important;
  padding-left: 0 !important;
}

.tribe-events-widget-events-list .tribe-common-g-row {
  border-left: none !important;
  padding-left: 0 !important;
}

aside#secondary.widget-area {
  background: #ffffff !important;
  border: 1px solid #dddddd !important;
  overflow: hidden !important;
  margin: 0 !important;
}

.tribe-events-widget-events-list__event-row--featured,
.tribe-events-widget-events-list__event-row {
  background-color: #ffffff !important;
}

.tribe-common-g-row.tribe-events-widget-events-list__event-row--featured {
  background-color: #ffffff !important;
}

div.tribe-events-widget-events-list__events {
  background-color: #ffffff !important;
}

.tribe-events-widget .tribe-events-widget-events-list__event-date-tag {
  flex: none;
  position: relative !important;
  width: var(--tec-spacer-11) !important;
}

.tribe-common {
  --tec-color-accent-primary: #000000 !important;
  --tec-color-accent-primary-active: #000000 !important;
  --tec-color-accent-primary-background: #000000 !important;
  --tec-color-accent-primary-hover: #000000 !important;
  --tec-color-background-events: #ffffff !important;
  --tec-color-background-secondary: #ffffff !important;
}

.widget_areca_featured_events .widget-title {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 1.2em !important;
  font-weight: 600 !important;
  font-style: italic !important;
  color: #434343 !important;
  border-bottom: 1px solid #dddddd;
  padding-bottom: 10px;
  margin-bottom: 10px;
}

.widget_areca_featured_events .areca-featured-events-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.widget_areca_featured_events .areca-featured-events-list li {
  padding: 8px 0 !important;
  border-bottom: 1px solid #dddddd !important;
  line-height: 1.4 !important;
}

.widget_areca_featured_events .areca-featured-events-list li:last-child {
  border-bottom: none !important;
}

.widget_areca_featured_events .areca-featured-events-list li span {
  display: block !important;
  color: #333333 !important;
  margin-bottom: 3px !important;
}

/* li a styles moved to .areca-featured-title-link below */

aside#secondary.widget-area {
  overflow: visible !important;
  background: #ffffff !important;
  border: 1px solid #dddddd !important;
  border-radius: 4px !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

aside#secondary.widget-area {
  overflow: visible !important;
  background: #ffffff !important;
  border: 1px solid #dddddd !important;
  border-radius: 4px !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

/* Hide SERIES badge in sidebar widget */
.widget_areca_featured_events [style*="background:#333"],
.widget_areca_featured_events [style*="background: #333"],
.widget_areca_featured_events div[style*="min-width:36px"] {
  display: none !important;
}

/* =========================================================
   13. HIDE SIDEBAR
   ========================================================= */
.post-type-archive-tribe_events #secondary,
.single-tribe_events #secondary {
  display: none !important;
}

.post-type-archive-tribe_events #primary,
.post-type-archive-tribe_events .site-main,
.single-tribe_events #primary,
.single-tribe_events .site-main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

/* =========================================================
   EVENTS CALENDAR: Featured Events banner above calendar
   ========================================================= */
#areca-featured-banner {
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #ddd;
}
#areca-featured-banner .widget-title {
  font-family: 'Open Sans', sans-serif !important;
  font-size: 1.2em;
  font-weight: 600;
  font-style: italic;
  color: #434343;
  margin-bottom: 12px;
  border-bottom: 1px solid #dddddd;
  padding-bottom: 8px;
}
#areca-featured-banner .areca-featured-events-list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
#areca-featured-banner .areca-featured-events-list li {
  flex: 1 1 calc(25% - 16px);
  min-width: 180px;
  border: 1px solid #dddddd;
  border-radius: 4px;
  padding: 10px;
  background: #fff;
  box-sizing: border-box;
}
/* li a styles moved to .areca-featured-title-link below */
#areca-featured-banner .areca-featured-events-list li span strong,
#areca-featured-banner .areca-featured-events-list li strong {
  font-weight: 700 !important;
  color: #222222 !important;
}

/* Shared styles: banner on events page + widget on homepage and other pages */
#areca-featured-banner .areca-featured-events-list li span,
.widget_areca_featured_events .areca-featured-events-list li span,
aside#secondary .areca-featured-events-list li span {
  display: block !important;
  font-size: 1.05rem !important;
  color: #333333 !important;
  margin-top: 2px !important;
}

/* Sidebar title — slightly smaller than banner */
.widget_areca_featured_events .areca-featured-events-list li a.areca-featured-title-link,
aside#secondary .areca-featured-events-list li a.areca-featured-title-link {
  font-size: 1.05rem !important;
}

/* View Calendar link */
.areca-featured-view-calendar {
  display: block !important;
  margin-top: 10px !important;
  font-size: 1.05rem !important;
  font-family: 'Open Sans', sans-serif !important;
  color: #004a87 !important;
  text-decoration: none !important;
}
.areca-featured-view-calendar::after {
  content: " →" !important;
  color: #004a87 !important;
}
.areca-featured-view-calendar:hover {
  text-decoration: underline !important;
}
/* Title links — shared banner + widget */
.areca-featured-title-link,
#areca-featured-banner .areca-featured-events-list li a.areca-featured-title-link,
.widget_areca_featured_events .areca-featured-events-list li a.areca-featured-title-link,
aside#secondary .areca-featured-events-list li a.areca-featured-title-link {
  display: block !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.209rem !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-transform: uppercase !important;
  color: #339900 !important;
  text-decoration: none !important;
  line-height: 1.3 !important;
  margin-bottom: 2px !important;
}
.areca-featured-title-link:hover,
#areca-featured-banner .areca-featured-events-list li a.areca-featured-title-link:hover,
.widget_areca_featured_events .areca-featured-events-list li a.areca-featured-title-link:hover,
aside#secondary .areca-featured-events-list li a.areca-featured-title-link:hover {
  text-decoration: underline !important;
}

/* CTA buttons — shared banner + widget */
.areca-featured-btn,
#areca-featured-banner .areca-featured-btn,
.widget_areca_featured_events .areca-featured-btn,
aside#secondary .areca-featured-btn {
  display: inline-block !important;
  margin-top: 8px !important;
  padding: 8px 18px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  color: #ffffff !important;
  background-color: #339900 !important;
  border: 2px solid #339900 !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  transition: background-color 0.2s, color 0.2s !important;
}
.areca-featured-btn:hover,
#areca-featured-banner .areca-featured-btn:hover,
.widget_areca_featured_events .areca-featured-btn:hover,
aside#secondary .areca-featured-btn:hover {
  background-color: transparent !important;
  color: #339900 !important;
  text-decoration: none !important;
}

/* =========================================================
   14. SINGLE EVENT PAGE — Content header typography
   ========================================================= */
.ARECA-subtitle {
  font-family: "Open Sans", sans-serif !important;
  font-weight: 600 !important;
  font-style: italic !important;
  font-size: 20px !important;
}

.ARECA-title {
  font-size: 24px !important;
}

.ARECA-section-header {
  font-size: 22px !important;
}

/* =========================================================
   15. SINGLE EVENT PAGE — Bottom section cleanup
   ========================================================= */
.tribe-events-event-url.tribe-events-meta-value a {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none !important;
  cursor: default !important;
}

.tribe-organizer.tribe-events-meta-value a {
  color: inherit !important;
  text-decoration: none !important;
  pointer-events: none !important;
  cursor: default !important;
}

.tribe-organizer-url.tribe-events-meta-value,
.tribe-organizer-url-label {
  display: none !important;
}

.tribe-link-view-attendee {
  display: none !important;
}

.tribe-block.tribe-block__attendees {
  display: none !important;
}

.tribe-block.tribe-block__venue {
  display: none !important;
}

.tribe-tickets-attendees-list-optout--wrapper {
  display: none !important;
}

.tribe-tickets__ticket-type-header__wrapper {
  display: none !important;
}

.tribe-tickets__tickets-item-content-title {
  font-family: "Open Sans", sans-serif !important;
  font-weight: 600 !important;
  font-size: 22px !important;
}

form#tribe-tickets__tickets-form,
.tribe-tickets__tickets-form {
  border-bottom: none !important;
}

.ARECA-subtitle + hr {
  display: none !important;
}

/* =========================================================
   16. SINGLE EVENT PAGE — Details/Organizer meta section
   ========================================================= */
.tribe-organizer-tel-label,
.tribe-organizer-tel-label ~ .tribe-events-meta-value {
  display: none !important;
}

.tribe-organizer-email-label {
  display: none !important;
}

.tribe-events-single-section.tribe-events-event-meta.primary {
  display: flex !important;
  flex-wrap: wrap !important;
  float: none !important;
  width: 100% !important;
  margin-top: -60px !important;
}

.tribe-events-single-section.tribe-events-event-meta.primary > .tribe-events-single-section-title {
  flex: 0 0 100% !important;
  width: 100% !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  font-style: normal !important;
  margin-bottom: 16px !important;
  color: #000000 !important;
}

.tribe-events-meta-group-details,
.tribe-events-meta-group-organizer {
  flex: 1 !important;
  float: none !important;
  width: auto !important;
  display: block !important;
}

.tribe-events-meta-group-details ul,
.tribe-events-meta-group-organizer ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.tribe-events-meta-group-organizer .tribe-events-single-section-title {
  font-family: "Open Sans", sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  font-style: normal !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #000000 !important;
}

.tribe-events-meta-group-organizer .tribe-events-single-section-title::after {
  content: ":" !important;
}

.tribe-events-meta-group-organizer li {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

.tribe-events-meta-label,
.tec-events-pro-series-meta-detail--label {
  font-family: "Open Sans", sans-serif !important;
  font-size: 20px !important;
  color: #000000 !important;
}

.tribe-events-meta-value,
.tec-events-pro-series-meta-detail--link,
.tec-events-pro-series-meta-detail--link a {
  font-family: "Open Sans", sans-serif !important;
  font-size: 20px !important;
  color: #555555 !important;
}

/* =========================================================
   17. CUSTOM EVENT IMAGE
   ========================================================= */
.custom-event-image-right {
  float: right;
  width: 300px;
  margin-left: 20px;
}

/* =========================================================
   18. TEC Single Event tickets footer border
   ========================================================= */
#tribe-events-footer {
  border-top: none !important;
}

/* =========================================================
   19. MOBILE STYLES (max-width: 767px)
   ========================================================= */
@media (max-width: 767px) {

  .post-type-archive-tribe_events #primary::before {
    height: 88px !important;
    border-bottom: none !important;
    background-color: rgba(34,34,34,1) !important;
  }

  .post-type-archive-tribe_events #primary::after {
    top: 8px !important;
    left: 30px !important;
  }

  .post-type-archive-tribe_events .site-content::before {
    display: block !important;
    top: 60px !important;
    left: 10px !important;
    right: 10px !important;
    max-width: calc(100vw - 20px) !important;
    height: 2px !important;
    background-color: #004a87 !important;
  }

  .post-type-archive-tribe_events .site-content::after {
    top: 66px !important;
    left: 40px !important;
    font-size: 1.5rem !important;
  }

  .custom-event-image-right {
    display: block !important;
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 10px 0 !important;
    clear: both !important;
  }

  .custom-event-image-right img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .tribe-events-calendar-list__event-wrapper .tribe-events-calendar-list__event.tribe-common-g-row--gutters {
    margin-left: 0;
    width: 100%;
  }

  .tribe-events-calendar-list__event-wrapper {
    overflow: hidden;
  }

  .single-tribe_events .entry-content {
    padding: 20px 20px 40px 20px !important;
  }

  .tribe-events-meta-group-details,
  .tribe-events-meta-group-organizer {
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  .tribe-events-meta-label,
  .tec-events-pro-series-meta-detail--label,
  .tribe-events-meta-value,
  .tec-events-pro-series-meta-detail--link,
  .tec-events-pro-series-meta-detail--link a {
    font-size: 16px !important;
  }

  body.page-tribe-attendee-registration .tribe-tickets__registration-grid {
    display: flex !important;
    flex-direction: column !important;
  }

  body.page-tribe-attendee-registration .tribe-tickets__registration-content {
    order: 1 !important;
    width: 100% !important;
  }

  body.page-tribe-attendee-registration #areca-right-col-wrapper {
    order: 2 !important;
    width: 100% !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

/* =========================================================
   21. ATTENDEE REGISTRATION PAGE
   ========================================================= */

body.page-tribe-attendee-registration .hentry {
  overflow: hidden !important;
  padding-top: 0 !important;
  border-radius: 0 0 14px 14px !important;
  background: #ffffff !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.14) !important;
}

body.page-tribe-attendee-registration .entry-content {
  background-color: #ffffff !important;
}

body.page-tribe-attendee-registration .site-main {
  opacity: 1 !important;
}

body.page-tribe-attendee-registration #secondary,
body.page-tribe-attendee-registration .widget-area {
  display: none !important;
}

body.page-tribe-attendee-registration #primary,
body.page-tribe-attendee-registration .site-main,
body.page-tribe-attendee-registration .hentry {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

body.page-tribe-attendee-registration header.entry-header {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  background-color: rgba(34, 34, 34, 0.98) !important;
  height: 120px !important;
  min-height: 120px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
}

body.page-tribe-attendee-registration header.entry-header::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: #004a87 !important;
  z-index: 1 !important;
}

body.page-tribe-attendee-registration header.entry-header h1.entry-title {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 60px 0 30px !important;
  color: #ffffff !important;
  font-family: "Playfair Display", serif !important;
  font-size: 3.2rem !important;
  font-weight: 400 !important;
  font-style: italic !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

#areca-reg-close-btn {
  position: absolute !important;
  top: 50% !important;
  right: 20px !important;
  transform: translateY(-50%) !important;
  background: none !important;
  border: 2px solid rgba(255,255,255,0.5) !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  cursor: pointer !important;
  width: 36px !important;
  height: 36px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 10 !important;
}

#areca-reg-close-btn:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.8) !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration-page-title {
  display: none !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration-description {
  display: block !important;
  margin-bottom: 0.5em !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration {
  padding-top: 24px !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration-actions {
  margin-top: 0 !important;
}

body.page-tribe-attendee-registration .tribe-tickets__mini-cart {
  margin-top: 0 !important;
  grid-row: 1 !important;
  align-self: start !important;
  position: relative !important;
  top: auto !important;
  background-color: #ffffff !important;
}

body.page-tribe-attendee-registration a[title="Print This Post"],
body.page-tribe-attendee-registration a[title="Print This Page"] {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #004a87 !important;
  text-decoration: none !important;
}

body.page-tribe-attendee-registration a[title="Print This Post"]:hover,
body.page-tribe-attendee-registration a[title="Print This Page"]:hover {
  color: #339900 !important;
}

body.page-tribe-attendee-registration .entry-content > div:first-child {
  padding-top: 20px !important;
  padding-bottom: 8px !important;
  text-align: right !important;
}

body.page-tribe-attendee-registration .tribe-ticket__tickets-heading {
  display: none !important;
}

#areca-instruction-text {
  font-family: "Open Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  color: #000000 !important;
  margin: 12px 0 16px !important;
  line-height: 1.6 !important;
}

body.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-item-content-subtitle {
  display: none !important;
}

body.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-item-content-title {
  display: block !important;
  font-size: 16px !important;
  font-weight: bold !important;
  color: #000000 !important;
  padding: 6px 0 !important;
}

body.page-tribe-attendee-registration .tribe-tickets__mini-cart .tribe-tickets__tickets-item {
  box-shadow: none !important;
}

body.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-item {
  border: 1px solid rgb(213, 213, 213) !important;
  background-color: #ffffff !important;
}

body.page-tribe-attendee-registration .tribe-tickets__attendee-tickets-item:focus-within {
  border-left: 1px solid #004a87 !important;
}

body.page-tribe-attendee-registration .tribe-common .tribe-common-form-control-text__input:focus,
body.page-tribe-attendee-registration .tribe-common .tribe-tickets__form-field-input:focus {
  border-bottom-color: #004a87 !important;
  outline: none !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration-grid {
  border-top: none !important;
  padding-top: 0 !important;
  grid-template-rows: auto auto auto !important;
  align-items: start !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration-content {
  grid-row: 1 / span 3 !important;
  grid-column: 1 !important;
}

#areca-right-col-wrapper {
  grid-column: 2 !important;
  grid-row: 1 / span 3 !important;
  align-self: start !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

body.page-tribe-attendee-registration .tribe-tickets__tickets-footer-back-link {
  display: none !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration-footer {
  display: none !important;
}

#areca-submit-clone {
  display: block !important;
  width: 100% !important;
  padding: 12px !important;
  background-color: #222222 !important;
  color: #ffffff !important;
  border: none !important;
  cursor: pointer !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-radius: 2px !important;
  box-sizing: border-box !important;
}

#areca-submit-clone:hover {
  background-color: #339900 !important;
}

#areca-check-btn {
  display: block !important;
  width: 100% !important;
  padding: 12px !important;
  background-color: #ffffff !important;
  color: #004a87 !important;
  border: 2px solid #004a87 !important;
  cursor: pointer !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  border-radius: 2px !important;
  box-sizing: border-box !important;
}

#areca-check-btn:hover {
  background-color: #004a87 !important;
  color: #ffffff !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration-submit:hover,
body.page-tribe-attendee-registration .tribe-tickets__registration-submit:focus {
  background-color: #339900 !important;
  border-color: #339900 !important;
  color: #ffffff !important;
}

body.page-tribe-attendee-registration .tribe-tickets__form-field-label,
body.page-tribe-attendee-registration .tribe-field-label,
body.page-tribe-attendee-registration .tribe-tickets__registration label {
  font-family: "Open Sans", sans-serif !important;
  font-size: 16px !important;
  font-weight: 300 !important;
  color: #000000 !important;
}

body.page-tribe-attendee-registration .tribe-common-b3.tribe-tickets__form-field-description,
body.page-tribe-attendee-registration .tribe-tickets__form-field-description {
  font-family: "Open Sans", sans-serif !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  color: #000000 !important;
}

body.page-tribe-attendee-registration .tribe-common-form-control-text__input,
body.page-tribe-attendee-registration .tribe-tickets__registration select {
  color: rgb(20, 24, 39) !important;
  font-family: "Open Sans", sans-serif !important;
}

body.page-tribe-attendee-registration .tribe-tickets__registration input::placeholder {
  color: rgb(20, 24, 39) !important;
  opacity: 1 !important;
}

body.page-tribe-attendee-registration #tribe-tickets__notice__attendee-registration {
  display: none !important;
  margin-top: 8px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 14px !important;
}
body.page-tribe-attendee-registration #tribe-tickets__notice__attendee-registration.areca-notice-visible {
  display: block !important;
}

/* -------------------------------------------------------
   21b. ATTENDEE REGISTRATION — MOBILE OVERRIDES
   ------------------------------------------------------- */
@media (max-width: 767px) {
  body.page-tribe-attendee-registration header.entry-header h1.entry-title {
    font-size: 1.6rem !important;
    line-height: 1.2 !important;
    padding: 0 50px 0 20px !important;
  }
  body.page-tribe-attendee-registration .tribe-tickets__registration-grid {
    display: flex !important;
    flex-direction: column !important;
  }
  body.page-tribe-attendee-registration .tribe-tickets__registration-content {
    order: 1 !important;
    width: 100% !important;
  }
  body.page-tribe-attendee-registration #areca-right-col-wrapper {
    order: 2 !important;
    width: 100% !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

/* =========================================================
   22. TICKETS CHECKOUT PAGE
   ========================================================= */

body.page-id-3474 #secondary,
body.page-id-3474 .widget-area {
  display: none !important;
}

body.page-id-3474 #primary,
body.page-id-3474 .site-main,
body.page-id-3474 .hentry {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
}

body.page-id-3474 .tribe-tickets__commerce-checkout {
  margin: 0 auto !important;
}

body.page-id-3474 .entry-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding-top: 50px !important;
}

body.page-id-3474 .tribe-tickets__commerce-checkout-header-link-modify-attendees,
body.page-id-3474 .tribe-tickets__commerce-checkout-header-link-back-to-event {
  text-transform: uppercase !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 0.05em !important;
  color: #004a87 !important;
  border: 1px solid #004a87 !important;
  padding: 6px 14px !important;
  border-radius: 2px !important;
  text-decoration: none !important;
  display: inline-block !important;
  box-shadow: none !important;
}

body.page-id-3474 .tribe-tickets__commerce-checkout-header-link-modify-attendees:hover,
body.page-id-3474 .tribe-tickets__commerce-checkout-header-link-back-to-event:hover {
  background-color: #004a87 !important;
  color: #ffffff !important;
}

body.page-id-3474 .tribe-tickets__commerce-checkout-cart-item-details-button--more,
body.page-id-3474 .tribe-tickets__commerce-checkout-cart-item-details-button--less {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: none !important;
  padding: 0 !important;
}

body.page-id-3474 .tribe-tickets__commerce-checkout-cart-item-details-button--more::after,
body.page-id-3474 .tribe-tickets__commerce-checkout-cart-item-details-button--less::after {
  border: none !important;
  box-shadow: none !important;
}

body.page-id-3474 .tribe-tickets__commerce-checkout-cart-item-details-button--more:hover .tribe-tickets__commerce-checkout-cart-item-details-button-text,
body.page-id-3474 .tribe-tickets__commerce-checkout-cart-item-details-button--less:hover .tribe-tickets__commerce-checkout-cart-item-details-button-text {
  color: #004a87 !important;
}

body.page-id-3474 .tribe-tickets__commerce-checkout-cart-item-details-button-text {
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

body.page-id-3474 .tribe-tickets__commerce-checkout-cart-item-details-button-text .areca-arrow {
  font-size: 0.5em !important;
  vertical-align: middle !important;
  margin-left: 3px !important;
}

body.page-id-3474 .tribe-tickets__commerce-checkout-paypal-advanced-payments-form-submit-button {
  background-color: #339900 !important;
  border-color: #339900 !important;
  color: #ffffff !important;
}

body.page-id-3474 .tribe-tickets__commerce-checkout-paypal-advanced-payments-form-submit-button:hover {
  background-color: #2d8600 !important;
  border-color: #2d8600 !important;
}

body.page-id-3474 .hentry {
  position: relative !important;
}

body.page-id-3474 .entry-content > div:first-child {
  position: absolute !important;
  top: 84px !important;
  right: 20px !important;
}

@media (max-width: 767px) {
  body.page-id-3474 .tribe-tickets__commerce-checkout-header {
    flex-wrap: wrap !important;
    padding: 8px 12px !important;
    gap: 6px !important;
    align-items: center !important;
  }
  body.page-id-3474 .tribe-tickets__commerce-checkout-header-link-modify-attendees,
  body.page-id-3474 .tribe-tickets__commerce-checkout-header-link-back-to-event {
    order: 1 !important;
    font-size: 11px !important;
    padding: 4px 8px !important;
  }
  body.page-id-3474 .tribe-tickets__commerce-checkout-header-title {
    order: 2 !important;
    flex: 0 0 100% !important;
    font-size: 14px !important;
    margin-top: 12px !important;
  }
  body.page-id-3474 .tribe-tickets__commerce-checkout-cart {
    margin-top: 8px !important;
  }
}

/* =========================================================
   23. SITE TITLE AND DESCRIPTION
   ========================================================= */

.site-title,
.site-title a,
.site-title a:visited {
  text-shadow:
    1px 1px 3px rgba(0,0,0,0.9),
    0px 0px 8px rgba(0,0,0,0.8),
    2px 2px 6px rgba(0,0,0,0.7) !important;
  color: #ffffff !important;
}

.site-description {
  text-shadow:
    1px 1px 3px rgba(0,0,0,0.9),
    0px 0px 8px rgba(0,0,0,0.8),
    2px 2px 6px rgba(0,0,0,0.7) !important;
  color: #ffffff !important;
}

@media (max-width: 767px) {
  .site-title { font-size: 22px !important; }
  .site-description { font-size: 16px !important; }
}

/* =========================================================
   24. SINGLE EVENT PAGE — Details Callout Box
   ========================================================= */

.areca-event-callout-box {
  display: flex !important;
  flex-wrap: wrap;
  row-gap: 12px;
  column-gap: 24px;
  width: 100%;
  background: #ffffff;
  border: 1px solid #dddddd;
  border-radius: 6px;
  padding: 16px 24px;
  margin: 28px 0 28px 0;
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  box-sizing: border-box;
  float: none !important;
  position: static !important;
}

.areca-callout-title {
  flex: 0 0 100%;
  font-family: "Open Sans", sans-serif;
  font-size: 1.25rem;
  font-weight: 400;
  color: #222222;
  margin: 0 0 10px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #dddddd;
  font-style: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.areca-callout-row {
  display: flex;
  flex-direction: column;
  row-gap: 2px;
  font-size: 16px;
  font-style: normal;
  line-height: 1.4;
  min-width: 180px;
  flex: 1 1 180px;
}

.areca-callout-label {
  font-weight: 700;
  color: #555;
  font-style: normal;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.areca-callout-value {
  color: #222;
  font-style: normal;
  font-size: 16px;
}

.areca-maps-link {
  color: #004a87;
  font-size: 14px;
  text-decoration: underline;
}

.areca-callout-summary-text {
  flex: 0 0 100%;
  font-size: 15px;
  color: #444;
  margin-top: 4px;
  padding-top: 10px;
  border-top: 1px solid #dddddd;
  line-height: 1.6;
}

.areca-callout-more-link {
  flex: 0 0 100%;
  margin-top: 4px;
  font-size: 14px;
}

.areca-callout-more-link a {
  color: #004a87;
  text-decoration: none;
  font-weight: 600;
}

.areca-callout-more-link a:hover {
  text-decoration: underline;
}

.areca-callout-full {
  background: #ffffff;
  border: 1px solid #dddddd;
}

.areca-callout-rsvp-col {
    flex: 0 0 220px;
    min-width: 220px;
    border-left: 1px solid #dddddd;
    padding-left: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.areca-callout-rsvp-col {
    margin-left: auto;
}

.areca-callout-rsvp-col .tribe-tickets__rsvp-actions {
    width: 100% !important;
}

.areca-callout-rsvp-col .tribe-tickets__rsvp-actions-wrapper {
    width: 100% !important;
}

.areca-callout-rsvp-col #rsvp-now,
.areca-callout-rsvp-col .tribe-tickets__rsvp,
.areca-callout-rsvp-col .tribe-common.event-tickets {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.areca-callout-rsvp-col .tribe-tickets__rsvp-wrapper {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
}

.tribe-tickets__rsvp-details-wrapper {
  display: none !important;
}

#rsvp-now ~ #rsvp-now,
.tribe-block__rsvp + .tribe-block__rsvp {
  display: none !important;
}

.tribe-tickets__rsvp-actions-button-going {
  background-color: #339900 !important;
  color: #ffffff !important;
  border: none !important;
  border-radius: 2px !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  padding: 10px 20px !important;
  cursor: pointer !important;
  width: 100% !important;
  display: block !important;
}

.tribe-tickets__rsvp-actions-button-going:hover {
  background-color: #2d8600 !important;
}

.single-tribe_events .tribe-events-single-section.tribe-events-event-meta.primary,
.single-tribe_events .tribe-events-single-section.tribe-events-event-meta.secondary,
.single-tribe_events .tribe-events-event-meta {
  display: none !important;
}

@media (max-width: 767px) {
  .areca-event-callout-box {
    flex-direction: column;
    row-gap: 12px;
  }
  .areca-callout-rsvp-col {
    flex: 0 0 100%;
    border-left: none;
    border-top: 1px solid #dddddd;
    padding-left: 0;
    padding-top: 16px;
    margin-top: 8px;
  }
}

/* =========================================================
   25. ARECA EVENT PAGE — Block Styles
   ========================================================= */

.single-tribe_events .areca-event-content h1,
.single-tribe_events .areca-event-content h2,
.single-tribe_events .areca-event-content h3,
.single-tribe_events .areca-event-content h4,
.single-tribe_events .areca-event-content h5,
.single-tribe_events .areca-event-content h6,
.single-tribe_event_series .areca-event-content h1,
.single-tribe_event_series .areca-event-content h2,
.single-tribe_event_series .areca-event-content h3,
.single-tribe_event_series .areca-event-content h4,
.single-tribe_event_series .areca-event-content h5,
.single-tribe_event_series .areca-event-content h6 {
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  color: #222222;
  line-height: 1.3;
  margin-top: 1.25em;
  margin-bottom: 0.4em;
}

.single-tribe_events .areca-event-content h1,
.single-tribe_event_series .areca-event-content h1 { font-size: 2rem; }
.single-tribe_events .areca-event-content h2,
.single-tribe_event_series .areca-event-content h2 { font-size: 1.7rem; }
.single-tribe_events .areca-event-content h3,
.single-tribe_event_series .areca-event-content h3 { font-size: 1.4rem; }
.single-tribe_events .areca-event-content h4,
.single-tribe_event_series .areca-event-content h4 { font-size: 1.15rem; }
.single-tribe_events .areca-event-content h5,
.single-tribe_event_series .areca-event-content h5 { font-size: 1rem; }
.single-tribe_events .areca-event-content h6,
.single-tribe_event_series .areca-event-content h6 { font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; color: #666666; }

.single-tribe_events .wp-block-heading.is-style-areca-subtitle,
.single-tribe_event_series .wp-block-heading.is-style-areca-subtitle {
  font-family: "Playfair Display", serif;
  font-size: 1.5rem;
  font-weight: 400;
  font-style: italic;
  color: #444444;
  line-height: 1.4;
  margin-bottom: 0.75em;
  margin-top: 0.25em;
}

/* Section header — event pages: small, uppercase, blue */
.single-tribe_events .wp-block-heading.is-style-areca-section-header {
  font-family: "Open Sans", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #004a87;
  margin-top: 1.5em;
  margin-bottom: 0.4em;
}

/* Section header — series pages: larger, italic, dark, no float clear */
.single-tribe_event_series .wp-block-heading.is-style-areca-section-header {
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.5rem !important;
  font-weight: 400 !important;
  font-style: italic !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #222222 !important;
  margin-top: 1.2em !important;
  margin-bottom: 0.4em !important;
  clear: none !important;
}

.single-tribe_event_series .navigation.post-navigation,
.single-tribe_event_series nav.post-navigation,
.single-tribe_event_series .nav-links {
  display: none !important;
}

.single-tribe_events .wp-block-heading.is-style-areca-event-h2 { font-family: "Playfair Display", serif; font-size: 1.8rem; font-weight: 700; font-style: italic; color: #222222; line-height: 1.3; margin-bottom: 0.2em; margin-top: 0; }
.single-tribe_events .wp-block-heading.is-style-areca-event-h3 { font-family: "Open Sans", sans-serif; font-size: 1.2rem; font-weight: 400; font-style: italic; color: #444444; line-height: 1.4; margin-bottom: 1em; margin-top: 0; }
.single-tribe_events .wp-block-heading.is-style-areca-event-h4 { font-family: "Open Sans", sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: #004a87; margin-top: 1.5em; margin-bottom: 0.4em; }
.single-tribe_events .wp-block-heading.is-style-areca-event-h5 { font-family: "Open Sans", sans-serif; font-size: 0.95rem; font-weight: 700; color: #333333; margin-top: 1.2em; margin-bottom: 0.3em; }
.single-tribe_events .wp-block-heading.is-style-areca-event-h6 { font-family: "Open Sans", sans-serif; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #666666; margin-top: 1em; margin-bottom: 0.2em; }
.single-tribe_events .wp-block-paragraph.is-style-areca-event-intro { font-family: "Open Sans", sans-serif; font-size: 1.15rem; font-weight: 600; color: #222222; line-height: 1.6; margin-bottom: 0.75em; }
.single-tribe_events .wp-block-paragraph.is-style-areca-event-body { font-family: "Open Sans", sans-serif; font-size: 1rem; font-weight: 400; color: #444444; line-height: 1.7; margin-bottom: 1em; }

/* =========================================================
   26. EVENT EDITOR — Admin hide/show classes
   ========================================================= */

.areca-hide-virtual [data-type="tribe/event-virtual"] { display: none !important; }
.areca-hide-venue [data-type="tribe/event-venue"] { display: none !important; }
.areca-hide-tickets [data-type="tribe/tickets"] { display: none !important; }
.areca-hide-rsvp [data-type="tribe/rsvp"] { display: none !important; }

.wp-block[data-type="tribe/tickets"] ~ .wp-block[data-type="tribe/tickets"],
.wp-block[data-type="tribe/rsvp"] ~ .wp-block[data-type="tribe/rsvp"] {
  display: none !important;
}

/* =========================================================
   28. SERIES PAGE — Layout & Sidebar
   ========================================================= */

.single-tribe_event_series #secondary,
.single-tribe_event_series .widget-area {
  display: none !important;
}

.single-tribe_event_series #primary,
.single-tribe_event_series .site-main {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single-tribe_event_series .site-content,
.single-tribe_event_series .hentry {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.single-tribe_event_series .entry-header,
.single-tribe_event_series .hentry .entry-header {
  background-color: rgba(34, 34, 34, 0.98) !important;
  height: 120px !important;
  min-height: 120px !important;
  display: block !important;
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  margin-bottom: 0 !important;
  overflow: visible !important;
}

.single-tribe_event_series .entry-header::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 40px !important;
  left: 0 !important;
  right: 0 !important;
  height: 1px !important;
  background-color: #004a87 !important;
  z-index: 10 !important;
}

#areca-series-breadcrumb {
  position: absolute !important;
  top: 3px !important;
  left: 48px !important;
  z-index: 200 !important;
  margin: 0 !important;
  padding: 0 !important;
  pointer-events: auto !important;
}

#areca-series-breadcrumb a {
  color: #b5cded !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  letter-spacing: 0.05em !important;
  pointer-events: auto !important;
  position: relative !important;
  z-index: 200 !important;
}

#areca-series-breadcrumb a:hover {
  color: #ffffff !important;
}

.single-tribe_event_series .entry-title,
.single-tribe_event_series h1.entry-title,
.single-tribe_event_series .hentry .entry-title {
  position: absolute !important;
  top: 52px !important;
  bottom: auto !important;
  left: 30px !important;
  right: 30px !important;
  z-index: 100 !important;
  color: #ffffff !important;
  font-family: "Playfair Display", serif !important;
  font-size: 1.8rem !important;
  font-style: italic !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  margin: 0 !important;
  padding: 0 !important;
  word-break: normal !important;
  pointer-events: none !important;
}

.single-tribe_event_series .hentry .entry-title span {
  padding: 10px 27px 33.75px !important;
}

.single-tribe_event_series .entry-content {
  position: relative !important;
  background: #ffffff !important;
  border-radius: 0 0 14px 14px !important;
  box-shadow: 0 12px 32px rgba(0,0,0,0.14) !important;
  padding: 30px 50px 50px 50px !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  z-index: 10 !important;
  box-sizing: border-box !important;
}

.single-tribe_event_series .tribe-series__header,
.single-tribe_event_series .tribe-series__nav {
  display: none !important;
}

.single-tribe_event_series .tribe-events-view--summary,
.single-tribe_event_series .tribe-events-view {
  display: none !important;
}

@media (max-width: 767px) {
  .single-tribe_event_series .entry-content {
    padding: 20px 20px 40px 20px !important;
  }
  .single-tribe_event_series .entry-title,
  .single-tribe_event_series h1.entry-title {
    font-size: 1.4rem !important;
    top: 52px !important;
  }
}

/* =========================================================
   27. ARECA BIO SECTION
   ========================================================= */

.areca-bio-section {
  border-top: 1px solid #e8e8e8;
  margin-top: 2em;
  padding-top: 1.5em;
  overflow: hidden;
}

.areca-bio-section-heading {
  font-family: "Open Sans", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #004a87;
  margin-top: 0;
  margin-bottom: 1.25em;
}

.areca-bio-block {
  margin-bottom: 2em;
  overflow: hidden;
}

.areca-bio-block:last-child {
  margin-bottom: 0;
}

.areca-bio-block img {
  width: 200px;
  height: auto;
  float: left;
  margin-right: 1.5em;
  margin-bottom: 0.5em;
  display: block;
}

.areca-bio-block p {
  margin: 0 0 0.5em 0;
}

@media (max-width: 600px) {
  .areca-bio-block img {
    float: none;
    width: 100%;
    max-width: 200px;
    margin: 0 auto 1em auto;
  }
}

.single-tribe_event_series .areca-series-featured-image {
  max-width: 750px;
  margin: 0 auto 24px auto;
}

.single-tribe_event_series .areca-series-featured-image img {
  width: 100%;
  height: auto;
  display: block;
}

.is-style-areca-series-image-notice,
p.areca-series-image-notice {
  background: #f0f5fb;
  border: 1px dashed #004a87;
  border-radius: 4px;
  color: #004a87 !important;
  font-size: 0.85rem !important;
  padding: 12px 16px;
  text-align: center;
}

.single-tribe_event_series .areca-series-image-notice {
  display: none !important;
}

.single-tribe_event_series .tribe-events-event-image,
.single-tribe_event_series .entry-header .tribe-events-event-image {
  display: none !important;
}

.single-tribe_event_series .post-thumbnail {
  display: none !important;
}

.single-tribe_event_series .areca-series-image-notice,
.single-tribe_event_series p.areca-series-image-notice {
  display: none !important;
}

/* =========================================================
   SINGLE EVENT PAGE — Breadcrumb and title in natural flow
   No positioning. Renders inside white content box.
   ========================================================= */

.single-tribe_events .site-main {
  opacity: 1 !important;
}

.single-tribe_events .entry-content {
  background: #ffffff !important;
  border-top: 8px solid rgba(34, 34, 34, 0.98) !important;
}

.single-tribe_events .entry-content > div:first-child {
  padding-bottom: 0 !important;
  text-align: right !important;
}

.single-tribe_events .tribe-events-back {
  display: block !important;
  margin-bottom: 8px !important;
}

.single-tribe_events .tribe-events-back a {
  color: #004a87 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.single-tribe_events .tribe-events-back a:hover {
  text-decoration: underline !important;
}

.single-tribe_events .tribe-events-single-event-title {
  display: block !important;
  position: static !important;
  color: #222222 !important;
  font-family: "Playfair Display", serif !important;
  font-size: 2rem !important;
  font-style: italic !important;
  font-weight: 300 !important;
  margin: 0 0 24px 0 !important;
  line-height: 1.2 !important;
}

.single-tribe_events .entry-content {
  border-radius: 0 0 14px 14px !important;
  border: 1px solid #004a87 !important;
  overflow: hidden !important;
}
/* =========================================================
   END — SINGLE EVENT PAGE — Breadcrumb and title in natural flow
   ========================================================= */
   
   /* =========================================================
   SINGLE SERIES PAGE — Natural flow title and breadcrumb
   ========================================================= */

/* Hide dark bar */
.single-tribe_event_series .entry-header,
.single-tribe_event_series .hentry .entry-header {
  display: none !important;
}

/* White content box — same as event page */
.single-tribe_event_series .entry-content {
  border-radius: 0 0 14px 14px !important;
  border: 1px solid #004a87 !important;
  background: #ffffff !important;
}

/* Injected breadcrumb */
#areca-series-breadcrumb-injected {
  display: block !important;
  margin-bottom: 8px !important;
}

#areca-series-breadcrumb-injected a {
  color: #004a87 !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

#areca-series-breadcrumb-injected a:hover {
  text-decoration: underline !important;
}

/* Injected title */
#areca-series-title-injected {
  display: block !important;
  position: static !important;
  color: #222222 !important;
  font-family: "Playfair Display", serif !important;
  font-size: 2rem !important;
  font-style: italic !important;
  font-weight: 300 !important;
  margin: 0 0 24px 0 !important;
  line-height: 1.2 !important;
}

/* =========================================================
   END — SINGLE SERIES PAGE — Natural flow title and breadcrumb
   ========================================================= */
   
   /* =========================================================
   PAGE TYPE LABELS — Events and Event Series
   ========================================================= */
#areca-events-label,
#areca-series-label {
  font-family: "Open Sans", sans-serif !important;
  font-size: 3rem !important;
  font-weight: 700 !important;
  color: #222222 !important;
  margin: 0 0 4px 0 !important;
  line-height: 1.1 !important;
}
#areca-events-label,
#areca-series-label,
.single-tribe_events .tribe-events-single-event-title,
#areca-series-title-injected {
  text-align: center !important;
}
#areca-events-label,
#areca-series-label {
  text-align: center !important;
  font-style: italic !important;
}
/* =========================================================
   END — PAGE TYPE LABELS
   ========================================================= */
   /* =========================================================
   PAGE TYPE AND EVENT TITLE FONT SWAP
   ========================================================= */

/* EVENTS and EVENT SERIES — Playfair Display, centered, italic */
#areca-events-label,
#areca-series-label {
  font-family: "Playfair Display", serif !important;
  font-style: italic !important;
  text-align: center !important;
}

/* Specific event title — Open Sans, left aligned */
.single-tribe_events .tribe-events-single-event-title {
  font-family: "Open Sans", sans-serif !important;
  font-style: normal !important;
  text-align: left !important;
}

/* Specific series title — Open Sans, left aligned */
#areca-series-title-injected {
  font-family: "Open Sans", sans-serif !important;
  font-style: normal !important;
  text-align: left !important;
}

/* =========================================================
   END — PAGE TYPE AND EVENT TITLE FONT SWAP
   ========================================================= */
   #areca-series-title-injected {
  color: #004a87 !important;
  font-style: italic !important;
}
#areca-series-title-injected {
  color: #222222 !important;
}
/* =========================================================
   TICKETS FLOAT RIGHT — Event and Series pages
   Floats ticket box right so content wraps around it,
   same pattern as bio photos.
   ========================================================= */

.single-tribe_events .event-tickets,
.single-tribe_event_series .event-tickets {
  float: right !important;
  width: 32% !important;
  margin: 0 0 24px 24px !important;
  clear: none !important;
}

/* Mobile — full width, no float */
@media (max-width: 767px) {
  .single-tribe_events .event-tickets,
  .single-tribe_event_series .event-tickets {
    float: none !important;
    width: 100% !important;
    margin: 0 0 24px 0 !important;
  }
}

/* =========================================================
   END — TICKETS FLOAT RIGHT
   ========================================================= */

   /* =========================================================
   TICKETS BOX — Bottom border and HR fixes
   ========================================================= */

.single-tribe_events .tribe-tickets__tickets-form,
.single-tribe_event_series .tribe-tickets__tickets-form {
  border: none !important;
  border-radius: 0 !important;
}

.single-tribe_events .event-tickets hr,
.single-tribe_event_series .event-tickets hr {
  display: none !important;
}

/* =========================================================
   END — TICKETS BOX — Bottom border and HR fixes
   ========================================================= */
/* =========================================================
   TICKETS BOX — Bottom border fix
   ========================================================= */

.single-tribe_events .tribe-common.event-tickets,
.single-tribe_event_series .tribe-common.event-tickets {
  border: 1px solid #dddddd !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.single-tribe_events .tribe-tickets__tickets-footer,
.single-tribe_event_series .tribe-tickets__tickets-footer {
  border-bottom: none !important;
}

.single-tribe_events .tribe-tickets__tickets-wrapper,
.single-tribe_event_series .tribe-tickets__tickets-wrapper {
  border-bottom: none !important;
}
.single-tribe_events .tribe-tickets__tickets-title,
.single-tribe_event_series .tribe-tickets__tickets-title {
  border-top: none !important;
}

/* =========================================================
   END — TICKETS BOX — Bottom border fix
   ========================================================= */
/* =========================================================
   TICKETS BOX — Single clean border all the way around
   ========================================================= */
.single-tribe_events .tribe-common.event-tickets,
.single-tribe_event_series .tribe-common.event-tickets {
  border: 1px solid #dddddd !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.single-tribe_events .tribe-tickets__tickets-footer,
.single-tribe_event_series .tribe-tickets__tickets-footer {
  border: none !important;
}

.single-tribe_events .tribe-tickets__tickets-wrapper,
.single-tribe_event_series .tribe-tickets__tickets-wrapper {
  border: none !important;
}

.single-tribe_events .tribe-tickets__tickets-title,
.single-tribe_event_series .tribe-tickets__tickets-title {
  border: none !important;
}
/* =========================================================
   END — TICKETS BOX — Single clean border
   ========================================================= */

/* =========================================================
   TICKETS — Full-width ticket description
   ========================================================= */
.single-tribe_events .tribe-tickets__tickets-item-details-content,
.single-tribe_event_series .tribe-tickets__tickets-item-details-content {
  width: 100% !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
}
/* =========================================================
   END — TICKETS — Full-width ticket description
   ========================================================= */

/* =========================================================
   SERIES PAGE — Subtitle (.areca-series-subtitle)
   ========================================================= */
.single-tribe_event_series .areca-series-subtitle {
  font-family: "Open Sans", sans-serif !important;
  font-size: 1.5rem !important;
  font-style: italic !important;
  font-weight: 400 !important;
  color: #444444 !important;
  text-align: left !important;
  margin: 0 0 16px 0 !important;
  line-height: 1.4 !important;
  text-transform: none !important;
}
/* =========================================================
   END — SERIES PAGE — Subtitle
   ========================================================= */

/* =========================================================
   TICKETS — Hide duplicate widget
   ========================================================= */
.single-tribe_events .tribe-tickets__tickets-wrapper + .tribe-tickets__tickets-wrapper,
.single-tribe_event_series .tribe-tickets__tickets-wrapper + .tribe-tickets__tickets-wrapper {
  display: none !important;
}
/* =========================================================
   END — TICKETS — Hide duplicate widget
   ========================================================= */

/* =========================================================
   TICKETS — Full-width description via grid
   ========================================================= */
.tribe-tickets__tickets-item-details-content {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;
}
/* =========================================================
   END — TICKETS — Full-width description via grid
   ========================================================= */

/* =========================================================
   TICKETS — Heading typography
   ========================================================= */

.single-tribe_events .tribe-tickets__tickets-title,
.single-tribe_event_series .tribe-tickets__tickets-title {
  font-family: "Open Sans", sans-serif !important;
  font-size: 2.0rem !important;
  font-weight: 400 !important;
  font-style: italic !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

.single-tribe_events .tribe-tickets__tickets-form__series-pass-header,
.single-tribe_event_series .tribe-tickets__tickets-form__series-pass-header {
  display: none !important;
}

/* =========================================================
   END — TICKETS — Heading typography
   ========================================================= */

/* =========================================================
   TICKETS — Ticket item layout
   Row 1: title full width
   Row 2: price+availability | quantity label+buttons | total
   Row 3: description full width
   ========================================================= */

.single-tribe_events .tribe-tickets__tickets-item,
.single-tribe_event_series .tribe-tickets__tickets-item {
  display: grid !important;
  grid-template-columns: auto auto 1fr !important;
  grid-template-rows: auto auto auto !important;
  gap: 8px 16px !important;
  align-items: start !important;
}

/* Title — full width, row 1 */
.single-tribe_events .tribe-tickets__tickets-item-content-title-container,
.single-tribe_event_series .tribe-tickets__tickets-item-content-title-container {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
}

/* Price/availability — row 2, col 1 */
.single-tribe_events .tribe-tickets__tickets-item-extra,
.single-tribe_event_series .tribe-tickets__tickets-item-extra {
  grid-column: 1 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 2px !important;
}

/* Price amount — larger */
.single-tribe_events .tribe-tickets__tickets-item-extra-price,
.single-tribe_event_series .tribe-tickets__tickets-item-extra-price {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: #222222 !important;
}

/* Availability count — larger */
.single-tribe_events .tribe-tickets__tickets-item-extra-available,
.single-tribe_event_series .tribe-tickets__tickets-item-extra-available {
  font-size: 1rem !important;
  color: #555555 !important;
}

/* Quantity column — row 2, col 2
   Wrap label above buttons using a block wrapper approach */
.single-tribe_events .tribe-tickets__tickets-item-quantity,
.single-tribe_event_series .tribe-tickets__tickets-item-quantity {
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  font-size: 1rem !important;
  position: relative !important;
}

/* "Quantity" label via ::before — sits above on its own line via 100% width */
.single-tribe_events .tribe-tickets__tickets-item-quantity::before,
.single-tribe_event_series .tribe-tickets__tickets-item-quantity::before {
  content: "Quantity" !important;
  display: block !important;
  width: 100% !important;
  font-family: "Open Sans", sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #555555 !important;
  margin-bottom: 4px !important;
}

/* Buttons and number stay on same row */
.single-tribe_events .tribe-tickets__tickets-item-quantity-remove,
.single-tribe_event_series .tribe-tickets__tickets-item-quantity-remove,
.single-tribe_events .tribe-tickets__tickets-item-quantity-number,
.single-tribe_event_series .tribe-tickets__tickets-item-quantity-number,
.single-tribe_events .tribe-tickets__tickets-item-quantity-add,
.single-tribe_event_series .tribe-tickets__tickets-item-quantity-add {
  display: flex !important;
  align-items: center !important;
}

/* Hide duplicate footer quantity */
.single-tribe_events .tribe-tickets__tickets-footer-quantity,
.single-tribe_event_series .tribe-tickets__tickets-footer-quantity {
  display: none !important;
}

/* Footer — total only, right-aligned */
.single-tribe_events .tribe-tickets__tickets-footer,
.single-tribe_event_series .tribe-tickets__tickets-footer {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  padding: 8px 0 0 0 !important;
  border: none !important;
}

.single-tribe_events .tribe-tickets__tickets-footer-total,
.single-tribe_event_series .tribe-tickets__tickets-footer-total {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  font-family: "Open Sans", sans-serif !important;
}

.single-tribe_events .tribe-tickets__tickets-footer-total-label,
.single-tribe_event_series .tribe-tickets__tickets-footer-total-label {
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  color: #555555 !important;
}

.single-tribe_events .tribe-tickets__tickets-footer-total-wrap,
.single-tribe_event_series .tribe-tickets__tickets-footer-total-wrap {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: #222222 !important;
}

/* Description — full width, row 3 */
.single-tribe_events .tribe-tickets__tickets-item-details-content,
.single-tribe_event_series .tribe-tickets__tickets-item-details-content {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  font-size: 0.9rem !important;
  color: #555555 !important;
}

/* =========================================================
   END — TICKETS — Ticket item layout
   ========================================================= */
/* =========================================================
   TICKETS — GET TICKETS button consistent size both states
   ========================================================= */
.single-tribe_events .tribe-tickets__tickets-buy,
.single-tribe_event_series .tribe-tickets__tickets-buy,
.single-tribe_events .tribe-tickets__tickets-buy.tribe-common-c-btn,
.single-tribe_event_series .tribe-tickets__tickets-buy.tribe-common-c-btn {
  font-size: 0.875rem !important;
  padding: 8px 18px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  min-width: 120px !important;
}
/* =========================================================
   END — TICKETS — GET TICKETS button consistent size
   ========================================================= */   
/* =========================================================
   FIX — Search icon SVG runaway size
   ========================================================= */
.search-toggle svg#search-open,
.search-toggle svg {
  width: 24px !important;
  height: 24px !important;
  max-width: 24px !important;
  max-height: 24px !important;
}

.search-toggle {
  width: auto !important;
  height: auto !important;
}   

/* =========================================================
   TICKETS BOX — Reduce padding on tickets form
   ========================================================= */
.single-tribe_events .tribe-tickets__tickets-form,
.single-tribe_event_series .tribe-tickets__tickets-form {
  padding: 0px !important;
  margin-left: 20px !important;
  margin-right: 40px !important;
  margin-top: 10px !important;
  margin-bottom: 20px !important;
}
.single-tribe_event_series .tribe-common.event-tickets .tribe-tickets__tickets-form {
  padding-right: 30px !important;
}
.single-tribe_events .tribe-common.event-tickets,
.single-tribe_event_series .tribe-common.event-tickets {
  padding: 0 16px !important;
}
/* =========================================================
   SERIES CALLOUT BOX — Get Tickets Button
   ========================================================= */
.areca-callout-tickets-btn {
    margin-top: 16px;
}
.areca-get-tickets-btn {
    display: inline-block;
    background-color: #339900;
    color: #ffffff !important;
    padding: 8px 18px;
    border-radius: 3px;
    border: 2px solid #339900;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    font-size: 0.875rem;
    text-decoration: none !important;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    transition: background-color 0.2s, color 0.2s;
}
.areca-get-tickets-btn:hover {
    background-color: transparent;
    color: #339900 !important;
}

/* =========================================================
   PROXY EVENT PAGE — Hide date
   ========================================================= */
.areca-series-proxy-event .tribe-events-schedule,
.areca-series-proxy-event .tribe-event-schedule-details,
.areca-series-proxy-event h2.tribe-events-schedule,
.areca-series-proxy-event .tribe-events-start-datetime,
.areca-series-proxy-event .tribe-event-date-start,
.areca-series-proxy-event .tribe-events-abbr {
    display: none !important;
}

/* =========================================================
   PROXY EVENT PAGE — Tickets box padding + double-line fix
   ========================================================= */
.areca-series-proxy-event .tribe-common.event-tickets {
    padding-right: 48px !important;
}

.areca-series-proxy-event .tec-tickets-plus-purchase-rules-messages__container {
    display: none !important;
    border: none !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.areca-series-proxy-event .tribe-tickets__tickets-footer {
    border-top: none !important;
}

.areca-series-proxy-event .event-tickets hr,
.areca-series-proxy-event .tribe-tickets hr {
    display: none !important;
}

/* =========================================================
   WPFORMS — Reserve Your Spot submit button
   ========================================================= */
.wpforms-submit,
button.wpforms-submit {
    background-color: #339900 !important;
    color: #ffffff !important;
    border: 2px solid #339900 !important;
    border-radius: 3px !important;
    font-family: "Open Sans", sans-serif !important;
    font-size: 0.875rem !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    padding: 8px 18px !important;
    text-decoration: none !important;
    transition: background-color 0.2s, color 0.2s !important;
    cursor: pointer !important;
}
.wpforms-submit:hover,
button.wpforms-submit:hover {
    background-color: transparent !important;
    color: #339900 !important;
}