/* Reset spacing for icons - use as utility class */
.icon-no-space {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    line-height: 1 !important;
    font-size: inherit !important;
    display: inline-block; /* Keeps block-like control while staying inline */
    vertical-align: middle; /* Better vertical alignment */
}

/* Reset inner elements if needed */
.icon-no-space > * {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    display: block; /* Remove inner spacing */
}

/* Reusable Modern Empty State Card - Full Width */

.empty-card {
    width: 100%;
    padding: 1.25rem 0;
}

.empty-card-inner {
    width: 100%;
    background: var(--mpx-clr-acc-b);
    border-radius: 0.5rem;
    padding: 5rem 2.5rem;
    text-align: center;
    box-shadow: var(--mpx-shd-hv-lg);
}

.empty-card-title {
    font-size: var(--mpx-fs-headline);
    margin-bottom: 0.75rem;
    color: #fff;
	text-transform: uppercase; 
	
}

.empty-card-text {
    font-size: var(--mpx-fs-sm);
    color: var(--mpx-clr-gray-d);
    margin: 0;
}

/* =======================
Container Hover - Simplified
======================= */

/* Change ALL text color on hover */
.hover-container:hover,
.hover-container:hover * {
    color: var(--mpx-clr-sec) !important;
}

/* Change icon fill color */
.hover-container:hover .elementor-widget-icon svg path {
    fill: var(--mpx-clr-sec) !important;
}

/* Change font icon color */
.hover-container:hover .elementor-widget-icon i {
    color: var(--mpx-clr-sec) !important;
}

/* Smooth transition */
.hover-container * {
    transition: color 0.3s ease, fill 0.3s ease !important;
}



/* =======================
   NWF Form Styling - Using Your Design Tokens
   ======================= */

/* =======================
   Base Form Container
   ======================= */

#NWF_Form {
    font-family: var(--mpx-ff-a, "Sora", sans-serif) !important;
    width: 100% !important;
}

/* =======================
   Form Field Groups & Layout
   ======================= */

/* Two-column layout for first row */
#NWF_Form .elementor-field-group-first_name,
#NWF_Form .elementor-field-group-last_name,
#NWF_Form .elementor-field-group-email,
#NWF_Form .elementor-field-group-phone {
    margin-bottom: 1.25rem !important;
}

/* All field groups */
#NWF_Form .elementor-field-group {
    margin-bottom: 1.25rem !important;
}

/* =======================
   Labels
   ======================= */

#NWF_Form .elementor-field-label {
    display: block !important;
    margin-bottom: 0.25rem !important;
    font-size: var(--mpx-fs-xs, 0.875rem) !important;
    font-weight: var(--mpx-fw-md, 500) !important;
    color: var(--mpx-clr-pri, #0b0b0b) !important;
}

/* =======================
   Inputs, Selects, Textareas
   ======================= */

#NWF_Form input:not([type="checkbox"]):not([type="submit"]),
#NWF_Form select,
#NWF_Form textarea {
    width: 100% !important;
    padding: 0.75rem 1rem;
    border: 1px solid var(--mpx-brd-l, #d6d6d6) !important;
    border-radius: 0.25rem !important;
    font-size: var(--mpx-fs-body, 1rem) !important;
    font-family: inherit !important;
    background: var(--mpx-clr-owh, #fafafa) !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.04), 0 1px 2px rgba(0,0,0,0.04) !important;
}

/* Placeholder */
#NWF_Form ::placeholder {
    color: var(--mpx-clr-gray-l, #b8b8b8) !important;
    font-size: var(--mpx-fs-sm, 0.875rem) !important;
    opacity: 1 !important;
}

/* =======================
   Select Dropdown Options Font
   ======================= */

#NWF_Form select,
#NWF_Form select option {
    font-family: var(--mpx-ff-a, "Sora", sans-serif) !important;
}

/* =======================
   Select Dropdown Arrow
   ======================= */

#NWF_Form .elementor-field.elementor-select-wrapper {
    position: relative !important;
}

#NWF_Form .select-caret-down-wrapper {
    top: 45% !important;
    transform: translateY(-50%) !important;
    position: absolute !important;
    right: 1rem !important;
    pointer-events: none !important;
}

/* =======================
   Focus States
   ======================= */

#NWF_Form input[type="text"]:focus,
#NWF_Form input[type="email"]:focus,
#NWF_Form input[type="tel"]:focus,
#NWF_Form input[type="date"]:focus,
#NWF_Form select:focus,
#NWF_Form textarea:focus {
    outline: none !important;
    border-color: var(--mpx-clr-sec, #c9a24d) !important;
    box-shadow: var(--mpx-shd-foc, 0 0 0 3px rgba(201, 162, 77, 0.2)) !important;
}

/* =======================
   Checkbox Styling
   ======================= */

#NWF_Form .elementor-field-type-acceptance {
    margin: 0.75rem 0 !important;
}

#NWF_Form .elementor-field-option {
    display: flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
}

#NWF_Form .elementor-field-option input[type="checkbox"] {
    margin: 0 !important;
    flex-shrink: 0 !important;
    width: 1rem !important;
    height: 1rem !important;
    accent-color: var(--mpx-clr-sec, #c9a24d) !important;
}

