@font-face {
  font-family: 'Partybands Manrope';
  src: url('./party-brand-assets/manrope-800.ttf') format('truetype');
  font-style: normal;
  font-weight: 800;
  font-display: swap;
}

@font-face {
  font-family: 'Partybands Manrope';
  src: url('./party-brand-assets/manrope-400.ttf') format('truetype');
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

:root {
  --pb-brand: #ff795d;
  --pb-brand-hover: #ff977f;
  --pb-ink: #151716;
  --pb-paper: #f7f6f2;
}

.elementor-kit-16 {
  --pb-brand: var(--e-global-color-primary, #ff795d);
  --pb-brand-hover: color-mix(in srgb, var(--pb-brand) 78%, white);
  --e-global-color-accent: var(--pb-brand);
  --e-global-color-pb_primary: var(--pb-brand);
  --e-global-color-pb_primary_hover: var(--pb-brand-hover);
  --e-global-color-pb_primary_soft: color-mix(in srgb, var(--pb-brand) 12%, white);
}

.pb-wordmark,
.pb-wordmark-bars {
  display: inline-flex;
  align-items: center;
}

.pb-wordmark {
  gap: 10px;
  font-family: 'Partybands Manrope', Arial, sans-serif;
  font-size: 25px;
  font-weight: 800;
  letter-spacing: -1.2px;
  line-height: 1;
  white-space: nowrap;
  vertical-align: middle;
}

.pb-wordmark-bars {
  height: 25px;
  gap: 3px;
  flex: none;
}

.pb-wordmark-bars i {
  display: block;
  width: 4px;
  height: 13px;
  border-radius: 2px;
  background: var(--pb-brand);
}

.pb-wordmark-bars i:nth-child(2) { height: 24px; }
.pb-wordmark-bars i:nth-child(3) { height: 19px; }
.pb-wordmark-bars i:nth-child(4) { height: 9px; }

.pb-wordmark-domain {
  font-weight: 400;
  opacity: .58;
}

.pb-wordmark-name {
  position: relative;
  display: inline-block;
}

.pb-wordmark-shine {
  position: absolute;
  inset: 0;
  display: block;
  pointer-events: none;
  user-select: none;
  color: transparent;
  -webkit-text-fill-color: transparent;
  background: linear-gradient(90deg,
    transparent 0%,
    transparent 44%,
    rgba(255, 182, 145, .55) 48%,
    rgba(255, 255, 255, .98) 50%,
    rgba(255, 182, 145, .55) 52%,
    transparent 57%,
    transparent 100%);
  background-size: 230% 100%;
  background-position: 100% 50%;
  background-repeat: no-repeat;
  -webkit-background-clip: text;
  background-clip: text;
}

.pb-wordmark:hover .pb-wordmark-shine,
.header-elementor a:focus-visible .pb-wordmark-shine {
  animation: pbWordmarkShine .9s ease-out both;
}

.pb-wordmark-bars i {
  transform-origin: center;
}

.pb-wordmark:hover .pb-wordmark-bars i,
.header-elementor a:focus-visible .pb-wordmark-bars i {
  animation: pbWordmarkPulse 1s ease-in-out both;
}

.pb-wordmark:hover .pb-wordmark-bars i:nth-child(2),
.header-elementor a:focus-visible .pb-wordmark-bars i:nth-child(2) { animation-delay: .07s; }
.pb-wordmark:hover .pb-wordmark-bars i:nth-child(3),
.header-elementor a:focus-visible .pb-wordmark-bars i:nth-child(3) { animation-delay: .14s; }
.pb-wordmark:hover .pb-wordmark-bars i:nth-child(4),
.header-elementor a:focus-visible .pb-wordmark-bars i:nth-child(4) { animation-delay: .21s; }

@keyframes pbWordmarkShine {
  from { background-position: 88% 50%; }
  to { background-position: 0% 50%; }
}

@keyframes pbWordmarkPulse {
  0%, 100% { transform: scaleY(1); }
  35% { transform: scaleY(.67); }
  62% { transform: scaleY(1.15); }
}

@media (prefers-reduced-motion: reduce) {
  .pb-wordmark:hover .pb-wordmark-shine,
  .header-elementor a:focus-visible .pb-wordmark-shine,
  .pb-wordmark:hover .pb-wordmark-bars i,
  .header-elementor a:focus-visible .pb-wordmark-bars i {
    animation: none;
  }
}

.header-elementor .elementor-heading-title:has(.pb-wordmark) {
  line-height: 1;
}

.header-elementor .elementor-heading-title .pb-wordmark {
  color: inherit;
}

.header-elementor .pb-wordmark-link,
.header-elementor .pb-wordmark-link:hover,
.header-elementor .pb-wordmark-link:focus-visible {
  display: inline-flex;
  align-items: center;
  color: #0f172a;
  text-decoration: none;
}

.header-elementor .elementor-element-e639f6b .elementor-widget-container {
  line-height: 1;
}

.header-elementor .javo-responsive-menu__drawer-title {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: 'Partybands Manrope', Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.04em;
}

.header-elementor .javo-responsive-menu__drawer-title::before {
  content: '';
  display: inline-block;
  width: 27px;
  height: 27px;
  flex: none;
  background: var(--pb-brand);
  -webkit-mask: url('/wp-content/uploads/partyband-design/partybands-mark-512.webp') center / contain no-repeat;
  mask: url('/wp-content/uploads/partyband-design/partybands-mark-512.webp') center / contain no-repeat;
}

.elementor-6723 .elementor-element-74d8149 .jv-heading-text {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: 'Partybands Manrope', Arial, sans-serif;
  font-weight: 800;
}

.elementor-6723 .elementor-element-74d8149 .jv-heading-text::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 22px;
  flex: none;
  background: var(--pb-brand);
  -webkit-mask: url('/wp-content/uploads/partyband-design/partybands-mark-512.webp') center / contain no-repeat;
  mask: url('/wp-content/uploads/partyband-design/partybands-mark-512.webp') center / contain no-repeat;
}

@media (max-width: 767px) {
  .pb-wordmark { font-size: 23px; }
}

.header-elementor .javo-responsive-menu__badge {
  background: color-mix(in srgb, var(--pb-brand) 12%, white);
  color: var(--pb-brand);
}

.header-elementor .javo-responsive-menu__toggle:hover,
.header-elementor .javo-responsive-menu__toggle:focus-visible,
.header-elementor .javo-responsive-menu__quick-link:hover,
.header-elementor .javo-responsive-menu__quick-link:focus-visible {
  border-color: color-mix(in srgb, var(--pb-brand) 62%, white);
  background: color-mix(in srgb, var(--pb-brand) 12%, white);
  color: var(--pb-brand);
}

.javo-map-list .jml-card-favorite-host .javo-favorite.saved,
.javo-map-list .jml-expand-action-icon.saved {
  border-color: color-mix(in srgb, var(--pb-brand) 62%, white) !important;
  color: var(--pb-brand) !important;
}


/* Use the Party primary token for listing music and chat controls. */
body.elementor-kit-16 .javo-music-player {
  --javo-music-player-accent: var(--pb-brand);
}

body.elementor-kit-16 .javo-music-player--floating.javo-music-player--style-2 .javo-music-player__play {
  background: var(--pb-brand);
  box-shadow: 0 0.45rem 0.9rem color-mix(in srgb, var(--pb-brand) 28%, transparent);
}

body.elementor-kit-16 .javo-music-player--floating.javo-music-player--style-2 .javo-music-player__play:hover {
  background: var(--pb-brand-hover);
}

body.elementor-kit-16 .javo-music-player--floating .javo-music-player__progress input[type='range']::-webkit-slider-thumb,
body.elementor-kit-16 .javo-music-player--floating .javo-music-player__progress input[type='range']::-moz-range-thumb {
  background: var(--pb-brand);
}

body.elementor-kit-16 .javo-music-player__mode-switch button:focus-visible {
  outline-color: var(--pb-brand);
}

body.elementor-kit-16 #jv-chat-floating-btn.jv-chat-floating-btn {
  background: var(--pb-brand);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--pb-brand) 30%, transparent);
}

