/************************************************************
 * CBT Styles (deduped, behavior-preserving)
 ************************************************************/
:root {
  --cbt-midnight: #0a1f44;
  --cbt-gold: #cfaf86;
  --cbt-gold-muted: #b7b0a3;
  --cbt-ivory: #F9F6F2;
  --cbt-burgundy: #8B2E2E;
}

/* CBT Login/Logout Button */
.cbt-login-btn {
  display: inline-block;
  background-color: var(--cbt-gold);
  color: #fff !important;
  padding: 10px 20px;
  border-radius: 4px;
  font-weight: 600;
  text-transform: none !important;
  font-size: 14px;
  line-height: 1.4;
  transition: .2s;
  text-decoration: none !important;
}
.cbt-login-btn:hover {
  background-color: var(--cbt-gold-muted);
  color: #fff !important;
}

/* === Find Me bar on homepage (page 98) === */
.page-id-98 .etn-location-search-list .etn-location-items,
.page-id-98 .etn-location-search-list .etn-map-wrap,
.page-id-98 .etn-pro-location-list .etn-location-items,
.page-id-98 .etn-pro-location-list .etn-map-wrap {
  display: none !important;
}
.page-id-98 .etn-location-search-list,
.page-id-98 .etn-pro-location-list {
  max-width: 960px;
  margin: 0 auto 16px;
}
.page-id-98 .etn-location-search-list input[type="text"],
.page-id-98 .etn-pro-location-list input[type="text"] {
  height: 46px;
  border-radius: 10px;
  border: 1px solid #e8e8e8;
  padding: 0 14px;
}
.page-id-98 .etn-location-search-list button[type="submit"],
.page-id-98 .etn-pro-location-list button[type="submit"] {
  height: 46px;
  border-radius: 10px;
  border: 0;
  background: #DE5C36;
  color: #fff;
  padding: 0 18px;
  cursor: pointer;
}
.page-id-98 .etn-location-search-list .etn-find-me,
.page-id-98 .etn-pro-location-list .etn-find-me,
.page-id-98 .etn-location-search-list .etn-geolocate-btn,
.page-id-98 .etn-pro-location-list .etn-geolocate-btn {
  margin-left: 8px;
  color: var(--cbt-midnight);
}

/* Eventin "No events" message */
.event-tab-wrapper .etn-not-found-post {
  display: block;
  margin: 20px auto;
  text-align: center;
  background: var(--cbt-ivory);
  border-left: 4px solid var(--cbt-burgundy);
  padding: 12px 16px 12px 12px;
  border-radius: 6px;
  color: transparent;
  position: relative;
}
.event-tab-wrapper .etn-not-found-post::after {
  content: "No events found. Check back soon — new experiences are on the way!";
  color: var(--cbt-midnight);
  font-weight: 600;
  letter-spacing: .2px;
}

/* Remove entire 404 block */
.error-404.not-found {
  display: none !important;
}

/* Eventin tabs */
.event-tab-wrapper .etn-nav li a,
.event-tab-wrapper .etn-nav li a:focus,
.event-tab-wrapper .etn-nav li a:hover,
.event-tab-wrapper .etn-nav li.current a {
  border-radius: 0 !important;
  padding: 8px 16px;
}
.event-tab-wrapper .etn-nav li {
  margin: 2px !important;
}

/* ======================================================================
   Custom – Font (MicroFLF + Inter)
   Updated for global color: #0a1f44 (Midnight Reserve)
====================================================================== */

/* Vars */
:root {
  --cbt-midnight:#0a1f44;
  --cbt-gold:#cfaf86;
  --cbt-ivory:#F9F6F2;
  --cbt-header-font:'MicroFLF', ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --cbt-body-font:'Inter', ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

/* Headings & accents use MicroFLF */
h1, h2, h3, .cbt-title, .button--primary, .menu > li > a {
  font-family:var(--cbt-header-font);
  font-weight:600;
  letter-spacing:.02em;
  text-rendering:optimizeLegibility;
  color:var(--cbt-midnight);
}

/* Body/UI uses Inter */
body, p, li, input, textarea, select, button,
.etn-event-item, .woocommerce, .dokan-dashboard {
  font-family:var(--cbt-body-font);
  font-weight:400;
  line-height:1.6;
  color:var(--cbt-midnight);
}

/* Optional: uppercase hero */
.hero h1, .page-title {
  text-transform:uppercase;
  letter-spacing:.03em;
}

/* Color polish */
h1, h2, h3, .cbt-title { color:var(--cbt-midnight); }
body { color:var(--cbt-midnight); }
.button--primary { background:var(--cbt-gold); color:var(--cbt-midnight); }
.button--primary:hover { opacity:.9; }

/* Inputs, placeholders, dropdowns, location UI */
input::placeholder,
textarea::placeholder {
  color:var(--cbt-midnight); opacity:1;
}
.cbt-city-browser #cbt-loc,
.cbt-city-browser #cbt-loc *,
.cbt-city-browser #cbt-locmenu,
.cbt-city-browser #cbt-locmenu *,
.cbt-city-browser #cbt-locmenu input::placeholder {
  color:var(--cbt-midnight) !important; opacity:1 !important;
}

/* Utility */
.microFLF { font-family:'MicroFLF', Inter, sans-serif; color:var(--cbt-midnight); }

/* Headings: use the MicroFLF family and a real weight you have */
h1, h2, h3, .cbt-title, .menu > li > a {
  font-family: 'MicroFLF', Inter, sans-serif !important;
  font-weight: 700; /* use 700 (MicroFLF-Bold.woff2) */
}

/* Slider Revolution: force all layer text to MicroFLF */
.rs-layer, .tp-caption, .rev-btn, .tp-resizeme {
  font-family: 'MicroFLF', Inter, sans-serif !important;
}

/* If any layer was set to 600 in-line, map it to 700 so a real face is used */
.rs-layer[style*="font-weight: 600"],
.tp-caption[style*="font-weight: 600"] {
  font-weight: 700 !important;
}

/* ======================================================================
   Dokan – Vendor Dashboard
====================================================================== */
body .site-content,
body .dokan-dashboard-wrap,
body .dokan-dashboard-content {
  background: #fff;
}
body .dokan-dashboard-wrap {
  min-height: calc(100vh - 160px);
  align-items: stretch;
}
body .dokan-dashboard .container {
  overflow: visible;
}

/* Normalize right padding (except Eventin’s vendor Events UI) */
.dokan-dashboard .dokan-dashboard-content > .dokan-report-wrap,
.dokan-dashboard .dokan-dashboard-content > article,
.dokan-dashboard .dokan-dashboard-content > .dokan-panel,
.dokan-dashboard .dokan-dashboard-content > .dokan-form-horizontal,
.dokan-dashboard .dokan-dashboard-content > .dokan-alert,
.dokan-dashboard .dokan-dashboard-content > .dokan-message,
.dokan-dashboard .dokan-dashboard-content > .dokan-error {
  padding-right: var(--cbt-pad);
  box-sizing: border-box;
}
.dokan-dashboard .dokan-dashboard-content > .dokan-table {
  margin-right: var(--cbt-pad);
}
.dokan-dashboard .dokan-dashboard-content > ul.pagination {
  padding-right: var(--cbt-pad);
}
.dokan-dashboard .etn-dashboard-wrap,
.dokan-dashboard .etn-tabs-wrapper {
  padding-right: 0 !important;
  margin-right: 0 !important;
}