#NWF_Form .elementor-field-option label {
    font-family: inherit !important;
    font-size: var(--mpx-fs-xxs, 0.875rem) !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    color: var(--mpx-clr-gray-d, #0b0b0b) !important;
}

#NWF_Form .elementor-field-option a {
    color: var(--mpx-clr-sec, #c9a24d) !important;
    text-decoration: none !important;
}

#NWF_Form .elementor-field-option a:hover {
    text-decoration: underline !important;
}

/* =======================
   Submit Button
   ======================= */

#NWF_Form .elementor-field-type-submit {
    margin-top: 0.75rem !important;
}

#NWF_Form .elementor-button {
    width: 100% !important;
    padding: 1.1rem 1.25rem !important;
    background: var(--mpx-clr-sec, #0b0b0b) !important;
    color: var(--mpx-clr-acc-a, #ffffff) !important;
    border: none !important;
    border-radius: 0.25rem !important;
    font-size: var(--mpx-fs-sm, 1rem) !important;
    font-weight: var(--mpx-fw-sb, 600) !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
}

#NWF_Form .elementor-button:hover {
    background: var(--mpx-clr-acc-a, #c9a24d) !important;
    color: var(--mpx-clr-sec, #0b0b0b) !important;
    box-shadow: var(--mpx-shd-hv-sm, 2px 4px 8px rgba(0,0,0,0.08)) !important;
}

/* =======================
   Required Field Indicator
   ======================= */

#NWF_Form .elementor-mark-required .elementor-field-label:after {
    content: "*";
    color: var(--mpx-clr-err-d, #c9a24d) !important;
    margin-left: 0.25rem !important;
    font-size: 0.75rem !important;
}

/* =======================
   Error States
   ======================= */
/* =======================
   Error States - Border Light
   ======================= */

#NWF_Form .elementor-error input,
#NWF_Form .elementor-error select,
#NWF_Form .elementor-error textarea {
    border-color: var(--mpx-clr-err-l, #fcecea) !important;
    background-color: var(--mpx-clr-err-l, #fcecea) !important;
}

#NWF_Form .elementor-message.elementor-help {
    color: var(--mpx-clr-err-d, #c63636);
    font-size: var(--mpx-fs-xs, 0.875rem);
    margin-top: 0.25rem;
}

/* =======================
   Responsive
   ======================= */

@media (max-width: 767px) {
    
    #NWF_Form .elementor-field-group-first_name,
    #NWF_Form .elementor-field-group-last_name,
    #NWF_Form .elementor-field-group-email,
    #NWF_Form .elementor-field-group-phone {
        width: 100% !important;
    }
    
    #NWF_Form ::placeholder {
        font-size: 16px !important;
    }
}

/* ========================================
   News Ticker
   ======================================== */

.news-ticker-container {
    background: var(--mpx-clr-sec, #c9a24d) !important;
    padding: 0 0.75rem 0 0 !important;
    display: flex !important;
    align-items: center !important;
    overflow: hidden !important;
    width: 100% !important;
    height: 2.5rem !important;
    font-family: var(--ff-a, var(--mpx-ff-a, "Sora", sans-serif)) !important;
}

.news-ticker-label {
    display: flex !important;
    background: var(--mpx-clr-acc-b, #232323) !important;
    color: var(--mpx-clr-sec, #c9a24d) !important;
    font-weight: 500 !important;
    padding: 0.75rem !important;
    height: 2.5rem !important;
    margin-right: 0.75rem !important;
    text-transform: uppercase !important;
    font-size: var(--mpx-fs-xxs, 0.9375rem) !important;
    letter-spacing: 1px !important;
    white-space: nowrap !important;
    z-index: 2 !important;
    align-items: center !important;
}

.news-ticker-wrapper {
    flex: 1 !important;
    overflow: hidden !important;
    position: relative !important;
}

.news-ticker-track {
    display: inline-block !important;
    white-space: nowrap !important;
    animation: scrollTicker 30s linear infinite !important;
    padding-right: 0.75rem !important;
}

.news-ticker-item {
    display: inline-block !important;
    margin-right: 1.25rem !important;
    font-size: var(--mpx-fs-xs, 0.9375rem) !important;
}

.news-ticker-item a {
    color: var(--mpx-clr-acc-b, #232323) !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    transition: color 0.3s ease !important;
}

.news-ticker-item a:hover {
    color: var(--mpx-clr-pri, #0b0b0b) !important;
}

.news-ticker-separator {
    margin-left: 1.25rem !important;
    color: var(--mpx-clr-pri, #0b0b0b) !important;
    font-weight: bold !important;
}

/* Fixed animation */
@keyframes scrollTicker {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Pause on hover */
.news-ticker-wrapper:hover .news-ticker-track {
    animation-play-state: paused !important;
}

/* ========================================
   Responsive Adjustments
   ======================================== */

/* Mobile (up to 767px) */
@media (max-width: 767px) {
    .news-ticker-container {
        flex-direction: column !important;
        padding: 0.5rem 0 !important;
        height: auto !important;
    }
    
    .news-ticker-label {
        display: none !important;
    }
    
    .news-ticker-wrapper {
        width: 100% !important;
    }
    
    .news-ticker-item {
        font-size: var(--mpx-fs-sm, 0.9375rem) !important;
    }
}

/* Tablet (768px - 1024px) */
@media (min-width: 768px) and (max-width: 1024px) {
    .news-ticker-container {
        height: auto !important;
        min-height: 2.5rem !important;
        padding: 0 0.5rem 0 0 !important;
    }
    
    .news-ticker-label {
        font-size: var(--mpx-fs-xs, 0.875rem) !important;
        padding: 0.5rem !important;
        margin-right: 0.5rem !important;
        height: auto !important;
        white-space: nowrap !important;
    }
    
    .news-ticker-item {
        font-size: var(--mpx-fs-xs, 0.875rem) !important;
    }
}


/* =========================================
   MPX TEXT RESET – FULL TYPOGRAPHY ENFORCE
   Usage: Add class "mpx-text-reset" to Text Editor widget
========================================= */

/* Force font family everywhere */
.mpx-text-reset,
.mpx-text-reset * {
  font-family: var(--mpx-ff-a) !important;
}

/* =======================
   Headings
======================= */

.mpx-text-reset h1,
.mpx-text-reset h2,
.mpx-text-reset h3,
.mpx-text-reset h4,
.mpx-text-reset h5,
.mpx-text-reset h6 {
  color: var(--mpx-clr-pri) !important;
  text-transform: uppercase;
}

/* H1–H3 share same size + weight */
.mpx-text-reset h1,
.mpx-text-reset h2,
.mpx-text-reset h3 {
  font-size: var(--mpx-fs-h4) !important;
  font-weight: 700 !important;
}

.mpx-text-reset h1 { line-height: var(--mpx-lh-h1) !important; }
.mpx-text-reset h2 { line-height: var(--mpx-lh-h2) !important; }
.mpx-text-reset h3 { line-height: var(--mpx-lh-h3) !important; }

/* H4 */
.mpx-text-reset h4 {
  font-size: var(--mpx-fs-h3) !important;
  line-height: var(--mpx-lh-h4) !important;
  font-weight: 600 !important;
}

/* H5 */
.mpx-text-reset h5 {
  font-size: var(--mpx-fs-h5) !important;
  line-height: var(--mpx-lh-h5) !important;
  font-weight: 600 !important;
}

/* H6 */
.mpx-text-reset h6 {
  font-size: var(--mpx-fs-headline) !important;
  line-height: var(--mpx-lh-headline) !important;
  font-weight: 600 !important;
}

/* =======================
   Body & Lists
======================= */

.mpx-text-reset p,
.mpx-text-reset li,
.mpx-text-reset span {
  font-size: var(--mpx-fs-body) !important;
  line-height: var(--mpx-lh-body) !important;
  font-weight: 400 !important;
  color: var(--mpx-clr-pri) !important;
}

/* =======================
   Links
======================= */

.mpx-text-reset a {
  color: var(--mpx-clr-sec) !important;
  text-decoration: none !important;
}

.mpx-text-reset a:hover {
	color: var(--mpx-clr-acc-b) !important;
  text-decoration: underline !important;
}

/* =========================================
   REL LINK COLOR – RELEASE CPT LINKS
   Usage: Add class "rel-link-color" to Text widget on Release single pages
========================================= */

.rel-link-color a {
    color: var(--mpx-clr-gray-d) !important;
}
.rel-link-color a:hover {
    color: var(--mpx-clr-sec) !important;
}

.rel-link-color-2 a {
    color: #ffffff !important;
}
.rel-link-color-2 a:hover {
    color: var(--mpx-clr-sec) !important;
}

/* =========================================
Release Card: Keep heading dark on light backgrounds

Usage:
Add "invert_text_trigger" to the Loop Grid wrapper.
Add "invert_text" to the Heading widget.

This ensures headings remain dark when the loop grid has a light background, overriding automatic color switching.
========================================= */
.invert_text_trigger .invert_text .elementor-heading-title {
    color: #161616 !important;
}

/* ========================================
   Hide container if Loop Grid is empty
   Works when Elementor outputs empty message
   ======================================== */

/* ========================================
   Hide Release section if Loop Grid empty
   ======================================== */
.release-section:has(.e-loop-nothing-found-message) {
    display: none !important;
}

/* ========================================
   Hide Music Video section if Loop Grid empty
   ======================================== */
.music-video-section:has(.e-loop-nothing-found-message) {
    display: none !important;
}

/* ========================================
   Off Canvas Glass Panel – Mobile
   Detach from edges + background blur
   ======================================== */

.slide-header .e-off-canvas__content {
 margin-right: 1.25rem !important;
 backdrop-filter: blur(12px) !important;
 -webkit-backdrop-filter: blur(12px) !important; /* for Safari */
}

@media only screen and (max-width: 767px) {
 .slide-header .e-off-canvas__content {
  margin: .875rem !important;
  height: 96vh !important; 
 }
}