body.elementor-kit-16 #jv-chat-floating-btn.jv-chat-floating-btn:hover {
  background: var(--pb-brand-hover);
  box-shadow: 0 16px 32px color-mix(in srgb, var(--pb-brand) 34%, transparent);
}

body.elementor-kit-16 #jv-chat-floating-btn.jv-chat-floating-btn:focus-visible,
body.elementor-kit-16 .jv-chat-window-close:focus-visible,
body.elementor-kit-16 .jv-chat-lazy-retry:focus-visible {
  outline-color: color-mix(in srgb, var(--pb-brand) 45%, transparent);
}

body.elementor-kit-16 #jv-chat-floating-btn.jv-chat-floating-btn.has-unread {
  animation-name: pbChatLauncherPulse;
}

body.elementor-kit-16 .jv-chat-lazy-spinner {
  color: var(--pb-brand);
}

@keyframes pbChatLauncherPulse {
  0%, 100% {
    box-shadow: 0 12px 28px color-mix(in srgb, var(--pb-brand) 30%, transparent);
  }

  50% {
    box-shadow: 0 12px 36px color-mix(in srgb, var(--pb-brand) 48%, transparent);
  }
}


/* Demo listing notices use the same brand accents as their action buttons. */
body.elementor-kit-16 .javo-demo-action-modal__dialog {
  color: var(--pb-ink);
  background: radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--pb-brand) 14%, transparent), transparent 38%), var(--pb-paper);
  border-color: color-mix(in srgb, var(--pb-brand) 30%, white);
  box-shadow: 0 26px 70px color-mix(in srgb, var(--pb-ink) 22%, transparent);
}