/* Signup submit (keep !important to beat theme) */
form.register input.dokan-btn.dokan-btn-theme[type="submit"][name="register"],
form[name="register"] input.dokan-btn.dokan-btn-theme[type="submit"][name="register"],
input.dokan-btn.dokan-btn-theme[type="submit"][name="register"] {
  display: inline-block !important;
  background-color: var(--primary-color, var(--cbt-midnight)) !important;
  border: 1px solid var(--primary-color, var(--cbt-midnight)) !important;
  color: #fff !important;
  padding: 12px 24px !important;
  border-radius: 5px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  opacity: 1 !important;
  visibility: visible !important;
  filter: none !important;
  text-indent: 0 !important;
  box-shadow: none !important;
  background-image: none !important;
}
form.register input.dokan-btn.dokan-btn-theme[type="submit"][name="register"]:hover,
form[name="register"] input.dokan-btn.dokan-btn-theme[type="submit"][name="register"]:hover,
input.dokan-btn.dokan-btn-theme[type="submit"][name="register"]:hover,
form.register input.dokan-btn.dokan-btn-theme[type="submit"][name="register"]:focus {
  background-color: var(--secondary-color, var(--cbt-gold)) !important;
  border-color: var(--secondary-color, var(--cbt-gold)) !important;
  color: var(--cbt-midnight) !important;
}
input.dokan-btn.dokan-btn-theme[type="submit"][name="register"][disabled] {
  background-color: #bdbdbd !important;
  border-color: #bdbdbd !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* Hide specific vendor dashboard menu options */
a[href*="speaker-organizer"],
a[href*="schedule"],
a[href*="integrations"],
a[href*="rsvp"] {
  display: none !important;
}
/* Hide “Event Categories/Tags” submenu (2nd & 3rd items) */
.ant-menu-sub li:nth-child(2),
.ant-menu-sub li:nth-child(3) {
  display: none !important;
}

/* Misc hides */
p.dokan-info {
  display: none !important;
}
.ant-select-dropdown .ant-btn {
  display: none !important;
}

/* Hide Eventin's Event Certificate section */
.etn-event-certificate {
  display: none !important;
}

/* Themewinter promos (dashboard scope) */
.dokan-dashboard .etn-add-ticket a[href*="product.themewinter.com"],
.dokan-dashboard a[href*="product.themewinter.com"] .ant-btn,
.dokan-dashboard a[href*="product.themewinter.com"].ant-btn,
.dokan-dashboard .ant-modal a[href*="product.themewinter.com"],
.dokan-dashboard .ant-modal a[href*="product.themewinter.com"] .ant-btn,
.dokan-dashboard .ant-modal .ant-modal-header .css-1kl6l65 > .ant-btn,
.dokan-dashboard .ant-modal .ant-modal-header .ant-btn.css-rwd22z {
  display: none !important;
}

/* Eventin dashboard header */
.dokan-dashboard .eventin-pro-dashboard-header > div:first-child {
  display: none !important;
}
.dokan-dashboard .eventin-pro-dashboard-header .ant-menu,
.dokan-dashboard .eventin-pro-dashboard-header .ant-menu-overflow {
  display: none !important;
}
.dokan-dashboard .eventin-pro-dashboard-header {
  display: flex !important;
  justify-content: flex-end !important;
}
.dokan-dashboard .eventin-pro-dashboard-header .ant-btn-primary {
  background-color: var(--cbt-midnight) !important;
  border-color: var(--cbt-midnight) !important;
  color: #fff !important;
}
.dokan-dashboard .eventin-pro-dashboard-header .ant-btn-primary:hover,
.dokan-dashboard .eventin-pro-dashboard-header .ant-btn-primary:focus {
  background-color: #082038 !important;
  border-color: #082038 !important;
  color: #fff !important;
}

/* Badges modal */
#badge_details.seller-badge-modal,
#badge_details.seller-badge-modal * {
  font-size: 16px !important;
  line-height: 1.5 !important;
}
#badge_details .seller-badge-modal-content .modal-title h2 {
  font-size: 22px !important;
  font-weight: 700 !important;
  margin: 0 0 4px !important;
}
#badge_details .seller-badge-modal-content .modal-sub-title h3 {
  font-size: 18px !important;
  font-weight: 600 !important;
  margin: 12px 0 8px !important;
}
#badge_details .seller-badge-modal-content .modal-body p,
#badge_details .seller-badge-modal-content .badge-details p,
#badge_details .seller-badge-modal-content .level_description p {
  font-size: 16px !important;
  margin: 6px 0 !important;
}
#badge_details .seller-badge-modal-content .level_acquisition,
#badge_details .seller-badge-modal-content .level_acquisition strong {
  font-size: 15px !important;
}
#badge_details .seller-badge-modal-content {
  width: 42% !important;
  max-width: 720px !important;
  min-width: 420px !important;
}

/* “Event” calendar icon (FA5) */
#dokan-navigation .dokan-dashboard-menu li.eventin > a::before {
  content: "\f073";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  display: inline-block;
  margin-right: 8px;
  line-height: 1;
}


/* Orders ACTIVE state + :has fallback */
body.cbt-orders-list .woocommerce-MyAccount-navigation .wcmamtx_vertical li > a[href*="/my-account/orders/"],
body.cbt-view-order .woocommerce-MyAccount-navigation .wcmamtx_vertical li > a[href*="/my-account/orders/"],
body.cbt-orders-list .woocommerce-MyAccount-navigation .wcmamtx_vertical li[class*="woocommerce-MyAccount-navigation-link--custom-link-"] > a[href*="/my-account/orders/"],
body.cbt-view-order .woocommerce-MyAccount-navigation .wcmamtx_vertical li[class*="woocommerce-MyAccount-navigation-link--custom-link-"] > a[href*="/my-account/orders/"] {
  background: var(--cbt-gold) !important;
  color: var(--cbt-midnight) !important;
}
nav.woocommerce-MyAccount-navigation:has(+ .woocommerce-MyAccount-content table.woocommerce-orders-table) .wcmamtx_vertical li > a[href*="/my-account/orders/"],
nav.woocommerce-MyAccount-navigation:has(+ .woocommerce-MyAccount-content .woocommerce-order-details) .wcmamtx_vertical li > a[href*="/my-account/orders/"] {
  background: var(--cbt-gold) !important;
  color: var(--cbt-midnight) !important;
}

/* My Account headings — MicroFLF - spacing only */
body.woocommerce-account #customer_login > h2,
body.woocommerce-account .u-columns .u-column1 > h2,
body.woocommerce-account .u-columns .u-column2 > h2 {
  font-family: 'MicroFLF', 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 700;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: var(--cbt-midnight);
  margin-top: 24px !important;
  margin-bottom: 24px !important;
  line-height: 1.2;
  padding: 0 !important;
}
/* Indent My Account headers to the right */
body.woocommerce-account .u-columns .u-column1 > h2,
body.woocommerce-account .u-columns .u-column2 > h2 {
  margin-left: 16px !important;
  margin-top: 24px !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
}

/* LOST PASSWORD (page id 12) */
body.page-id-12 .entry-content .woocommerce {
  padding-top: 20px !important;
}

/* Header layout tweaks */
#masthead .site-header-top #top-header-content.container,
#masthead .site-header-info .container {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
#masthead .site-header-top #top-header-content.container {
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
#masthead #dt-main-menu.d-row {
  display: flex;
  align-items: center;
}
#masthead #dt-main-menu .d-col.at_left {
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 0 auto;
}
#masthead #dt-main-menu .logo-wrap {
  display: flex;
  align-items: center;
  padding-left: 12px;
  text-align: left !important;
}
#masthead #dt-main-menu .site-logo {
  line-height: 0;
}
#masthead #dt-main-menu .site-logo-link {
  display: inline-flex;
}
#masthead #dt-main-menu img.logo {
  display: block;
  height: 110px;
  width: auto !important;
  max-width: none;
}
#masthead #dt-main-menu .d-col.at_right {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 1024px) {
  #masthead #dt-main-menu img.logo {
    height: 85px;
  }
}
@media (max-width: 768px) {
  #masthead #dt-main-menu img.logo {
    height: 65px;
  }
}

/* Tight header on cart/checkout/order-received */
body.woocommerce-cart #masthead .page-heading,
body.woocommerce-checkout #masthead .page-heading,
body.woocommerce-order-received #masthead .page-heading,
body.woocommerce-cart #masthead .site-header-info,
body.woocommerce-checkout #masthead .site-header-info,
body.woocommerce-order-received #masthead .site-header-info {
  display: none !important;
}
body.woocommerce-cart #masthead .site-header-top.top-header,
body.woocommerce-checkout #masthead .site-header-top.top-header,
body.woocommerce-order-received #masthead .site-header-top.top-header {
  padding: 8px 0 !important;
  min-height: auto !important;
}
body.woocommerce-cart .site-logo img.logo,
body.woocommerce-checkout .site-logo img.logo,
body.woocommerce-order-received .site-logo img.logo {
  max-height: 44px !important;
  height: auto !important;
}
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-order-received .site-content {
  padding-top: 24px !important;
}

/* Coupon buttons */
.woocommerce-cart table.cart .coupon .button,
.woocommerce-checkout form.checkout_coupon .button,
.woocommerce-page form.checkout_coupon .button,
.woocommerce form.checkout_coupon .button {
  color: var(--cbt-midnight) !important;
  background: #fff !important;
  border: 1px solid var(--cbt-midnight) !important;
  text-shadow: none !important;
}
.woocommerce-cart table.cart .coupon .button:hover,
.woocommerce-checkout form.checkout_coupon .button:hover,
.woocommerce-page form.checkout_coupon .button:hover,
.woocommerce form.checkout_coupon .button:hover,
.woocommerce-cart table.cart .coupon .button:focus,
.woocommerce-checkout form.checkout_coupon .button:focus {
  color: #fff !important;
  background: var(--cbt-midnight) !important;
  border-color: var(--cbt-midnight) !important;
  outline: none !important;
}
.woocommerce-form-coupon-toggle {
  opacity: 1 !important;
  visibility: visible !important;
}
.woocommerce-info a.showcoupon {
  color: #000 !important;
  text-decoration: underline;
  pointer-events: auto !important;
}

/* Eventin listing cards typography + date */
.etn-event-item .etn-title a,
.etn-card .etn-title a,
.etn-event-card .etn-title a,
.etn-event-grid .etn-title a {
  font-size: 16px;
  line-height: 1.3;
  font-weight: 700;
}
.etn-event-item .etn-meta,
.etn-event-item .etn-event-location,
.etn-card .etn-meta {
  font-size: 12px;
  line-height: 1.3;
}
.etn-event-item .etn-title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.etn-event-item .etn-event-date,
.etn-card .etn-event-date,
.etn-event-grid .etn-event-date {
  font-size: 14px;
  line-height: 1.3;
  color: #7c7c7c;
  display: flex;
  align-items: center;
  gap: 6px;
}
@media (max-width: 480px) {
  .etn-event-item .etn-event-date,
  .etn-card .etn-event-date {
    font-size: 13px;
  }
}
.etn-single-event .etn-event-date {
  font-size: 15px;
  color: #7c7c7c;
}
.etn-event-item .etn-event-date span,
.etn-card .etn-event-date span,
.etn-event-grid .etn-event-date span,
.etn-event-list .etn-event-date span,
.etn-event-date span {
  font-size: 12px !important;
  line-height: 1.3 !important;
  color: #6f6f6f !important;
}
.etn-event-item .etn-event-date .etn-icon,
.etn-card .etn-event-date .etn-icon,
.etn-event-grid .etn-event-date .etn-icon,
.etn-event-list .etn-event-date .etn-icon,
.etn-event-date .etn-icon {
  font-size: 12px !important;
  line-height: 1 !important;
  margin-right: 6px;
}

/* Attend button */
.etn-event-item .etn-atend-btn .etn-btn.etn-btn-border,
.etn-card .etn-atend-btn .etn-btn.etn-btn-border {
  border-color: var(--cbt-midnight);
  color: var(--cbt-midnight);
}
.etn-event-item .etn-atend-btn .etn-btn.etn-btn-border:hover,
.etn-card .etn-atend-btn .etn-btn.etn-btn-border:hover,
.etn-event-item .etn-atend-btn .etn-btn.etn-btn-border:focus,
.etn-card .etn-atend-btn .etn-btn.etn-btn-border:focus {
  background: var(--cbt-midnight) !important;
  color: #fff !important;
  border-color: var(--cbt-midnight) !important;
}
.etn-atend-btn .etn-btn .etn-icon {
  color: currentColor !important;
}

/* jQuery UI / Select2 */
.ui-selectmenu-menu {
  z-index: 100000;
}
.select2-container {
  width: 100% !important;
  display: block;
}
.select2-container .select2-selection--multiple {
  min-height: 42px;
  padding: 4px 6px;
}
.select2-container--open {
  z-index: 100000 !important;
}
.select2-dropdown {
  min-width: 100% !important;
  left: 0 !important;
}

/* Qty stepper */
.cbt-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid #d7d7d7;
  border-radius: 6px;
  overflow: hidden;
}
.cbt-qty {
  width: 60px;
  height: 34px;
  border: 0;
  text-align: center;
  outline: 0;
  appearance: textfield;
}
.cbt-stepper__btn {
  width: 34px;
  height: 34px;
  border: 0;
  background: #f5f5f5;
  cursor: pointer;
  line-height: 1;
  font-size: 18px;
}
.cbt-stepper__btn:hover {
  background: #eee;
}
@media (max-width: 600px) {
  .cbt-qty {
    width: 52px;
  }
}
.cbt-qty::-webkit-outer-spin-button,
.cbt-qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.cbt-stepper .ui-spinner-button {
  display: none !important;
}
.cbt-stepper .ui-spinner-input {
  padding-right: 0 !important;
}

/* Hide shipping section when not needed */
.woocommerce-checkout .woocommerce-shipping-fields {
  display: none !important;
}

/* HOMEPAGE QUICK SEARCH — styled Event Date */
.etn-search-form .etn-search-date select {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  display: inline-block !important;
}
.etn-search-form .etn-search-date .nice-select {
  display: inline-flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.etn-search-form .etn-search-date .nice-select + .nice-select {
  display: none !important;
}

/* Hero tagline */
h2#hero-tagline.tagline-h2 {
  color: #222 !important;
  font-family: 'Cinzel', serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  text-transform: none !important;
  margin-top: -75px !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}
@media (max-width: 768px) {
  h2#hero-tagline.tagline-h2 {
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
}

/* “Formerly...” line */
.about-flag {
  font-style: italic;
  display: block;
  margin-top: .35rem;
  font-size: .95rem;
  line-height: 1.25;
  letter-spacing: .02em;
  color: #fff !important;
  font-weight: 600;
  text-transform: none;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .55);
}
.about-flag--pill {
  background: rgba(0, 0, 0, .35);
  padding: .25rem .5rem;
  border-radius: .4rem;
}

/* Inline newsletter (Mailchimp form) */
.newsletter-form {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 12px;
  max-width: 420px;
  margin: 0 auto;
}
.newsletter-form input[type="email"] {
  width: 100%;
  border: none;
  border-bottom: 1px solid #fff;
  background: transparent;
  color: #fff;
  font-size: 16px;
  line-height: 1.4;
  padding: 8px 5px 10px;
  outline: none;
}
.newsletter-form input[type="email"]::placeholder {
  color: rgba(255, 255, 255, .75);
}
.newsletter-form button {
  align-self: flex-end;
  background: var(--cbt-gold);
  color: #fff;
  border: 1px solid #fff;
  padding: 14px 36px;
  font-size: 16px;
  line-height: 1;
  min-width: 150px;
  height: 60px;
  border-radius: 0;
  cursor: pointer;
  transition: background .3s, transform .06s;
}
.newsletter-form button:hover {
  background: #B8AFA2;
}
.newsletter-form button:active {
  transform: translateY(1px);
}
@media (max-width: 768px) {
  .newsletter-form,
  .newsletter-form button {
    align-self: flex-end !important;
  }
}

/* MC4WP responses */
.mc4wp-form .mc4wp-response,
.mc4wp-form .mc4wp-success,
.mc4wp-form .mc4wp-error {
  position: static !important;
  display: block !important;
  align-self: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
  margin-top: 8px !important;
  padding: 0 !important;
  background: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  border: 0 !important;
  color: #fff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .25);
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.mc4wp-form .mc4wp-response:empty,
.mc4wp-form .mc4wp-success:empty,
.mc4wp-form .mc4wp-error:empty {
  display: none !important;
}

/* === CBT Pricing Calculator (Forminator ID 20117) === */
#forminator-module-20117 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 24px;
  row-gap: 18px;
}
#forminator-module-20117 .forminator-row {
  display: contents;
}
#forminator-module-20117 .forminator-col {
  grid-column: 1 / -1;
}
#forminator-module-20117 .forminator-col.half-left,
#forminator-module-20117 .forminator-col.half-right {
  grid-column: auto;
}
#forminator-module-20117 .forminator-col.full-span {
  grid-column: 1 / -1 !important;
}
#forminator-module-20117 .forminator-field,
#forminator-module-20117 .forminator-input,
#forminator-module-20117 .forminator-calculation,
#forminator-module-20117 .forminator-input-with-prefix {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}
#forminator-module-20117 .forminator-button-submit {
  display: none !important;
}
@media (max-width: 640px) {
  #forminator-module-20117 {
    grid-template-columns: 1fr;
  }
  #forminator-module-20117 .forminator-col {
    grid-column: 1 / -1 !important;
  }
  .vc_hidden-xs,
  .hidden-xs {
    display: block !important;
  }
  .wpb_column,
  .wpb_text_column {
    overflow: visible !important;
  }
}