body.elementor-kit-16 .javo-demo-action-modal__icon {
  background: linear-gradient(145deg, var(--pb-brand), var(--pb-brand-hover));
  box-shadow: 0 12px 26px color-mix(in srgb, var(--pb-brand) 28%, transparent);
}

body.elementor-kit-16 .javo-demo-action-modal__heading h2 {
  color: var(--pb-ink);
}

body.elementor-kit-16 .javo-demo-action-modal__badge {
  color: var(--pb-ink);
  border-color: color-mix(in srgb, var(--pb-brand) 30%, white);
}

body.elementor-kit-16 .javo-demo-action-modal__content p {
  color: color-mix(in srgb, var(--pb-ink) 72%, white);
}

body.elementor-kit-16 .javo-demo-action-modal__confirm {
  background: var(--pb-brand);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--pb-brand) 24%, transparent);
}

body.elementor-kit-16 .javo-demo-action-modal__confirm:hover {
  background: var(--pb-brand-hover);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--pb-brand) 30%, transparent);
}

body.elementor-kit-16 .javo-demo-action-modal__close {
  color: var(--pb-ink);
  border-color: color-mix(in srgb, var(--pb-brand) 25%, white);
}

body.elementor-kit-16 .javo-demo-action-modal__close:hover {
  color: var(--pb-brand);
}

body.elementor-kit-16 .javo-demo-action-modal__close:focus-visible,
body.elementor-kit-16 .javo-demo-action-modal__confirm:focus-visible {
  outline-color: color-mix(in srgb, var(--pb-brand) 45%, transparent);
}

/* Home hierarchy: shared role tokens keep labels quieter than card titles. */
body.home.elementor-kit-16 {
  --pb-home-title: var(--e-global-typography-pb_card_title-font-size, 16px);
  --pb-home-small: var(--e-global-typography-pb_small-font-size, 14px);
  --pb-home-label: var(--e-global-typography-pb_caption-font-size, 12px);
}