/* Quicksearch native select look */
.cbt-qs-date {
  position: relative;
}
.cbt-qs-date .input-group-prepend {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.cbt-qs-date .input-group-text {
  background: transparent;
  border: 0;
  padding: 0;
}
.cbt-qs-date select[name="etn_event_date_range"] {
  display: block !important;
  width: 100%;
  height: 56px;
  padding: 0 16px 0 44px;
  border: 1px solid #E6E9EF;
  border-radius: 10px;
  color: #5F6A78;
  font-size: 16px;
  background: #fff;
  -webkit-appearance: menulist !important;
  appearance: menulist !important;
}

/* City Hub (page-id-21004) */
html.page-id-21004,
body.page-id-21004 {
  overflow-x: hidden;
  background: #fff;
}

/* Wrapper (full-bleed) */
.page-id-21004 .etn_map_and_result_wrapper {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 18px;
  width: auto !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}
@supports (width: 100svw) {
  .page-id-21004 .etn_map_and_result_wrapper {
    margin-left: calc(50% - 50svw) !important;
    margin-right: calc(50% - 50svw) !important;
  }
}

/* Map height */
.page-id-21004 .etn-front-map {
  position: relative;
  width: 100% !important;
  border: 0 !important;
}
.page-id-21004 .etn-front-map::before {
  content: "";
  display: block;
  padding-top: 38%;
}
.page-id-21004 #etn-front-map-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
}
.page-id-21004 #etn-front-map-container > div[style] {
  width: 100% !important;
  height: 100% !important;
}

/* Results grid */
.page-id-21004 .etn-location-result {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
  max-height: none !important;
  height: auto !important;
  overflow: visible !important;
}
.page-id-21004 .etn-location-result .etn-location-item-wrapper {
  display: grid !important;
  gap: 24px !important;
  align-items: stretch;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1199.98px) {
  .page-id-21004 .etn-location-result .etn-location-item-wrapper {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  .page-id-21004 .etn-location-result .etn-location-item-wrapper {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 575.98px) {
  .page-id-21004 .etn-location-result .etn-location-item-wrapper {
    grid-template-columns: 1fr;
  }
}

/* Cards */
.page-id-21004 .etn-location-item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, .06);
  overflow: hidden;
  transition: box-shadow .2s;
}
.page-id-21004 .etn-location-item:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, .10);
}
.page-id-21004 .etn-location-item-image,
.page-id-21004 .etn-location-item-content {
  float: none !important;
  width: 100% !important;
  display: block !important;
}

/* Image */
.page-id-21004 .etn-location-item-image {
  order: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
  position: relative !important;
}
.page-id-21004 .etn-location-item-image img {
  display: block !important;
  width: 100% !important;
  object-fit: cover !important;
  height: clamp(160px, 28vw, 220px) !important;
}
@supports (aspect-ratio: 16/9) {
  .page-id-21004 .etn-location-item-image img {
    height: auto !important;
    aspect-ratio: 16/9 !important;
  }
}
@media (max-width: 640px) {
  .page-id-21004 .etn-location-item-image {
    padding-top: 56.25% !important;
  }
  .page-id-21004 .etn-location-item-image > a,
  .page-id-21004 .etn-location-item-image > picture {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
  }
  .page-id-21004 .etn-location-item-image img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    max-width: none !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* Text */
.page-id-21004 .etn-location-item-content {
  order: 1 !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.page-id-21004 .etn-location-item-name {
  margin: 0 0 6px !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.page-id-21004 .etn-location-item-address {
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.45;
  color: #5F6A78;
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.page-id-21004 .etn-location-item-direction {
  display: none !important;
}

/* Trim Google Map chrome */
.etn-front-map .gm-style-mtc,
.etn-front-map .gm-fullscreen-control,
.etn-front-map .gm-bundled-control,
.etn-front-map .gm-bundled-control-on-bottom,
.etn-front-map gmp-internal-camera-control,
.etn-front-map gmp-internal-camera-control menu,
.etn-front-map gmp-internal-camera-control button,
.etn-front-map .gm-svpc,
.etn-front-map button[aria-label="Keyboard shortcuts"] {
  display: none !important;
}

/* Location pill (scoped) */
.cbt-locwrap {
  position: relative;
  max-width: 1200px;
  margin: 0 auto 14px;
  padding: 0 20px;
  z-index: 10;
}
.page-id-21004 .cbt-locpill {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  position: relative;
  display: inline-block !important;
  max-width: 420px;
  width: 100%;
}
.page-id-21004 .cbt-loc-label {
  color: #667085;
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
}
.page-id-21004 .cbt-loc-label::after {
  content: "\203A";
  display: inline-block !important;
  margin: 0 8px;
  color: #8B2E2E;
  font-weight: 700;
  line-height: 1;
}
.page-id-21004 #cbtLocCaret,
.page-id-21004 .cbt-caret,
.page-id-21004 .cbt-caret-inline,
.page-id-21004 .cbt-loc-label + .cbt-caret,
.page-id-21004 .cbt-loc-label + i[class*="chevron"],
.page-id-21004 .cbt-loc-label + .fa,
.page-id-21004 .cbt-locpill .cbt-loc-label + button {
  display: none !important;
}
.cbt-loc-city-input {
  border: 0;
  outline: none;
  background: transparent;
  font-weight: 800;
  color: #111827;
  min-width: 8ch;
  padding-left: calc(var(--prefixW, 0px) + 16px) !important;
}
.cbt-loc-city-input::placeholder {
  color: #8B2E2E !important;
  opacity: 1;
  font-weight: 800;
}
.page-id-21004 .cbt-prefix {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  gap: 8px;
  pointer-events: none;
  z-index: 2;
}

/* Dropdown */
.cbt-locmenu {
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  transform: translateX(var(--prefixW, 0px));
  width: min(380px, calc(100% - var(--prefixW, 0px) - 16px));
  max-width: 90vw;
  margin-top: 6px;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .12);
}
.page-id-21004 .cbt-locmenu {
  width: auto;
  min-width: 260px;
  max-width: 420px;
}
.cbt-locmenu[hidden] {
  display: none !important;
}
.cbt-locmenu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
}
.cbt-locmenu-item:hover {
  background: #f9fafb;
}
.cbt-locmenu-item[disabled] {
  opacity: .6;
  cursor: default;
}
.cbt-locmenu-sep {
  height: 1px;
  background: #f1f5f9;
}
.cbt-ic {
  width: 18px;
  text-align: center;
  display: inline-block;
}

/* Hide Eventin mini form on this page */
.page-id-21004 .etn_loc_form,
.page-id-21004 .etn-location-search-list,
.page-id-21004 .etn-pro-location-list {
  display: none !important;
}

/* Keep Google Places above everything */
.pac-container {
  z-index: 100000 !important;
  transform: none !important;
}
.page-id-21004 .pac-container {
  max-width: 420px !important;
}
@media (max-width: 640px) {
  .page-id-21004 .cbt-locpill,
  .page-id-21004 .cbt-locmenu,
  .page-id-21004 .pac-container {
    max-width: 100% !important;
  }
}

/* Hide Eventin's heading above cards */
.page-id-21004 .etn-location-result .location-area-title {
  display: none !important;
}

/* City Hub only — hide Eventin default tab panes */
.page-id-21004 .etn-tabs-wrapper .etn-tab-content,
.page-id-21004 .etn-tabs-wrapper .etn-event-item-wrap,
.page-id-21004 .etn-tabs-wrapper .etn-event-items,
.page-id-21004 .etn-tabs-wrapper .etn-row {
  display: none !important;
}

/* Brand tweaks */
.cbt-tab.is-active {
  background: #0a1f44;
  border-color: #0a1f44;
  color: #fff;
}
.cbt-tab {
  border-color: #e2e8f0;
}
.cbt-loc-city {
  font-weight: 700;
}

/* City tiles */
.cbt-city-tiles .wpb_single_image,
.cbt-city-tiles .wpb_single_image a,
.cbt-city-tiles .wpb_single_image img {
  border-radius: 16px;
}
.cbt-city-tiles .wpb_single_image a {
  overflow: hidden;
  display: block;
}
.cbt-city-tiles .wpb_single_image img {
  display: block;
  width: 100%;
  height: auto;
}

/* Carousel arrows (top-right) */
.city-carousel .flickity-button.previous,
.city-carousel .flickity-button.next {
  left: auto !important;
  right: auto !important;
}
.city-carousel .flickity-prev-next-button {
  position: absolute !important;
  top: -56px;
  right: 8px;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .12);
  z-index: 5;
}
.city-carousel .flickity-prev-next-button.previous {
  left: auto !important;
  right: 60px !important;
}
.city-carousel .flickity-button-icon {
  fill: #8B2E2E;
}
@media (max-width: 767px) {
  .city-carousel .flickity-prev-next-button {
    top: -44px;
  }
  .city-carousel .flickity-prev-next-button.previous {
    right: 56px;
  }
}

/* === City carousel — make slides clickable === */

/* 1) Decorative overlays shouldn't eat clicks */
.city-carousel .ld-overlay,
.city-carousel .lqd-overlay,
.city-carousel .vc_single_image-wrapper::before,
.city-carousel .vc_single_image-wrapper::after {
  pointer-events: none !important;
}

/* 2) Link must cover the whole slide */
.city-carousel a.lqd-overlay-link,
.city-carousel a.ld-overlay-link,
.city-carousel .vc_single_image-wrapper > a,
.city-carousel .lqd-imggrp-single > a {
  position: absolute !important;
  inset: 0 !important;
  z-index: 20 !important;
  display: block !important;
  pointer-events: auto !important;
  cursor: pointer;
}

/* 3) Positioning context for absolute link */
.city-carousel .vc_single_image-wrapper,
.city-carousel .ld-single-image,
.city-carousel .lqd-imggrp-single {
  position: relative !important;
}

/* 4) Allow pointer events through Flickity layers */
.city-carousel .flickity-viewport,
.city-carousel .flickity-slider,
.city-carousel .flickity-slider a {
  pointer-events: auto !important;
}

/* 5) Reset non-overlay anchors only (do NOT clobber overlay links) */
.city-carousel .vc_single_image-wrapper a:not(.lqd-overlay-link):not(.ld-overlay-link),
.city-carousel .ld-single-image a:not(.lqd-overlay-link):not(.ld-overlay-link),
.city-carousel .lqd-imggrp-single a:not(.lqd-overlay-link):not(.ld-overlay-link) {
  position: static !important;
  z-index: auto !important;
  display: block;
}

/* === Eventbrite-style: Location pill + dropdown + tabs === */
.cbt-city-browser {
  --cbt-midnight: #0a1f44;
  --cbt-gold: #cfaf86;
  --cbt-ink: #111827;
  --cbt-muted: #667085;
  --cbt-line: #e5e7eb;
  --cbt-soft: #f9fafb;
  --cbt-soft-2: #f1f5f9;
  --radius: 12px;
  --chip-radius: 999px;
  --shadow: 0 8px 24px rgba(0, 0, 0, .12);
}

/* Wrapper aligns neatly and caps width on desktop */
.cbt-city-browser .cbt-locwrap {
  position: relative;
  max-width: 1200px;
  margin: 0 auto 14px;
  padding: 0 20px;
  z-index: 10;
}

/* Pill: inline, rounded, subtle border, EB-like weight */
.cbt-city-browser .cbt-locpill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  background: #fff;
  border: 1px solid var(--cbt-line);
  border-radius: var(--chip-radius);
  box-shadow: 0 2px 6px rgba(0, 0, 0, .05);
  cursor: pointer;
}
.cbt-city-browser .cbt-locpill:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, .08);
}

/* Label + keep breadcrumb caret */
#cbt-loc .cbt-loc-label {
  color: var(--cbt-muted);
  font-weight: 600;
  white-space: nowrap;
}
#cbt-loc .cbt-loc-label::after {
  content: "\203A"; /* › */
  display: inline-block;
  margin: 0 6px;
  color: #8B2E2E;
  font-weight: 700;
  line-height: 1;
}

/* City text */
.cbt-city-browser .cbt-loc-city {
  color: var(--cbt-ink);
  font-weight: 800;
}

/* Hide the "Change" button only */
#cbtLocChange {
  display: none !important;
}

/* Hide any tiny dropdown caret element near the city (some skins add one) */
#cbt-loc .cbt-caret,
#cbt-loc .cbt-caret-inline,
#cbt-loc .cbt-loc-label + .cbt-caret {
  display: none !important;
}

/* Dropdown panel */
.cbt-city-browser .cbt-locmenu {
  position: absolute;
  top: 100%;
  left: 20px; /* aligns with pill padding */
  margin-top: 8px;
  width: min(420px, calc(100% - 40px));
  background: #fff;
  border: 1px solid var(--cbt-line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.cbt-city-browser .cbt-locmenu[hidden] {
  display: none !important;
}

/* Menu items */
.cbt-city-browser .cbt-locmenu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 12px 14px;
  background: #fff;
  border: 0;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
}
.cbt-city-browser .cbt-locmenu-item:hover {
  background: var(--cbt-soft);
}
.cbt-city-browser .cbt-locmenu-item[disabled] {
  opacity: .6;
  cursor: default;
}
.cbt-city-browser .cbt-locmenu-sep {
  height: 1px;
  background: var(--cbt-soft-2);
}
.cbt-city-browser .cbt-ic {
  width: 18px;
  text-align: center;
  display: inline-block;
}

/* “Search another city” block */
.cbt-city-browser .cbt-city-row {
  display: flex;
  gap: 8px;
  align-items: center;
}
.cbt-city-browser .cbt-city-input {
  flex: 1 1 auto;
  height: 44px;
  padding: 0 12px;
  border: 1px solid var(--cbt-line);
  border-radius: 10px;
  font-size: 16px;
}
.cbt-city-browser .cbt-city-input::placeholder {
  color: #9aa3af;
}
.cbt-city-browser .cbt-city-apply {
  height: 44px;
  padding: 0 14px;
  border-radius: 10px;
  border: 1px solid var(--cbt-midnight);
  background: #fff;
  color: var(--cbt-midnight);
  font-weight: 600;
  cursor: pointer;
}
.cbt-city-browser .cbt-city-apply:hover {
  background: var(--cbt-midnight);
  color: #fff;
}
.cbt-city-browser .cbt-city-help {
  margin: .5rem 0 0;
  font-size: 13px;
  color: #6b7280;
}

/* Tabs → pill chips like Eventbrite */
.cbt-city-browser .cbt-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0 20px;
  margin: 10px auto 6px;
  max-width: 1200px;
}
.cbt-city-browser .cbt-tab {
  appearance: none;
  border: 1px solid var(--cbt-line);
  background: #fff;
  color: var(--cbt-ink);
  padding: 8px 14px;
  border-radius: var(--chip-radius);
  font-weight: 600;
  cursor: pointer;
}
.cbt-city-browser .cbt-tab:hover {
  background: #f8fafc;
}
.cbt-city-browser .cbt-tab.is-active {
  background: var(--cbt-midnight);
  color: #fff;
  border-color: var(--cbt-midnight);
}

/* Grid spacing under controls */
.cbt-city-browser .cbt-gridwrap {
  margin-top: 10px;
}

/* Mobile: dropdown stretches */
@media (max-width: 640px) {
  .cbt-city-browser .cbt-locmenu {
    left: 10px;
    width: calc(100% - 20px);
  }
}

/* Keep the Google suggestions above everything */
.pac-container {
  z-index: 100000 !important;
  max-width: 420px;
}
@media (max-width: 640px) {
  .pac-container {
    max-width: 100%;
  }
}

/* Hide the legacy typing row inside the popup entirely */
.cbt-legacy-typeahead {
  display: none !important;
}

/* Make the inline input look like bold text */
#cbtLocInput {
  border: 0;
  background: transparent;
  outline: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  font-weight: 800;
  color: #111827;
  min-width: 8ch;
  max-width: 40ch;
  line-height: inherit;
  height: auto;
}
#cbtLocInput::placeholder {
  color: #111827;
  font-weight: 800;
  opacity: 1;
}

/* Visually hide the original span but keep it in DOM for scripts that read it */
#cbtLocCity.cbt-sr-only {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

/* === Category tabs: rounded rectangles, darker idle text === */
.cbt-city-browser .cbt-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 0 20px;
  margin: 10px auto 6px;
  max-width: 1200px;
}

/* idle */
.cbt-city-browser .cbt-tab {
  appearance: none;
  border: 1px solid var(--cbt-line);
  background: #fff;
  color: var(--cbt-ink);
  padding: 10px 16px;
  border-radius: 12px; /* rounded rectangle */
  font-weight: 700;
  cursor: pointer;
  line-height: 1.1;
}
.cbt-city-browser .cbt-tab:hover {
  background: #f8fafc;
}

/* active */
.cbt-city-browser .cbt-tab.is-active {
  background: var(--cbt-midnight);
  color: #fff;
  border-color: var(--cbt-midnight);
}