body.home.elementor-kit-16 .elementor-element-pageroot .elementor-element-pintro .javo-ad-slide__content {
  gap: 12px !important;
  align-items: flex-start;
}
body.home.elementor-kit-16 .elementor-element-pageroot .elementor-element-pintro .javo-ad-slide__title {
  max-width: 29ch;
  font-size: clamp(24px, 2.2vw, 30px) !important;
  line-height: 1.22 !important;
  letter-spacing: -.025em;
}
body.home.elementor-kit-16 .elementor-element-pageroot .elementor-element-pintro .javo-ad-slide__description {
  max-width: 60ch;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .elementor-element-pintro .javo-ad-slide__button {
  margin-top: 12px !important;
  min-height: 44px;
  padding: 11px 18px !important;
  font-size: 13px !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-gallery-card-content {
  gap: 3px !important;
  padding: 16px !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-gallery-card-badge {
  align-self: flex-start;
  width: fit-content;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  padding: 3px 7px !important;
  border-radius: 5px !important;
  background: var(--pb-brand) !important;
  border-color: transparent !important;
  color: #fff !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-gallery-card-title {
  font-size: 18px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-gallery-card-size-hero .javo-gallery-card-title {
  font-size: clamp(20px, 1.7vw, 24px) !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-gallery-card-directory-meta {
  font-size: 12px !important;
  font-weight: 400 !important;
  line-height: 1.25 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .block-header-custom-title {
  font-size: 18px !important;
  line-height: 1.4 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .block-header-custom-sub-title {
  margin-top: 0 !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-filter-track,
body.home.elementor-kit-16 .elementor-element-pageroot .javo-filter-buttons {
  gap: 8px !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-filter-btn,
body.home.elementor-kit-16 .elementor-element-pageroot .javo-filter-more-toggle,
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-block-header-action-link {
  font-size: var(--pb-home-label) !important;
  line-height: 1.4 !important;
  min-height: 36px;
  padding: 8px 12px !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-block-header-action {
  margin-inline-start: 8px;
  flex-shrink: 0;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-block-header-action-link {
  white-space: nowrap;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item .javo-post-meta-badge,
body.home.elementor-kit-16 .elementor-element-pageroot .javo-preview-image-label {
  font-size: 11px !important;
  line-height: 1.4 !important;
  padding: 3px 7px !important;
  font-weight: 500 !important;
  border-radius: 5px !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item .elementor-element-5ada289 .javo-post-meta-value {
  font-size: var(--pb-home-title) !important;
  line-height: 1.45 !important;
  font-weight: 600 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item .elementor-element-0bd5f78 {
  min-height: 22px;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item .elementor-element-0bd5f78 .javo-post-meta-value {
  font-size: 13px !important;
  line-height: 1.6 !important;
  font-weight: 400 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-view-count {
  font-size: var(--pb-home-label) !important;
  line-height: 1.5 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-meta-action-list {
  gap: 2px !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-meta-action-button {
  min-width: 32px;
  min-height: 32px;
}
@media (max-width: 767px) {
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-gallery-card-content { padding: 14px !important; }
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-block-header-action { margin-inline-start: 0; }
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-filter-btn,
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-filter-more-toggle,
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-block-header-action-link,
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-meta-action-button { min-height: 44px; }
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-meta-action-button { min-width: 44px; }
}

body.home.elementor-kit-16 .elementor-element-pageroot .javo-gallery-card-content > * {
  margin: 0 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-gallery-card-location {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Let the native overflow menu measure the full mobile action row. */
@media (max-width: 767px) {
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-block-header-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-block-header-main {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: none !important;
  }
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-block-header-actions {
    flex: 0 0 auto !important;
    width: 100%;
    max-width: none !important;
  }
}

/* Compact card copy without changing the Post Block responsive toolbar. */
body.home.elementor-kit-16 .elementor-element-pageroot .block-header-custom-heading-wrapper {
  gap: 2px !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .block-header-custom-title {
  margin: 0 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item .elementor-element-5ada289 {
  padding: 8px 0 0 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item .elementor-element-0bd5f78 {
  padding: 2px 0 0 !important;
  min-height: 0;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item .elementor-element-0bd5f78 .javo-post-meta-value {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px !important;
  line-height: 18px !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .pb-location-icon {
  flex: none;
  font-size: 13px;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item .elementor-element-2941e0f {
  margin: 6px 0 0 !important;
  padding: 0 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-meta-action-list {
  padding: 3px !important;
  gap: 0 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-meta-action-list .javo-post-meta-action-button {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  padding: 2px !important;
  min-width: 26px;
  min-height: 28px;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-meta-action-list .javo-post-meta-action-item {
  padding: 0 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-meta-action-button:focus-visible {
  outline: 2px solid white;
  outline-offset: -2px;
}
@media (max-width: 767px), (pointer: coarse) {
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-meta-action-list .javo-post-meta-action-button {
    min-width: 44px !important;
    min-height: 44px !important;
  }
}
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  /* Hide only controls, so nested gallery and share dialogs remain visible. */
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item:not(:hover):not(:focus-within) .javo-post-meta-action-list {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    box-shadow: none !important;
    border-color: transparent !important;
  }
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item:not(:hover):not(:focus-within) .javo-post-meta-action-list > .javo-post-meta-action-item > .javo-post-meta-action-button,
  body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item:not(:hover):not(:focus-within) .javo-post-meta-action-list > .javo-post-meta-action-item > .javo-share-button > .javo-post-meta-action-button {
    opacity: 0;
    pointer-events: none;
  }
}
body.home.elementor-kit-16 .elementor-element-pageroot .javo-post-item :is(.elementor-element-5ada289, .elementor-element-0bd5f78, .elementor-element-01444cc) > .elementor-widget-container {
  margin: 0 !important;
}
body.home.elementor-kit-16 .elementor-element-pageroot .elementor-element-0bd5f78 .javo-taxonomy-list {
  font-size: inherit !important;
  line-height: inherit !important;
}