/* if any theme rule forces a circular chip, this wins */
.cbt-city-browser .cbt-tab {
  border-radius: 12px !important;
}

/* Fallback banner (inserted by JS) */
#cbt-fallback-note {
  margin: 8px 20px 0;
  padding: 10px 12px;
  background: #F9F6F2;
  border-left: 4px solid #8B2E2E;
  border-radius: 8px;
  font-weight: 600;
  color: #0a1f44;
}
/* Hide any legacy injected fallback banner row (we rely on the plugin’s own banner) */
#cbt-fallback-note {
  display: none !important;
}

/* Friendly copy for the true "no events anywhere" case */
.event-tab-wrapper .etn-not-found-post {
  display: block;
  margin: 20px auto;
  text-align: left;
  background: #F9F6F2;
  border-left: 4px solid #8B2E2E;
  padding: 12px 16px 12px 12px;
  border-radius: 6px;
  color: transparent; /* hide original text */
  position: relative;
}
.event-tab-wrapper .etn-not-found-post::after {
  content: "No events found. Check back soon — new experiences are on the way!";
  color: #0a1f44;
  font-weight: 600;
  letter-spacing: .2px;
}

/* Results grid */
.cbt-cards {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
@media (max-width:1024px) {
  .cbt-cards {
    grid-template-columns:repeat(2,1fr);
  }
}
@media (max-width:640px) {
  .cbt-cards {
    grid-template-columns:1fr;
  }
}

/* Optional: horizontal card layout */
.cbt-x-carditem {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 14px;
  align-items: start;
}
.cbt-x-carditem .etn-location-item-image img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  border-radius: 10px;
}

/* ===== CITY HUB ONLY ===== */
.page-id-21004 #cbt-loc .cbt-locpill {
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:0;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  max-width:480px;
}

/* “Browsing events in ›” */
.page-id-21004 #cbt-loc .cbt-loc-label {
  color:#667085; font-weight:600; white-space:nowrap; user-select:none;
}
.page-id-21004 #cbt-loc .cbt-loc-label::after {
  content:"\203A"; margin:0 6px; color:#8B2E2E; font-weight:700;
}

/* Inline, typeable city field (looks like text) */
.page-id-21004 #cbtLocInput {
  background:transparent; border:0; outline:0; padding:0; margin:0;
  font:inherit; font-weight:800; color:#111827;
  min-width:10ch; max-width:42ch; line-height:inherit; height:auto;
  pointer-events:auto; position:relative; z-index:1;
}
.page-id-21004 #cbtLocInput::placeholder {
  color:#111827; font-weight:800; opacity:1;
}

/* Keep SR label hidden */
.page-id-21004 #cbtLocCity.cbt-sr-only {
  position:absolute !important; left:-9999px !important; width:1px !important; height:1px !important; overflow:hidden !important;
}

/* Hide the small “Change” caret button if your theme adds one */
.page-id-21004 #cbtLocChange,
.page-id-21004 #cbt-loc .cbt-caret,
.page-id-21004 #cbt-loc .cbt-caret-inline {
  display:none !important;
}

/* Dropdown panel */
.page-id-21004 #cbt-locmenu {
  position:absolute; top:100%; left:0; margin-top:8px;
  width:min(420px, 100%); max-width:90vw;
  background:#fff; border:1px solid #e5e7eb; border-radius:12px;
  box-shadow:0 8px 24px rgba(0,0,0,.12); overflow:hidden;
}
.page-id-21004 #cbt-locmenu:not(.cbt-open) {
  display:none !important;
}
.page-id-21004 #cbt-locmenu .cbt-locmenu-item {
  display:flex; gap:10px; width:100%; padding:12px 14px; border:0; background:#fff; text-align:left; cursor:pointer;
}
.page-id-21004 #cbt-locmenu .cbt-locmenu-item:hover {
  background:#f9fafb;
}
.page-id-21004 #cbt-locmenu .cbt-locmenu-item[disabled] {
  opacity:.6; cursor:default;
}
.page-id-21004 #cbt-locmenu .cbt-locmenu-sep {
  height:1px; background:#f1f5f9;
}

/* Kill the legacy “Search another city + Apply” block inside the popup */
.page-id-21004 #cbt-locmenu #cbt-city-input,
.page-id-21004 #cbt-locmenu #cbt-city-apply,
.page-id-21004 #cbt-locmenu .cbt-legacy-typeahead {
  display:none !important;
}

/* Keep Google Places list above everything */
.page-id-21004 .pac-container {
  z-index:100000 !important; max-width:420px;
}
@media (max-width:640px) {
  .page-id-21004 .pac-container {
    max-width:100%;
  }
}

/* Restore the 4-column grid (desktop), responsive below */
.page-id-21004 .etn-location-result .etn-location-item-wrapper {
  display:grid !important; gap:24px !important;
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
}
@media (max-width:1199.98px) {
  .page-id-21004 .etn-location-result .etn-location-item-wrapper {
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  }
}
@media (max-width:991.98px) {
  .page-id-21004 .etn-location-result .etn-location-item-wrapper {
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width:575.98px) {
  .page-id-21004 .etn-location-result .etn-location-item-wrapper {
    grid-template-columns:1fr !important;
  }
}

/* Card polish (optional, keep your look) */
.page-id-21004 .etn-location-item {
  border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 2px 6px rgba(0,0,0,.06); overflow:hidden;
}
.page-id-21004 .etn-location-item:hover {
  box-shadow:0 6px 16px rgba(0,0,0,.10);
}
.page-id-21004 .etn-location-item-image img {
  width:100% !important; height:clamp(160px, 28vw, 220px) !important; object-fit:cover !important;
}
@supports (aspect-ratio:16/9) {
  .page-id-21004 .etn-location-item-image img {
    height:auto !important; aspect-ratio:16/9 !important;
  }
}

/* CBT City pill base */
#cbt-loc .cbt-locpill {
  display:flex !important;
  align-items:center !important;
  flex-wrap:nowrap !important;
  gap:.25rem !important;
}
#cbt-loc .cbt-loc-label { order:1 !important; }
#cbtLocCity {
  order:2 !important;
  display:inline !important;
  color:inherit !important;
  margin-left:.25rem !important;
  white-space:nowrap !important;
  font-weight:700 !important;
}
#cbtLocChange { order:3 !important; margin-left:.5rem !important; }

/* Remove the big blank space: input is out of flow when closed */
#cbtLocInput {
  order:4 !important;
  width:0 !important;
  padding:0 !important;
  border:0 !important;
  margin:0 !important;
  opacity:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}

/* When chooser is open, show the input and hide the label while typing */
#cbtLocChange[aria-expanded="true"] ~ #cbtLocInput {
  width:16rem !important;
  padding:.4rem .6rem !important;
  border:1px solid rgba(0,0,0,.15) !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
#cbtLocChange[aria-expanded="true"] ~ #cbtLocCity {
  display:none !important;
}

/* Hide the type box unless the menu is open; hide the label while typing */
#cbtLocInput {
  position:absolute !important;
  left:-9999px !important;
  width:1px !important; height:1px !important;
  opacity:0 !important; pointer-events:none !important;
}
#cbtLocChange[aria-expanded="true"] ~ #cbtLocInput {
  position:static !important; left:auto !important;
  width:16rem !important; height:auto !important;
  opacity:1 !important; pointer-events:auto !important;
  padding:.45rem .6rem !important; border:1px solid rgba(0,0,0,.15) !important;
  border-radius:10px !important; background:#fff !important;
}
#cbtLocChange[aria-expanded="true"] ~ #cbtLocCity {
  display:none !important;
}

/* Put carousel above neighbors */
.city-carousel { position: relative; z-index: 100; }

/* TEMP: inside THIS carousel, only anchors/buttons get clicks */
.city-carousel * { pointer-events: none !important; }
.city-carousel a,
.city-carousel a *,
.city-carousel button,
.city-carousel .vc_single_image-wrapper > a,
.city-carousel .vc_single_image-wrapper > a * {
  pointer-events: auto !important;
}

/* If the Slider Revolution above bleeds over, push it under */
.rev_slider_wrapper { position: relative; z-index: 1 !important; }

/* TEMP: unhide cards that a script marked .cbt-hide */
.cbt-hide {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* CBT: Unblock Eventin result containers site-wide (safe) */
.etn-tabs-wrapper .etn-tab-content,
.etn-event-item-wrap,
.etn-event-items,
.etn-event-items .etn-row,
.etn-row,
.etn-location-result,
.etn-location-item-wrapper {
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

/* Ensure cards themselves aren't hidden by theme rules */
.etn-event-item,
.etn-event-card,
.etn-card,
.etn-location-item,
.wpe-event-card,
.products .product {
  display:block !important;
}

/* Align mobile submenu chevrons with menu text on Hub mobile menu */
.ld-mobile-sec-nav .submenu-expander.pos-abs,
.ldq-mobile-sec-nav .submenu-expander.pos-abs {
  top: 50% !important;
  transform: translateY(-50%);
}

/* CBT home city pill – make sure our JS label is always visible, even on mobile */
body.home #cbt-loc .cbt-loc-city {
  display: inline;
  margin-left: 0.35em;
  color: var(--cbt-midnight);
  opacity: 0.6;
  white-space: nowrap;
}

/* If the theme also renders its own city label, hide *that* one on home only */
body.home #cbt-loc .cbt-loc-city-name {
  display: none !important;
}

/* Render the city label from the cookie-driven data attribute */
body.home .cbt-city-browser #cbt-loc::after {
  content: attr(data-city-label);
  margin-left: 0.35rem;
  color: var(--cbt-steel, #596072);
  font-weight: 600;
  white-space: nowrap;
}

/* --- CBT city pill – single label only (desktop + mobile) --- */

/* Hide the duplicate city label only on desktop,
   but let it show on mobile so the home mobile pill has text */
@media (min-width: 821px) {
  body.home #cbtLocCity,
  body.blog #cbtLocCity {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
  }
}

/* Kill any legacy inline city label span that caused the duplicate / "Your area" */
#cbt-loc .cbt-inline-city-label {
  display: none !important;
}
/* Hide the extra inline city text label – keep only the input/placeholder */
.cbt-city-browser .cbt-inline-city-label {
  display: none !important;
}

/* CITY PAGES – REMOVE DUPLICATE CITY LABEL IN PILL */
body.cbt-city-discovery #cbtLocCity,
body.cbt-city-route-events #cbtLocCity {
  display: none !important;
}

/* FINAL CBT LOCATION PILL OVERRIDES */

/* Restore the main city label span so it can be used again */
#cbtLocCity {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: visible !important;
  white-space: nowrap;
}

/* Home + blog: keep the label visible on ALL viewports */
body.home #cbtLocCity,
body.blog #cbtLocCity {
  display: inline-block !important;
}

/* On CITY PAGES, hide the cookie-based label to avoid duplicates.
   The route city label is rendered separately. */
body.cbt-city-discovery #cbtLocCity,
body.cbt-city-route-events #cbtLocCity {
  display: none !important;
}

/* Let the inline city label class render (used on city pages) */
.cbt-city-browser .cbt-inline-city-label {
  display: inline !important;
}

/* Turn off the experimental ::after label on home now that #cbtLocCity is visible again. */
body.home .cbt-city-browser #cbt-loc::after {
  content: none !important;
}

/* CBT LOC LABEL OVERRIDE – 2025-11-30 */

/* HOME PAGE – always show the inline city label (desktop + mobile) */
body.home #cbtLocCity {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  white-space: nowrap;
  position: static !important;
  pointer-events: auto !important;
}

/* BLOG HOME – mirror home behaviour */
body.blog #cbtLocCity {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* CITY PAGES – hide the duplicate CBT label so only the theme city shows */
body.cbt-city-browser #cbtLocCity,
body.cbt-city-discovery #cbtLocCity {
  display: none !important;
}

/* Ticket logo sizing */
.cbt-ticket-logo {
  display:block;
  margin:0 auto 10px;
  max-width:220px;
  height:auto;
}
.etn-ticket, .etn-ticket * { text-align:left!important; }
.cbt-ticket-logo {
  display:block;margin:0 0 10px 0!important;max-width:220px;height:auto;
}
.etn-ticket .etn-ticket-qr-code {
  float:none!important;width:100%!important;margin:16px 0!important;
}
.etn-ticket .etn-ticket-qr-code img.etn-qrImage {
  display:block!important;margin:0!important;max-width:240px;height:auto;
}
.etn-download-ticket {
  display:flex;justify-content:flex-start!important;gap:16px;flex-wrap:wrap;margin-top:12px;
}
.etn-download-ticket .etn-btn.button {
  margin:0;
}

/* Ticket page: fix wrapping & stacking on small screens */
@media (max-width: 820px) {

  /* 1) Let the title wrap naturally */
  .etn-ticket .etn-ticket-head-title {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    hyphens: auto;
  }

  /* 2) Make the details list stack to one column */
  .etn-ticket .etn-ticket-body-top-ul {
    display: block !important;
  }
  .etn-ticket .etn-ticket-body-top-li {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* 3) Ensure values (price, email, venue) wrap within the viewport */
  .etn-ticket .etn-ticket-body-top-li p,
  .etn-ticket .etn-ticket-body-top-li a {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    max-width: 100% !important;
  }

  /* 4) Expand the full ticket area */
  .etn-ticket,
  .etn-ticket-wrap,
  .etn-ticket-main-wrapper,
  .etn-ticket-head {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-right: 0 !important;
    margin-right: 0 !important;
  }

  /* 5) Ensure header pieces wrap nicely */
  .etn-ticket .etn-ticket-head-title,
  .etn-ticket .etn-ticket-head-time {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    text-align: left !important;
  }
}

/* Hide the injected auth item by default (desktop/tablet) */
li.menu-item.cbt-mobile-only {
  display: none !important;
}

/* Show ONLY on small screens (use your theme's mobile breakpoint) */
@media (max-width: 991.98px) {
  li.menu-item.cbt-mobile-only { display: block !important; }
  li.menu-item.cbt-mobile-only > a {
    display:block;
    padding:14px 16px;
    margin:12px 16px 8px;
    border-radius:12px;
    font-weight:500;
    background:var(--cbt-gold,#cfaf86);
    color:var(--cbt-ivory,#F9F6F2);
  }
}
@media (max-width: 991.98px) {
  li.menu-item.cbt-mobile-only > a {
    color:#F9F6F2 !important;
    font-weight:500;
    text-align:center;
  }
}

/* CBT — My Account: keep header/hamburger above any login banner */
.woocommerce-account .lqd-head,
.woocommerce-account .header-sticky,
.woocommerce-account button.navbar-toggle {
  position: relative !important;
  z-index: 10030 !important;
}

/* If a login/hero band was absolutely positioned, push it behind the header */
.woocommerce-account .account-hero,
.woocommerce-account .login-header,
.woocommerce-account .woocommerce-MyAccount-content > .login-header,
.woocommerce-account .site-banner,
.woocommerce-account .page-header {
  z-index: 1 !important;
}

/* Last-resort: do not let any full-width overlay catch taps above the header */
.woocommerce-account .account-hero,
.woocommerce-account .login-header,
.woocommerce-account .site-banner {
  pointer-events: none;
}
.woocommerce-account .account-hero * ,
.woocommerce-account .login-header * ,
.woocommerce-account .site-banner * {
  pointer-events: auto;
}

/* Force one-line, swipeable tab row */
.cbt-tabs {
  display:flex !important;
  flex-wrap:nowrap !important;
  overflow-x:auto !important;
  gap:.5rem !important;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scroll-snap-type:x proximity;
  padding:.5rem 0;
  max-width:100%;
}

/* Dokan Become a Vendor button */
.woocommerce-account .dokan-account-migration-lists .right-content a.btn.btn-primary {
  display:inline-block;
  padding:10px 16px;
  background:#0d2a4a;
  color:#fff !important;
  border:none;
  border-radius:6px;
  line-height:1.2;
  font-weight:400;
  text-decoration:none;
  transition:background-color .15s ease, color .15s ease;
}
.woocommerce-account .dokan-account-migration-lists .right-content a.btn.btn-primary:hover,
.woocommerce-account .dokan-account-migration-lists .right-content a.btn.btn-primary:focus {
  background:#B8AFA2;
  color:#fff !important;
}

/* Spacing for Become a Vendor row */
.dokan-account-migration-lists .left-content {
  padding-right:14px;
  box-sizing:border-box;
}
.dokan-account-migration-lists .left-content p {
  margin:0 0 6px;
}

/* When the columns stack on small screens */
@media (max-width:600px) {
  .dokan-account-migration-lists .left-content {
    padding-right:10px;
    margin-bottom:10px;
  }
}

/* My Account → "Hello" line spacing */
.woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
  margin-top:12px;
}
@media (max-width:782px) {
  .woocommerce-account .woocommerce-MyAccount-content > p:first-of-type {
    margin-top:14px;
  }
}

/* My Account → Ticket buttons */
.woocommerce-account .etn-download-ticket {
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:8px;
}
.woocommerce-account .etn-download-ticket .etn-btn.button {
  padding:10px 20px;
  border-radius:6px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:0;
  box-shadow:none !important;
}

/* Primary: Download */
.woocommerce-account .etn-download-ticket .etn-download-ticket-btn {
  background:#0a1f44 !important;
  border:2px solid #0a1f44 !important;
  color:#fff !important;
}
.woocommerce-account .etn-download-ticket .etn-download-ticket-btn:hover,
.woocommerce-account .etn-download-ticket .etn-download-ticket-btn:focus {
  background:#B8AFA2 !important;
  border-color:#B8AFA2 !important;
  color:#0a1f44 !important;
}

/* Secondary: Print */
.woocommerce-account .etn-download-ticket .etn-print-ticket-btn {
  background:transparent !important;
  border:2px solid #0a1f44 !important;
  color:#0a1f44 !important;
}
.woocommerce-account .etn-download-ticket .etn-print-ticket-btn:hover,
.woocommerce-account .etn-download-ticket .etn-print-ticket-btn:focus {
  background:#0a1f44 !important;
  color:#fff !important;
}

/* QR ticket page buttons */
.etn-download-ticket {
  display:flex;
  justify-content:center;
  gap:16px;
  flex-wrap:wrap;
  margin-top:12px;
}
#etn_ticket_download_btn.etn-btn.button {
  background:#0a1f44 !important;
  border:2px solid #0a1f44 !important;
  color:#fff !important;
  padding:10px 20px !important;
  border-radius:6px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}
#etn_ticket_download_btn.etn-btn.button:hover,
#etn_ticket_download_btn.etn-btn.button:focus {
  background:#B8AFA2 !important;
  border-color:#B8AFA2 !important;
  color:#0a1f44 !important;
}
#etn_ticket_print_btn.etn-btn.button {
  background:transparent !important;
  border:2px solid #0a1f44 !important;
  color:#0a1f44 !important;
  padding:10px 20px !important;
  border-radius:6px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
}
#etn_ticket_print_btn.etn-btn.button:hover,
#etn_ticket_print_btn.etn-btn.button:focus {
  background:#0a1f44 !important;
  color:#fff !important;
}

/* CBT – Force login button on mobile */
@media (max-width: 1024px) {
  header .header-module,
  .header-module {
    display: flex !important;
    align-items: center;
  }
  header .header-module .cbt-login-btn,
  .header-module .cbt-login-btn,
  .cbt-login-btn {
    display: inline-flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 0.55em 1.2em;
    border-radius: 999px;
    text-decoration: none;
  }
}
/* CBT – Hardened two-column layout for Eventin single event pages
   Left: content (65%), Right: tickets + sidebar (35%)
   Mobile: stack full-width
---------------------------------------------------------*/

/* Base flex row for single event layout */
.single-etn .etn-event-single-wrap .etn-row {
    display: flex !important;
    flex-wrap: wrap;
}

/* Make sure both columns respect our sizing */
.single-etn .etn-event-single-wrap .etn-col-lg-8,
.single-etn .etn-event-single-wrap .etn-col-lg-4 {
    box-sizing: border-box;
}

/* Mobile-first: stack columns 100% width */
.single-etn .etn-event-single-wrap .etn-col-lg-8 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

.single-etn .etn-event-single-wrap .etn-col-lg-4 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
}

/* Desktop and larger – side-by-side */
@media (min-width: 1025px) {
    .single-etn .etn-event-single-wrap .etn-row {
        flex-wrap: nowrap;
        gap: 40px;
    }

    .single-etn .etn-event-single-wrap .etn-col-lg-8 {
        flex: 0 0 65% !important;
        max-width: 65% !important;
    }

    .single-etn .etn-event-single-wrap .etn-col-lg-4 {
        flex: 0 0 35% !important;
        max-width: 35% !important;
    }
}
/* CBT – Stretch Eventin single event banner full-width */
.single-etn .etn-es-events-page-container.event-two > .etn-event-banner-wrap {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

/* Keep inner content centered within that full-width banner */
.single-etn .etn-event-banner-wrap .etn-container {
    max-width: 1200px; /* or your site content width */
    margin: 0 auto;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}
/* CBT: hide grid message on single Eventin event pages */
body.single-etn .etn-event-banner-wrap .cbt-grid-msg,
body.single-etn .cbt-grid-msg {
    display: none !important;
}
/* CBT: make Eventin single-event banner full-width like the demo */
body.single-etn .etn-es-events-page-container .etn-event-banner-wrap {
    width: 100vw;                          /* use full viewport width */
    margin-left: calc(50% - 50vw);         /* pull banner out of the center container */
    margin-right: calc(50% - 50vw);
    border-radius: 0;                      /* in case theme is rounding corners */
}

/* Make sure the banner image behaves nicely */
body.single-etn .etn-event-banner-wrap {
    background-size: cover;
    background-position: center center;
}
/* CBT: pull Eventin single-event banner up under the main header */
body.single-etn .etn-es-events-page-container {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* If theme adds margin on the first block inside entry/content, remove it */
body.single-etn .entry-content > .etn-es-events-page-container:first-child,
body.single-etn .site-main > .etn-es-events-page-container:first-child,
body.single-etn .content-area > .etn-es-events-page-container:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
/* CBT – keep Add To Calendar labels visible on hover */
.etn-recurring-add-calendar-wrapper [class*="add-to-calender"] a {
    color: #000 !important;              /* normal state text */
}

/* Hover state – keep text readable and remove the dark bar */
.etn-recurring-add-calendar-wrapper [class*="add-to-calender"] a:hover {
    background-color: transparent !important;
    color: #000 !important;              /* or #fff if you’d rather */
    box-shadow: none !important;
}

/* CBT – Venue & Map block on single event */
.single-etn_event .cbt-event-venue-map-block {
    margin-top: 3rem;
    margin-bottom: 2.5rem;
    padding: 2rem 2.5rem;
    border-radius: 18px;
    background: #0b1424; /* cbt-midnight */
    color: #ffffff;
}

.single-etn_event .cbt-event-venue-map-heading {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    margin: 0 0 0.75rem;
    text-transform: uppercase;
}

.single-etn_event .cbt-event-venue-map-address {
    margin: 0 0 1.5rem;
    font-size: 0.95rem;
    opacity: 0.9;
}

.single-etn_event .cbt-event-venue-map-embed iframe {
    width: 100%;
    min-height: 260px;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.45);
}
/* CBT – Force Eventin ticket selector to always show on single event pages */
.single-etn_event .etn-single-event-ticket-wrap,
.single-etn_event .etn-single-event-ticket-wrap * {
    opacity: 1 !important;
    visibility: visible !important;
}

/* Make sure the ticket block itself is not collapsed */
.single-etn_event .etn-single-event-ticket-wrap,
.single-etn_event .etn-purchase-ticket-root {
    display: block !important;
    height: auto !important;
}

/* CBT – Organizer block under Venue & Location */
.single-etn_event .cbt-event-organizer-block {
    margin: 2.5rem 0 2rem;
    padding: 1.5rem 1.75rem;
    border-radius: 18px;
    background: #f7f7fb;
    border: 1px solid rgba(0,0,0,0.04);
}

.single-etn_event .cbt-event-organizer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
}

/* Left side: avatar + name */
.single-etn_event .cbt-organizer-main {
    display: flex;
    align-items: center;
    gap: 0.85rem;
}

.single-etn_event .cbt-organizer-avatar-img {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

.single-etn_event .cbt-organizer-label {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    opacity: 0.7;
    margin-bottom: 0.1rem;
}

.single-etn_event .cbt-organizer-name {
    font-size: 1.05rem;
    margin: 0;
}

.single-etn_event .cbt-organizer-name a {
    text-decoration: none;
    color: #111319;
}

/* Right side: follow button */
.single-etn_event .cbt-organizer-follow .dokan-follow-store-button {
    font-size: 0.8rem;
    padding: 0.45rem 0.9rem;
    border-radius: 999px;
}

/* Mobile: stack vertically */
@media (max-width: 767px) {
    .single-etn_event .cbt-event-organizer-inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .single-etn_event .cbt-organizer-follow {
        width: 100%;
    }

    .single-etn_event .cbt-organizer-follow .dokan-follow-store-button {
        width: auto;
    }
}
