/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

/* =============================================================================
   TYPOGRAPHY - Plus Jakarta Sans (Self-Hosted Variable Font)
   ============================================================================= */

/* Apply Plus Jakarta Sans globally - Override Flatsome defaults */
body, p, h1, h2, h3, h4, h5, h6, ul, li, lo{
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, sans-serif !important;
}

.dark, .dark p, .dark td{
    font-size: 14px;
    line-height: 22px;
}

ul.mm-dot li {
    font-size: 13px;
    text-transform: uppercase;
    font-weight: bold;
    list-style-image: url('assets/images/dot.svg');
}
/* Gold Gradient Text - Reusable class for any element */
.gold-gradient-text,
.gold-gradient-text a {
    background: linear-gradient(to right, #FFE8C5, #E2B778, #BE9A48);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    display: inline-block;
}

.footer-wrapper .gold-gradient-text{
    font-weight: bold;
}

/* Gold Text - Solid gold color */
.gold-text,
.gold-text a {
    color: #E2B778;
}

.color-black{
    color: #000;
}

/* Font Size Classes */
.font-16 {
    font-size: 16px;
}

/* White button with underline - remove underline and make icon golden when no-underline class is present */
.button.white.is-underline.no-underline {
    text-decoration: none !important;
}

.button.white.is-underline.no-underline i,
.button.white.is-underline.no-underline i::before,
.button.white.is-underline.no-underline::after {
    color: #E2B778 !important;
}

/* Hide ::before pseudo-element for buttons with no-underline class */
.button.is-underline.no-underline::before {
    display: none !important;
}

.floating-text{
    font-size: 13px;
    font-weight: 400;
}

/* Banner Heading Styles */
.banner-heading {
    padding: 20px 0 !important;
}

.banner-heading .text {
    margin-bottom: 0;
}

.banner-heading p {
    font-size: 42px;
    line-height: 1.2;
    margin-bottom: 0;
    color: #fff;
}

.banner-heading p strong {
    color: #F6C561;
    font-weight: 600;
}

.banner-heading p{
    color: #E2B778;
    font-weight: 300;
}

/* Banner Buttons Styles */
.banner-buttons {
    padding: 0 0 30px !important;
}

.banner-cta-container {
    text-align: left;
}

.banner-cta {
    display: flex !important;
    flex-direction: row;
    align-items: center;
    padding: 10px;
    transition: transform 0.3s ease;
    border: 1px solid #272727;
    text-transform: uppercase;
    line-height: 100%;
}

.banner-cta:hover {
    transform: translateY(-5px);
}
.banner-cta span{
    font-size: 18px;
    line-height: 22px;
}
.banner-cta span.cta-anchor .gold-gradient-text {
    color: #F6C561;
    text-transform: uppercase;
    font-weight: bold;
}

/* Icons */
.banner-cta::before {
    content: '';
    display: inline-block;
    width: 55px;
    height: 50px;
    background-repeat: no-repeat;
    background-position: -12px center;
    margin-right: 5px;
    margin-bottom: 0;
}
.banner-cta::before{
    background-size: initial;
}
/* Individual button icons */
.banner-cta.ticket::before {
    background-image: url('images/ticket.png');
}

.banner-cta.ring::before {
    background-image: url('images/ring.png');
}

.banner-cta.bow::before {
    background-image: url('images/bow.png');
}

.banner-cta.hat::before {
    background-image: url('images/hat.png');
}

.banner-cta.gift::before {
    background-image: url('images/gift.png');
}

.banner-heading .col{
    padding-bottom: 0
}

/* Scrolling text animation */
.html_topbar_left {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    position: relative;
}

.html_topbar_left p {
    display: inline-block;
    padding-left: 100%;
    margin-right: 2em;
    animation: scroll-left 30s linear infinite;
    will-change: transform;
}

/* Double the text for seamless scrolling */
.html_topbar_left p:nth-child(2) {
    position: absolute;
    left: 100%;
    padding-left: 0;
}

@keyframes scroll-left {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-200%);
    }
}

/* Mobile: Start visible and scroll immediately */
@media screen and (max-width: 849px) {
    .html_topbar_left p {
        padding-left: 0;
    }
    
    .html_topbar_left p:nth-child(2) {
        left: 100%;
        padding-left: 0;
    }
}

/* Ensure the container spans full width */
.header-top .flex-center,
.header-top .nav-center {
    width: 100%;
}

/* Hide other columns when text is scrolling */
.header-top .flex-left,
.header-top .flex-right {
    display: none;
}
.footer {
    padding: 60px 0 0;
}

body .footer-wrapper .footer-2 p {
    font-size: 30px;
    font-weight: normal;
    line-height: 100%; 
    margin-bottom: 0;
}

.dark .widget a:not(.icon){
    font-size: 13px;
    text-transform: uppercase;
    color: hwb(0deg 100% 0% / 60%);
    font-weight: bold;
}

.dark .social-icons .button.is-outline{
    margin-left: 20px;
}

/* Gradient background */
.gradient-bg,
#footer.footer-wrapper {
    background: #0A0114;
    position: relative;
}

.gradient-bg::before,
#footer.footer-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 200px;
    background: linear-gradient(180deg, rgba(97, 61, 136, 0.6) 0%, rgba(97, 61, 136, 0.3) 40%, transparent 100%);
    pointer-events: none;
}

.gradient-bg.gradient-bg-dark::before,
#footer.footer-wrapper::before {
    background: linear-gradient(180deg, rgb(50 28 74 / 60%) 0%, rgb(64 40 90 / 30%) 40%, transparent 100%);
}

body .footer-1,
body .footer-2 {
    background-color: transparent;
}

/* Full width navigation styles */
.header-bottom .flex-col.flex-center {
    width: 100%;
}

.header-bottom .nav-center {
    display: flex;
    justify-content: space-between;
    width: 100%;
}

.header-bottom .nav-center > li {
    flex: 1;
    text-align: center;
}

.header-bottom .nav-center > li > a {
    justify-content: center;
    padding: 8px 0;
    width: 100%;
    letter-spacing: 2px;
    font-size: 14px;
}

/* Adjust dropdown positioning */
.header-bottom .nav-center > li.has-dropdown > ul.nav-dropdown {
    left: 50%;
    transform: translateX(-50%);
}

/* Primary button styles */
.primary-button,
.button.primary,
.button.is-primary,
button.primary,
input[type="submit"].primary,
.wpcf7-submit.primary {
    background-color: transparent !important;
    border: none !important;
    letter-spacing: 2px !important;
    font-size: 12px !important;
    position: relative !important;
    padding:6px 15px;
    transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
    z-index: 1;
}

/* CF7 Button Wrapper - enables ::before/::after on input elements */
.cf7-button-wrapper {
    position: relative;
    display: inline-block;
    z-index: 0;
}

/* CF7 wrapper ::before - creates the gradient border */
.cf7-button-wrapper::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    padding: 1px !important;
    background: linear-gradient(90deg, #F6C561 0%, #C255CD 25%, #F6C561 50%, #C255CD 75%, #F6C561 100%) !important;
    background-size: 300% 100% !important;
    border-radius: 2px !important;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
    -webkit-mask-composite: xor !important;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
    mask-composite: exclude !important;
    transition: background-position 0.3s ease;
    z-index: 0;
    pointer-events: none;
}

/* CF7 wrapper ::after - creates the arrow */
.cf7-button-wrapper::after {
    content: '';
    display: inline-block;
    width: 11px;
    height: 8px;
    margin-left: 8px;
    background-image: url('images/Arrow.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    transition: transform 0.2s ease, filter 0.2s ease;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

/* CF7 wrapper hover - shimmer effect */
.cf7-button-wrapper:hover::before {
    animation: borderShimmer 1.5s linear infinite;
}

/* CF7 wrapper hover - arrow nudge */
.cf7-button-wrapper:hover::after {
    transform: translateY(-50%) translateX(3px);
    filter: drop-shadow(0 0 4px rgba(246,197,97,0.6));
}

/* Adjust CF7 button padding to make room for arrow */
.cf7-button-wrapper .wpcf7-submit.primary {
    padding-right: 40px !important;
    margin: 0;
    width: 100%;
}

/* CF7 wrapper hover - button background */
.cf7-button-wrapper:hover .wpcf7-submit.primary {
    background-color: rgba(255,255,255,0.08) !important;
    transform: translateY(-1px) !important;
}

/* Form placeholder styles - white color */
input::placeholder,
textarea::placeholder,
select::placeholder,
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder,
input::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder,
input:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* CF7 specific placeholder styles */
.wpcf7-form-control::placeholder,
.wpcf7-form-control::-webkit-input-placeholder,
.wpcf7-form-control::-moz-placeholder,
.wpcf7-form-control:-ms-input-placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
}

/* General form inputs placeholder */
input[type="text"]::placeholder,
input[type="email"]::placeholder,
input[type="tel"]::placeholder,
input[type="number"]::placeholder,
input[type="search"]::placeholder,
input[type="url"]::placeholder,
input[type="password"]::placeholder,
textarea::placeholder {
    color: #ffffff !important;
    opacity: 1 !important;
}

.wpcf7-spinner {
    margin: 0;
    position: absolute;
    left: 0;
    background-color: #e8c187;
}

/* Primary button arrow - using custom SVG */
.primary-button::after,
.button.primary::after,
.button.is-primary::after,
button.primary::after,
input[type="submit"].primary::after,
.wpcf7-submit.primary::after {
    content: '';
    display: inline-block;
    width: 11px;
    height: 8px;
    margin-left: 8px;
    background-image: url('images/Arrow.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    vertical-align: middle;
    transition: transform 0.2s ease, filter 0.2s ease;
}

/* Hide arrow when button has other icons (like icon-envelop, icon-phone, etc.) */
.primary-button:has(i:not(.icon-angle-right))::after,
.button.primary:has(i:not(.icon-angle-right))::after,
.button.is-primary:has(i:not(.icon-angle-right))::after,
button.primary:has(i:not(.icon-angle-right))::after {
    display: none !important;
}

/* Hide default flatsome icon-angle-right in primary buttons - we use custom arrow instead */
.primary-button i.icon-angle-right,
.button.primary i.icon-angle-right,
.button.is-primary i.icon-angle-right,
button.primary i.icon-angle-right,
input[type="submit"].primary i.icon-angle-right {
    display: none;
}

.primary-button::before,
.button.primary::before,
.button.is-primary::before,
button.primary::before,
input[type="submit"].primary::before,
.wpcf7-submit.primary::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    padding: 1px !important;
    background: linear-gradient(90deg, #F6C561 0%, #C255CD 25%, #F6C561 50%, #C255CD 75%, #F6C561 100%) !important;
    background-size: 300% 100% !important;
    border-radius: 2px !important;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
    -webkit-mask-composite: xor !important;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0) !important;
    mask-composite: exclude !important;
    transition: background-position 0.3s ease;
    z-index: -1;
}

/* Sexy shimmer effect on hover - gradient flows through border */
.primary-button:hover::before,
.button.primary:hover::before,
.button.is-primary:hover::before,
button.primary:hover::before,
input[type="submit"].primary:hover::before,
.wpcf7-submit.primary:hover::before {
    animation: borderShimmer 1.5s linear infinite;
}

/* Primary hover: subtle fill, lift, and arrow nudge */
.primary-button:hover,
.button.primary:hover,
.button.is-primary:hover,
button.primary:hover,
input[type="submit"].primary:hover,
.wpcf7-submit.primary:hover {
    background-color: rgba(255,255,255,0.08) !important;
    transform: translateY(-1px) !important;
}

.primary-button:hover::after,
.button.primary:hover::after,
.button.is-primary:hover::after,
button.primary:hover::after,
input[type="submit"].primary:hover::after,
.wpcf7-submit.primary:hover::after {
    transform: translateX(3px);
    filter: drop-shadow(0 0 4px rgba(246,197,97,0.6));
}

@keyframes borderShimmer {
    0% {
        background-position: 0% 0%;
    }
    100% {
        background-position: 300% 0%;
    }
}
body .ti-widget.ti-goog .ti-platform-icon{
    display: none;
}

body .ti-widget.ti-goog .ti-widget-container .ti-name{
    padding-right: 0;
}

body .ti-widget.ti-goog .ti-profile-details,
body .ti-widget.ti-goog .ti-widget-container .ti-name,
body .ti-widget.ti-goog .ti-with-tooltip, .ti-widget.ti-goog .ti-verified-review,
body .ti-widget.ti-goog.ti-disable-font .ti-widget-container *{
    text-align: center;
}
.primary-button:active,
.button.primary:active,
.button.is-primary:active,
button.primary:active,
input[type="submit"].primary:active,
.wpcf7-submit.primary:active {
    transform: scale(0.98) !important;
}

/* Secondary button styles - Green gradient with Knight Rider animation */
.secondary-button,
.button.secondary,
.button.is-secondary,
button.secondary,
input[type="submit"].secondary {
    background: linear-gradient(90deg, #23761C 0%, #B8FA29 20%, #B8FA29 40%, #B8FA29 60%, #B8FA29 80%, #23761C 100%) !important;
    background-size: 200% 100% !important;
    border: none !important;
    border-radius: 0 !important;
    color: #000 !important;
    letter-spacing: 2px !important;
    font-size: 13px !important;
    padding: 4px 25px;
    font-weight: 600;
    text-transform: uppercase;
    transition: transform 0.2s ease, box-shadow 0.25s ease;
}

/* Secondary button icon styles */
.secondary-button i::before,
.button.secondary i::before,
.button.is-secondary i::before,
button.secondary i::before,
input[type="submit"].secondary i::before {
    color: #000 !important;
    font-size: 18px !important;
    vertical-align: middle;
    margin-right: 8px;
}

.secondary-button:hover,
.button.secondary:hover,
.button.is-secondary:hover,
button.secondary:hover,
input[type="submit"].secondary:hover {
    animation: knightRider 2s linear infinite;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(35,118,28,0.25), 0 2px 6px rgba(0,0,0,0.12);
}

/* Secondary hover: arrow nudge */
.secondary-button:hover::after,
.button.secondary:hover::after,
.button.is-secondary:hover::after,
button.secondary:hover::after,
input[type="submit"].secondary:hover::after {
    transform: translateX(3px);
}

/* Knight Rider sweeping light effect */
@keyframes knightRider {
    0% {
        background-position: 0% 0%;
    }
    50% {
        background-position: 100% 0%;
    }
    100% {
        background-position: 0% 0%;
    }
}

.secondary-button:active,
.button.secondary:active,
.button.is-secondary:active,
button.secondary:active,
input[type="submit"].secondary:active {
    transform: scale(0.98) !important;
}

/* Custom arrow for secondary buttons - black arrow SVG */
body .button.secondary{
    border-radius: 0!important;
}
.secondary-button::after,
.button.secondary::after,
.button.is-secondary::after,
button.secondary::after,
input[type="submit"].secondary::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 10px;
    margin-left: 8px;
    background-image: url('images/black-arrow.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: middle;
    transition: transform 0.2s ease, filter 0.2s ease;
}

/* Hide arrow if secondary button already has an icon (except icon-angle-right) */
.secondary-button:has(i:not(.icon-angle-right))::after,
.button.secondary:has(i:not(.icon-angle-right))::after,
.button.is-secondary:has(i:not(.icon-angle-right))::after,
button.secondary:has(i:not(.icon-angle-right))::after {
    display: none !important;
}

/* Hide default flatsome icon-angle-right in secondary buttons - we use custom arrow instead */
.secondary-button i.icon-angle-right,
.button.secondary i.icon-angle-right,
.button.is-secondary i.icon-angle-right,
button.secondary i.icon-angle-right,
input[type="submit"].secondary i.icon-angle-right {
    display: none;
}

/* Reusable Gradient Border - Apply to any element */
.gradient-border {
    position: relative;
    display: inline-block;
}

.gradient-border::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    background: linear-gradient(90deg, #F6C561 0%, #C255CD 5%, #C255CD 95%, #F6C561 100%);
    border-radius: 2px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none;
    z-index: 1;
}

/* For block elements (div, p, etc.) */
.gradient-border.block {
    display: block;
}

/* Thicker border option */
.gradient-border.thick::before {
    padding: 2px;
}

/* Custom Select Dropdown - Consistent across all devices */
.custom-select-wrapper {
    display: inline-block;
    position: relative;
    background-color: transparent;
    min-width: 180px;
    cursor: pointer;
}

/* Gradient border */
.custom-select-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    background: linear-gradient(90deg, #F6C561 0%, #C255CD 5%, #C255CD 95%, #F6C561 100%);
    border-radius: 2px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none;
    z-index: 1;
}

/* Dropdown trigger/button */
.custom-select-trigger {
    background-color: transparent;
    border: none;
    letter-spacing: 2px;
    padding: 10px 35px 10px 15px;
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    white-space: nowrap;
    user-select: none;
}

/* Map pin icon on left */
.custom-select-trigger .icon-map-pin-fill {
    color: #E2B778;
    font-size: 18px;
    padding-right: 12px;
    margin-right: 12px;
    border-right: 1px solid #333;
}

.custom-select-value {
    flex: 1;
    text-align: left;
    text-transform: uppercase;
    font-weight: bold;
}

/* Arrow icon */
.custom-select-arrow {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
    pointer-events: none;
}

.custom-select-wrapper.open .custom-select-arrow {
    transform: translateY(-50%) rotate(180deg);
}

/* Dropdown options container */
.custom-select-options {
    position: absolute;
    top: calc(100% + 5px);
    left: 0;
    right: 0;
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 2px;
    list-style: none;
    margin: 0;
    padding: 0;
    max-height: 250px;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-10px);
    transition: all 0.3s ease;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5);
}

.custom-select-wrapper.open .custom-select-options {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

/* Individual option */
.custom-select-option {
    padding: 10px 15px;
    color: #fff;
    cursor: pointer;
    transition: background-color 0.2s ease;
    font-size: 12px;
    letter-spacing: 2px;
}

.custom-select-option:hover {
    background-color: #2a2a2a;
}

.custom-select-option.selected {
    background-color: #333;
    color: #E2B778;
}

.custom-select-option.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.custom-select-option.disabled:hover {
    background-color: transparent;
}

/* Scrollbar styling for dropdown */
.custom-select-options::-webkit-scrollbar {
    width: 6px;
}

.custom-select-options::-webkit-scrollbar-track {
    background: #1a1a1a;
}

.custom-select-options::-webkit-scrollbar-thumb {
    background: #444;
    border-radius: 3px;
}

.custom-select-options::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Legacy select fallback (if JS fails) */
.select-with-border select,
select.select-with-border {
    background-color: transparent;
    border: none;
    letter-spacing: 2px;
    font-size: 12px;
    padding: 6px 35px 6px 15px;
    color: #fff;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23E2B778' d='M6 9L1 4h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
    cursor: pointer;
    min-width: 150px;
}

.banner-cta .text-wrapper {
    display: flex;
    flex-direction: column;
}
.text-bold{
    font-weight: bold;
}
/* Default Heading with Icon */
.default-heading {
    position: relative;
    padding-left: 65px;
    font-weight: 300;
    font-size: 38px;
    line-height: 100%;
    text-transform: uppercase;
    margin-top: 20px;
}

/* Default Heading with Centered Logo */
.default-heading.m-logo-center {
    padding-left: 0;
    text-align: center;
}

.default-heading.m-logo-center::before {
    position: relative;
    left: auto;
    top: auto;
    transform: none;
    display: block;
    margin: 0 auto 10px;
}

.dark .default-heading-no-icon{
    font-size: 38px;
    line-height: 100%;
    font-weight: 300;
    text-transform: uppercase;
}

.default-heading::before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 53px;
    height: 53px;
    background-image: url(images/heading-icon.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

span.small-heading{
    display: block;
    font-size: 11px;
    font-weight: bold;
    letter-spacing: 5px;
    line-height: 100%;
    margin-bottom: 5px;
    color: #fff;
}

/* Make "Magic Men Show" text gradient */
.default-heading strong,
.default-heading b {
    background: linear-gradient(to right, #FFE8C5, #E2B778, #BE9A48);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    font-weight: 600;
}

.mm-package.box-badge .box-text{
    z-index: auto;
    bottom: 0%; 
    padding: 1em 18px;
    background: linear-gradient(to top, #080113 0%, rgba(8, 1, 19, 0.95) 60%, rgba(8, 1, 19, 0.75) 80%, rgba(8, 1, 19, 0.3) 90%, transparent 100%) !important;
}
/* MM Package Heading */
.mm-package .box-text h3,
body .ti-rating-text {
    background: linear-gradient(to right, #FFE8C5, #E2B778, #BE9A48);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    font-size: 22px;
    text-transform: uppercase;
    line-height: 100%;
    margin-top: 25px;
    margin-bottom: 5px;
    font-weight: normal;
}

body .ti-widget.ti-goog .ti-widget-container .ti-name{
    color: #E2B778;
    text-transform: uppercase;
}

body .ti-widget.ti-goog .ti-widget-container .ti-date{
    display: none;
}

/* Put on the page or in your child theme CSS */
.mm-country-flags .box-image { position: relative; overflow: hidden; }

/* Gentle “cloth” wobble */
.mm-country-flags .box-image img{
  display:block;
  transform-origin: 50% 50%;
  animation: flagWobble 2.8s ease-in-out infinite;
  will-change: transform;
}

/* Moving light band to sell the effect */
.mm-country-flags .box-image::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  mix-blend-mode: soft-light;
  background: linear-gradient(120deg,
    transparent 35%,
    rgba(255,255,255,.25) 50%,
    transparent 65%);
  animation: flagShine 2.8s ease-in-out infinite;
  will-change: transform;
}

@keyframes flagWobble{
  0%,100% { transform: translateX(-1%) skewX(-1.2deg); }
  50%     { transform: translateX( 1%) skewX( 1.2deg); }
}

@keyframes flagShine{
  0%,100% { transform: translateX(-8px); }
  50%     { transform: translateX( 8px); }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce){
    .mm-country-flags .box-image img, .mm-country-flags .box-image::after { animation: none; }
}


.break-line{
    display: block;
}
/* Bold last word in MM Package headings */
.mm-package .box-text h3 strong {
    font-weight: 700;
    display: block;
}
.mm-package .primary.button{
    letter-spacing: 1px !important;
    padding: 0px 9px;
    line-height: 30px;
    margin-bottom: 8px;
}

/* Performer Card Styles */
.performer-card {
    margin-bottom: 30px;
}

/* Remove margin when performer-card is in a slider */
.slider .performer-card,
.row-slider .performer-card,
.owl-carousel .performer-card,
.flickity-enabled .performer-card {
    margin-bottom: 0;
}

/* Center incomplete rows in performers grid */
.row[class*="large-columns-"] {
    justify-content: center !important;
}

.performer-image-wrapper {
    display: block;
    position: relative;
    overflow: hidden;
    aspect-ratio: 2 / 3;
    margin-bottom: 15px;
}

.performer-image-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.performer-image-default,
.performer-image-hover {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.performer-image-default {
    opacity: 1;
}

.performer-image-hover {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transform: scale(1.1);
}

.performer-image-wrapper:hover .performer-image-default {
    opacity: 0;
    transform: scale(1.05);
}

.performer-image-wrapper:hover .performer-image-hover {
    opacity: 1;
    transform: scale(1);
}

.performer-info {
    padding: 0 5px;
}

.performer-name-rating {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.performer-name {
    margin: 0;
    font-size: 16px;
    font-weight: 400;
    background: linear-gradient(to right, #FFE8C5, #E2B778, #BE9A48);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    text-transform: uppercase;
}

.performer-rating {
    display: flex;
    align-items: center;
    gap: 2px;
}

.performer-rating .star {
    font-size: 9px;
    line-height: 1;
    width: 9px;
    height: 9px;
    display: inline-block;
}

.performer-rating .star-full {
    color: #E2B778;
}

.performer-rating .star-empty {
    color: #333;
}

.performer-rating .review-count {
    font-size: 12px;
    color: #999;
    margin-left: 5px;
    display: none; /* Hide in grid/slider, show only on single page */
}

.performer-rating .star-half {
    position: relative;
    color: #333;
}

.performer-rating .star-half::before {
    content: '★';
    position: absolute;
    left: 0;
    color: #E2B778;
    width: 50%;
    overflow: hidden;
}

.performer-card .button {
    width: 100%;
    text-align: left;
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* Stripper Single Page Rating Display */
.stripper-rating-display {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 20px;
}

.stripper-rating-display .rating-number {
    font-size: 14px;
    color: #fff;
    line-height: 1;
    font-weight: bold;  
}

.stripper-rating-display .star {
    font-size: 18px;
    line-height: 1;
    display: inline-block;
    color: #333;
}

.stripper-rating-display .star-full {
    color: #E2B778;
}

.stripper-rating-display .star-partial {
    position: relative;
    color: #333;
}

.stripper-rating-display .star-partial::before {
    content: '★';
    position: absolute;
    left: 0;
    color: #E2B778;
    width: var(--star-width, 50%);
    overflow: hidden;
}

.stripper-rating-display .review-count {
    font-size: 14px;
    color: #fff;
}

/* MM Rating Shortcode - Reusable rating display */
.mm-rating-display {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mm-rating-display .rating-number {
    font-size: 14px;
    color: #fff;
    line-height: 1;
    font-weight: bold;  
}

.mm-rating-display .stars {
    display: flex;
    align-items: center;
    gap: 2px;
}

.mm-rating-display .star {
    font-size: 18px;
    line-height: 1;
    display: inline-block;
    color: #959595;
}

.mm-rating-display .star-full {
    color: #E2B778;
}

.mm-rating-display .star-partial {
    position: relative;
    color: #959595
}

.mm-rating-display .star-partial::before {
    content: '★';
    position: absolute;
    left: 0;
    color: #E2B778;
    width: var(--star-width, 50%);
    overflow: hidden;
}

.mm-rating-display .review-count {
    font-size: 14px;
    color: #fff;
}



/* MM Price Shortcode - Price display with currency and type */
.mm-price-display {
    display: flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
    text-align: left !important;
    justify-content: flex-start !important;
}

.mm-price-display .mm-price-amount {
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    background: linear-gradient(to right, #FFE8C5, #E2B778, #BE9A48);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

.mm-price-display .mm-price-type {
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1;
    color: #fff;
}

.mm-price-display .mm-price-min-people {
    font-size: 16px;
    font-weight: bold;
    text-transform: lowercase;
    line-height: 1;
    color: #fff;
}

.mm-price-display .mm-price-original {
    display: inline-flex;
    align-items: baseline;
    gap: 4px;
    opacity: 0.4;
    text-decoration: line-through;
    font-size: 16px;
    line-height: 1;
    color: #fff;
}

.mm-price-display .mm-price-normally {
    font-weight: normal;
}

.mm-price-display .mm-price-original-amount {
    font-weight: bold;
}

/* Price Range Display */
.mm-price-display .mm-price-range {
    display: inline-flex;
    align-items: baseline;
    gap: 8px;
    flex-wrap: wrap;
}

.mm-price-display .mm-price-range-label {
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1;
    color: #fff;
}

.mm-price-display .mm-price-range-amount {
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
    background: linear-gradient(to right, #FFE8C5, #E2B778, #BE9A48);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* Stripper Single Page Sub-heading */
.men-content .sub-heading {
    text-transform: uppercase;
    margin-bottom: 15px;
    font-size: 16px;
    color: #fff;
    font-weight: bold;
}

/* Physical Stats Heading */
.men-content h4.physical-stats-heading,
.men-content h4,
.men-content h3 {
    font-size: 16px;
    font-weight: bold;
    text-transform: uppercase;
    background: linear-gradient(to right, #FFE8C5, #E2B778, #BE9A48);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    margin-bottom: 15px;
}

/* Stripper Info Rows */
.magicmen-more-info {
    margin-bottom: 30px;
}

.magicmen-more-info .column-inner {
    margin-top: 10px;
}

.stripper-info-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 0;
    margin-bottom: 0;
}

.stripper-info-row.stripper-info-first {
    border-top: 1px solid #383040;
}

.stripper-info-row {
    border-bottom: 1px solid #383040;
}

.stripper-info-row .info-label {
    font-size: 14px;
    font-weight: bold;
    color: #E2B778;
}

.stripper-info-row .info-value {
    font-size: 14px;
    color: #fff;
}

/* Shows Section */
.men-content .entry-content-mm ul {
    /* Flexbox fallback for older browsers */
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none;
    padding: 0;
    margin: 20px -10px 30px -10px; /* Negative margin for gap fallback */
}

body .ngg-gallery-thumbnail a{
    margin: 0;
}

/* Flexbox fallback: 2 columns layout */
.men-content .entry-content-mm ul li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 14px;
    color: #E2B778;
    position: relative;
    padding-right: 25px;
    font-weight: bold;
    flex: 0 0 calc(50% - 20px); /* 2 columns with gap fallback */
    box-sizing: border-box;
    margin: 0 10px 10px 10px; /* Gap fallback using margin */
}

/* CSS Grid for modern browsers (with flexbox fallback above) */
@supports (display: grid) {
    .men-content .entry-content-mm ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px 20px;
        margin: 20px 0 30px 0; /* Reset negative margin when grid is used */
    }
    
    .men-content .entry-content-mm ul li {
        flex: none; /* Reset flex when grid is used */
        margin: 0; /* Reset margin when grid gap is used */
    }
}

.men-content .entry-content-mm ul li::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 60px;
    height: 60px;
    background-image: url('images/ticket.png');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    flex-shrink: 0;
}

.performer-card .button::after {
    margin-left: auto;
}

/* ===== Experience Section - Column Dividers ===== */
.mm-country-flags .col:not(:last-child) .col-inner {
    position: relative;
}

.mm-country-flags .col:not(:last-child) .col-inner::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(180deg, 
        #E2B778 0%, 
        #E2B778 30%, 
        rgba(226, 183, 120, 0.5) 70%, 
        transparent 100%
    );
    pointer-events: none;
}


/* ===== Logo Grid Styling ===== */
.mm-logo-box {
    background: #0A0114;
    border: 1px solid hwb(0deg 100% 0% / 15%);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.mm-logo-box img {
    width: 100%;
}

.grecaptcha-badge { visibility: hidden; }

/* MM Shadows Decorative Images */
.mm-shadows {
    position: relative;
}

.mm-shadows::before,
.mm-shadows::after {
    content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    height: 100%;
    width: 300px;
    pointer-events: none;
    z-index: 0;
}

/* Ensure text appears above shadow images */
.mm-shadows .banner-layers,
.mm-shadows .text-box {
    position: relative;
    z-index: 2;
}

.mm-shadows::before {
    left: 0;
    background-image: url('images/left-shadow.jpg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: contain;
}

.mm-shadows::after {
    right: 0;
    background-image: url('images/right-shadow.jpg');
    background-repeat: no-repeat;
    background-position: right center;
    background-size: contain;
}



/* Remove top border from first row (5 items on desktop, 3 on mobile) */
.five-cols .col:nth-child(-n+5) .mm-logo-box {
    border-top: none;
}

/* Remove bottom border from second/last row (items 6-10) */
.five-cols .col:nth-child(n+6):nth-child(-n+10) .mm-logo-box {
    border-bottom: none;
}

/* ===== MM Banner Height Fix ===== */
/* Ensure responsive heights work even with is-full-height class */
.banner.is-full-height {
    min-height: auto !important;
}

/* ===== Club & Private Pricing Styling ===== */
.mm-pricing-container {
    max-width: 100%;
}

.club-ticket-icon,
.private-pricing-icon {
    width: 25px;
    height: 25px;
    margin-right: 15px;
    vertical-align: middle;
    display: inline-block;
}

/* Pricing rows layout - match image design */
.price-information:first-child{
    border-top: 1px solid #383040;
}
.price-information {
    display: flex;
    align-items: center;
    padding: 2px 0;
    border-bottom: 1px solid #383040;
    margin-bottom: 0;
}

.price-information > span:not(.golden) {
    flex: 1;
    text-transform: uppercase;
    font-weight: 400;
    font-size: 13px;
    letter-spacing: 1px;
}

.price-information .golden {
    display: flex;
    align-items: center;
    text-align: right;
}

.price-information .p-price {
    font-size: 14px;
    font-weight: bold;
    color: #E2B778;
    margin-left: 10px;
    margin-right: 10px;
}

/* Dark heading alignment */
.price-information.featured {
    font-weight: 600;
}

.our-services-container h4{
    font-size: 22px;
    line-height: 100%;
}

/* .row.no-padding-col .col{
    padding-bottom:0;
} */

/* Remove bottom padding on all screen sizes */
.row.npba-0-all .col,
.npba-0-all {
    padding-bottom: 0 !important;
}

.mm-pricing-container{
    margin: 20px 0;
}
.row.header-with-line p{
    margin-bottom: 0;
}

/* ===== Latest Gallery Styling ===== */
.mm-latest-gallery {
    margin: 0 auto;
}

/* Latest Gallery Slider */
.mm-latest-gallery-slider .slide {
    width: auto; /* Let Flickity handle sizing based on groupCells */
}

.mm-latest-gallery-slider .slide .col {
    margin-bottom: 0;
}

/* Latest Gallery Slider Navigation Arrows */
#latest-gallery-grid.slider .flickity-prev-next-button {
    background-color: transparent !important;
    border: none !important;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    transition: all 0.3s ease;
    opacity: 0.8;
}

#latest-gallery-grid.slider .flickity-prev-next-button:hover {
    background-color: transparent !important;
    border: none !important;
    opacity: 1;
    transform: scale(1.1);
}

#latest-gallery-grid.slider .flickity-prev-next-button:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

#latest-gallery-grid.slider .flickity-prev-next-button .flickity-button-icon {
    fill: #fff;
    width: 24px;
    height: 24px;
}



.mm-gallery-item {
    padding: 0;
}

.mm-gallery-item a.gradient-border {
    display: block;
    overflow: hidden;
}

.mm-gallery-item img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.3s ease;
}

.mm-gallery-item:hover img {
    transform: scale(1.05);
}

.mm-gallery-title {
    margin: 0;
    padding: 15px 0;
    background: #0A0114;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
}

.mm-gallery-title a {
    text-decoration: none;
}

.photos-button{
    margin-left: 70px;
}

/* ===== FAQ Accordion Styling ===== */
.mm-faq-row .accordion-title {
    border-top: 1px solid #383040;
    font-size: 100%;
    padding: .6em 0;
    font-weight: bold;
    position: relative;
    padding-right: 30px; /* Space for icon */
}

.mm-faq-row .accordion-title h3 {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}

/* Plus icon - default closed state */
.mm-faq-row .accordion-title::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-image: url('images/plus.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: opacity 0.3s ease;
}

/* Minus icon - open state */
.mm-faq-row .accordion-title.active::after {
    background-image: url('images/minus.svg');
}

/* ===== MM Accordion Styling ===== */
.mm-accordion .mm-accordion-item .mm-accordion-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding-right: 30px;
    padding-left: 0;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 14px;
    text-align: left !important;
}

.mm-accordion .mm-accordion-item:last-child .mm-accordion-title {
    border-bottom: 1px solid #383040;
}



.mm-accordion .mm-accordion-title-content {
    flex: 1;
    text-align: left !important;
}

/* Ensure h2, h3, h4, h5 tags in accordion titles don't apply default styling - for SEO only */
.mm-accordion .mm-accordion-title-content h2,
.mm-accordion .mm-accordion-title-content h3,
.mm-accordion .mm-accordion-title-content h4,
.mm-accordion .mm-accordion-title-content h5 {
    display: inline;
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
}

/* When title_tag is used, the h2/h3/h4/h5 IS the title-content element */
.mm-accordion .mm-accordion-title h2.mm-accordion-title-content,
.mm-accordion .mm-accordion-title h3.mm-accordion-title-content,
.mm-accordion .mm-accordion-title h4.mm-accordion-title-content,
.mm-accordion .mm-accordion-title h5.mm-accordion-title-content {
    display: flex;
    flex: 1;
    margin: 0;
    padding: 0;
    font-size: inherit;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    text-transform: inherit;
    letter-spacing: inherit;
}

.mm-accordion-price {
    margin-left: auto;
    padding-left: 15px;
    font-weight: bold;
}

/* Plus icon - default closed state */
.mm-accordion .mm-accordion-title::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-image: url('images/plus.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    transition: opacity 0.3s ease;
    flex-shrink: 0;
}

/* Minus icon - open state */
.mm-accordion .mm-accordion-title.active::after {
    background-image: url('images/minus.svg');
}

/* ===== MM LI List Styling ===== */
.mm-li-list {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: left !important;
}

.request-call-back textarea{
    height: 180px;
}

/* ===== MM Stripper Gallery Styling ===== */
.mm-video-container {
    width: 100%;
    position: relative;
    margin-bottom: 20px;
}

.mm-video-container video {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* Featured Image Container - matches video container styling */
.mm-featured-image-container {
    width: 100%;
    position: relative;
    margin-bottom: 20px;
}

.mm-featured-image-container img {
    width: 100%;
    height: auto;
    display: block;
}

.mm-stripper-gallery {
    width: 100%;
}

.mm-gallery-main-image {
    width: 100%;
    margin-bottom: 15px;
}

.mm-gallery-main-image img,
.mm-gallery-main-img {
    width: 100%;
    height: auto;
    display: block;
}

.mm-gallery-thumbnails {
    margin-top: 15px;
}

.mm-gallery-thumbnails .col-inner {
    padding: 0;
}

.mm-gallery-thumbnails .mm-gallery-thumb {
    width: 100%;
    height: auto;
    display: block;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.mm-gallery-thumbnails .mm-gallery-thumb:hover {
    opacity: 0.8;
}

.mm-gallery-thumbnails .mm-gallery-thumb.active {
    opacity: 0.6;
    border: 2px solid #E2B778;
}



/* Gallery with video - add spacing above */
.mm-gallery-with-video {
    margin-top: 20px;
}

/* ===== Stripper Navigation Arrows (Next to Title) ===== */
.stripper-title-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 10px;
}

.stripper-title-nav h1 {
    margin-bottom: 20px;
    flex: 1;
}

.stripper-nav-arrows {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-shrink: 0;
}

.stripper-nav-arrow {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(226, 183, 120, 0.1);
    border: 1.5px solid #E2B778;
    transition: all 0.3s ease;
    flex-shrink: 0;
}

.stripper-nav-arrow i {
    font-size: 16px;
    color: #E2B778;
    transition: color 0.3s ease;
}

.stripper-nav-arrow:hover {
    background: linear-gradient(to right, #FFE8C5, #E2B778, #BE9A48);
    border-color: #FFE8C5;
    transform: scale(1.15);
}

.stripper-nav-arrow:hover i {
    color: #000;
}

/* Tooltip on hover */
.stripper-nav-tooltip {
    position: absolute;
    bottom: -35px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(0, 0, 0, 0.9);
    color: #fff;
    padding: 5px 12px;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
    z-index: 10;
}

/* Mobile gallery title (hidden on desktop) */
.mobile-gallery-title {
    display: none;
}

.stripper-nav-tooltip::before {
    content: '';
    position: absolute;
    top: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid rgba(0, 0, 0, 0.9);
}

.stripper-nav-arrow:hover .stripper-nav-tooltip {
    opacity: 1;
}

/* ===== Stripper Navigation Buttons (Bottom) ===== */
.stripper-navigation-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.stripper-nav-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 150px;
    justify-content: center;
}

.stripper-nav-button-prev i {
    margin-right: 5px;
}

.stripper-nav-button-next i {
    margin-left: 5px;
}

.stripper-nav-button-back {
    min-width: 200px;
}

.button-spacer {
    width: 150px;
    display: inline-block;
}


/* NextGen Gallery Container */
.mm-ngg-gallery-container {
    margin-top: 15px;
}

/* Hide NextGen's default controls */
.mm-ngg-gallery-container .ngg-navigation,
.mm-ngg-gallery-container .ngg-clear {
    display: none !important;
}

/* Hide NextGen singlepic image (duplicate) */
.ngg-gallery-singlepic-image,
.ngg-gallery-singlepic {
    display: none !important;
}

/* Override NextGen's default gallery layout */
.mm-ngg-gallery-container .ngg-galleryoverview {
    overflow: visible !important;
    height: auto !important;
}

/* Flickity slider structure for NextGen gallery */
.mm-ngg-gallery-container .ngg-galleryoverview.slider .col {
    padding: 0 5px;
}

.mm-ngg-gallery-container .ngg-galleryoverview.slider .col-inner {
    padding: 0;
}

/* NextGen thumbnail boxes within slider */
.mm-ngg-gallery-container .ngg-gallery-thumbnail-box {
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    display: block !important;
}

.mm-ngg-gallery-container .ngg-gallery-thumbnail {
    width: 100%;
    float: none !important;
    position: relative !important;
}

.mm-ngg-gallery-container .ngg-gallery-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.mm-ngg-gallery-container .ngg-gallery-thumbnail img:hover {
    opacity: 0.8;
}

/* ===== MM Video Gallery Styling ===== */
.mm-video-gallery {
    margin-top: 20px;
}

.mm-video-gallery .mm-video-slide {
    padding: 0;
    width: 100%;
    position: relative;
    display: block;
}

.mm-video-gallery .col {
    padding: 0;
    margin: 0;
}

/* Fixed height container for videos - prevents portrait videos from taking full height */
.mm-video-gallery .mm-video-iframe-wrapper {
    position: relative;
    width: 100%;
    max-height: 360px;
    height: 360px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
}

.mm-video-gallery .mm-video-iframe-wrapper iframe {
    width: 100%;
    height: 100%;
    max-height: 360px;
    border: 0;
    border-radius: 2px;
    object-fit: contain;
}

.mm-video-gallery .mm-video-slide video {
    width: 100%;
    max-height: 360px;
    height: 360px;
    display: block;
    border-radius: 2px;
    object-fit: contain;
    background: #000;
}

/* Ensure gradient border displays correctly */
.mm-video-gallery .gradient-border.mm-video-slide {
    display: block;
    width: 100%;
}





/* Flickity arrows - make them white globally */
.flickity-prev-next-button .arrow,
.flickity-prev-next-button svg,
.flickity-prev-next-button .flickity-button-icon {
    fill: #fff !important;
    stroke: #fff !important;
    color: #fff !important;
}

/* Stripper Gallery Slider - Match Latest Gallery exactly */
.mm-stripper-gallery .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button,
.mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button,
.mm-ngg-gallery-container .ngg-galleryoverview.slider-nav-outside .flickity-prev-next-button {
    background-color: transparent !important;
    border: none !important;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    transition: all 0.3s ease;
    opacity: 0.8;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

.mm-stripper-gallery .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button:hover,
.mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button:hover,
.mm-ngg-gallery-container .ngg-galleryoverview.slider-nav-outside .flickity-prev-next-button:hover {
    background-color: transparent !important;
    border: none !important;
    opacity: 1;
    transform: scale(1.1);
}

.mm-stripper-gallery .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button:disabled,
.mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button:disabled,
.mm-ngg-gallery-container .ngg-galleryoverview.slider-nav-outside .flickity-prev-next-button:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.mm-stripper-gallery .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button .flickity-button-icon,
.mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button .flickity-button-icon,
.mm-ngg-gallery-container .ngg-galleryoverview.slider-nav-outside .flickity-prev-next-button .flickity-button-icon {
    fill: #fff !important;
    width: 24px;
    height: 24px;
}



/* Video Gallery - Match Latest Gallery exactly */
.mm-video-gallery.slider-nav-outside .flickity-prev-next-button {
    background-color: transparent !important;
    border: none !important;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    transition: all 0.3s ease;
    opacity: 0.8;
}

.mm-video-gallery.slider-nav-outside .flickity-prev-next-button:hover {
    background-color: transparent !important;
    border: none !important;
    opacity: 1;
    transform: scale(1.1);
}

.mm-video-gallery.slider-nav-outside .flickity-prev-next-button:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.mm-video-gallery.slider-nav-outside .flickity-prev-next-button .flickity-button-icon,
.mm-video-gallery.slider-nav-outside .flickity-prev-next-button .arrow,
.mm-video-gallery.slider-nav-outside .flickity-prev-next-button svg {
    fill: #fff !important;
    stroke: #fff !important;
    color: #fff !important;
    width: 24px;
    height: 24px;
}



/* Performers Shortcode Slider - Match Latest Gallery exactly */
.row.slider.row-slider .flickity-prev-next-button {
    background-color: transparent !important;
    border: none !important;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    transition: all 0.3s ease;
    opacity: 0.8;
}

.row.slider.row-slider .flickity-prev-next-button:hover {
    background-color: transparent !important;
    border: none !important;
    opacity: 1;
    transform: scale(1.1);
}

.row.slider.row-slider .flickity-prev-next-button:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}

.row.slider.row-slider .flickity-prev-next-button .flickity-button-icon {
    fill: #fff;
    width: 24px;
    height: 24px;
}


.mm-li-list.mm-li-inline {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.mm-li-item {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: var(--mm-li-item-margin-bottom, 0);
    text-align: left !important;
    justify-content: flex-start !important;
}

.col-inner ul li.mm-li-item {
    margin-left: 0;
    line-height: 115%;
    margin-bottom: var(--mm-li-item-margin-bottom, 0);
}
.mm-li-icon,
.mm-li-icon-wrapper {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

/* Gold color for Flatsome icons */
.mm-li-icon-gold {
    color: #E2B778 !important;
}

.mm-li-icon-gold::before {
    color: #E2B778 !important;
}

.mm-li-icon-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* SVG icons with gradient */
.mm-li-icon-wrapper .mm-li-icon-svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
    stroke: currentColor;
}

.mm-li-icon-wrapper.gold-gradient-text .mm-li-icon-svg {
    fill: url(#gold-gradient);
    stroke: url(#gold-gradient);
}

.mm-li-heading {
    font-weight: bold;
}

.mm-li-text {
    display: inline;
    white-space: pre-line; /* Preserve line breaks from textarea */
}

.padding-right-50{
    padding-right: 50px;
}

.footer-widgets .is-divider.small{
    display: none;
}

.footer-widgets span.widget-title{
    display: block;
    padding-bottom: 20px;
}
.mm-video-poster{
    width: 100%;
}

/* ===== TablePress Custom Styling ===== */
.tablepress {
    --text-color: #fff;
    --head-text-color: #fff;
    --head-bg-color: #0A0114;
    --odd-text-color: #fff;
    --odd-bg-color: #140623;
    --even-text-color: #fff;
    --even-bg-color: rgba(8, 1, 19, 0.8);
    --hover-text-color: #E2B778;
    --hover-bg-color: rgba(226, 183, 120, 0.1);
    --border-color: #383040;
    --padding: 15px;
    border: none;
    border-collapse: collapse;
    margin: 0 auto 1rem;
    table-layout: auto;
    width: 100%;
    font-family: 'Plus Jakarta Sans', sans-serif;
}

/* Shows TablePress - Custom styling for shows-tablepress class */
.shows-tablepress .tablepress,
.shows-tablepress table.tablepress {
    border: none !important;
}

.shows-tablepress .tablepress thead,
.shows-tablepress table.tablepress thead {
    display: none !important;
}

.shows-tablepress .tablepress tbody tr,
.shows-tablepress table.tablepress tbody tr {
    background: transparent !important;
    border: none !important;
}

.shows-tablepress .tablepress tbody td,
.shows-tablepress table.tablepress tbody td {
    background: transparent !important;
    border: none !important;
    padding: 0 0 12px 0;
}

/* Column width and color settings for shows-tablepress */
.shows-tablepress .tablepress tbody td.column-1,
.shows-tablepress table.tablepress tbody td.column-1 {
    max-width: 150px;
    width: 150px;
    color: #E2B778 !important;
}

.shows-tablepress .tablepress tbody td.column-2,
.shows-tablepress table.tablepress tbody td.column-2 {
    width: auto;
    color: #fff !important;
}

.shows-tablepress .tablepress tbody tr:nth-child(odd) td,
.shows-tablepress .tablepress tbody tr:nth-child(even) td,
.shows-tablepress table.tablepress tbody tr:nth-child(odd) td,
.shows-tablepress table.tablepress tbody tr:nth-child(even) td {
    background: transparent !important;
    padding: 0 0 12px 0;
}

.shows-tablepress .tablepress tbody tr:hover td,
.shows-tablepress table.tablepress tbody tr:hover td {
    background: transparent !important;
}

/* Hide mobile stacktable version for shows-tablepress */
.shows-tablepress .stacktable.small-only {
    display: none !important;
}

/* Always show desktop version for shows-tablepress */
.shows-tablepress .stacktable.large-only {
    display: table !important;
}

.tablepress thead th {
    background-color: var(--head-bg-color);
    color: var(--head-text-color);
    font-weight: bold;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: 1px;
    padding: 15px;
    border-bottom: 1px solid var(--border-color);
}

/* .tablepress thead th:first-child,
.tablepress tbody td:first-child{
    padding-left: 0;
}

.tablepress thead th:last-child,
.tablepress tbody td:last-child{
    text-align: right;
    padding-right: 0;
} */

.tablepress tbody td {
    color: #fff;
    font-size: 14px;
    padding: 15px;
    line-height: 24px;
    vertical-align: middle;
}

.tablepress tbody tr td.column-1,
.tablepress tbody tr td.column-2{
    font-weight: bold;
}

.tablepress tbody tr td.column-1{
    width: 350px;
}

.tablepress tbody tr td.column-3{
    width: 190px;
}

.tablepress tbody td.column-2,
.tablepress tbody tr:nth-child(odd) td.column-2{
    color: #f1d1a2;
    font-weight: bold;
}

.tablepress tbody td:first-child{
    text-transform: uppercase;
}

.tablepress tbody tr:nth-child(odd) td {
    background-color: var(--odd-bg-color);
    color:#fff;
}

.tablepress tbody tr:nth-child(even) td {
    background-color: var(--even-bg-color);
}

.tablepress tbody tr:hover td {
    background-color: var(--hover-bg-color);
    color: var(--hover-text-color);
}

/* Replace TablePress icons with SVG images */
.tablepress .icon-tie::before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-right: 8px;
    vertical-align: middle;
    background-image: url('images/topless-waiter.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
}

.tablepress .icon-hat::before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-right: 8px;
    vertical-align: middle;
    background-image: url('images/strip-show.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
}

.tablepress .icon-star::before {
    content: '';
    display: inline-block;
    width: 25px;
    height: 25px;
    margin-right: 8px;
    vertical-align: middle;
    background-image: url('images/full-strip-show.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
}

/* Hide the default icon font */
.tablepress .icon-tie,
.tablepress .icon-hat,
.tablepress .icon-star {
    font-family: inherit;
    font-style: normal;
    font-weight: normal;
    text-decoration: none;
}

.tablepress .icon-tie i,
.tablepress .icon-hat i,
.tablepress .icon-star i {
    display: none;
}

/* TablePress buttons styling - match secondary button style */
.tablepress .button.primary {
    background: linear-gradient(90deg, #23761C 0%, #B8FA29 20%, #B8FA29 40%, #B8FA29 60%, #B8FA29 80%, #23761C 100%) !important;
    background-size: 200% 100% !important;
    border: none !important;
    border-radius: 0 !important;
    color: #000 !important;
    font-size: 13px !important;
    padding: 5px;
    font-weight: 600;
    text-transform: uppercase;
    transition: transform 0.2s ease, box-shadow 0.25s ease;
    margin: 0;
    width: 160px;
}

.tablepress .button.primary:before{
    display: none;
}

.tablepress .button.primary:hover {
    animation: knightRider 2s linear infinite;
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(35,118,28,0.25), 0 2px 6px rgba(0,0,0,0.12);
}

.tablepress .button.primary::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 10px;
    margin-left: 8px;
    background-image: url('images/black-arrow.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    vertical-align: middle;
    transition: transform 0.2s ease, filter 0.2s ease;
}

.tablepress .button.primary:hover::after {
    transform: translateX(3px);
}

.tablepress .button.primary:active {
    transform: scale(0.98) !important;
}

.tablepress .columns{
    padding-bottom:0!important;
}

.tablepress br{
    display: none;
}

.display-block{
    display: block!important;
}

.select-resize-ghost, .select2-container .select2-choice, .select2-container .select2-selection, input[type=date], input[type=email], input[type=number], input[type=password], input[type=search], input[type=tel], input[type=text], input[type=url], select, textarea {
    background-color: #211a2b;
    border: none;
    box-shadow: none;
    color: #fff;
    margin-bottom: 5px;
    height: 40px;
}

form .columns{
    padding-bottom: 0!important;
    padding-right: 2px!important;
    padding-left: 2px!important;
}

.mm-events-border{
    display: block;
    width: 100%;
    padding: 30px 40px;
    box-sizing: border-box;
}

/* Force both headers and rows to use identical column calculations */
/* Using fr units to maintain 20:30:30:20 ratio while accounting for gaps */
.mm-events-headers,
.event-row {
    grid-template-columns: 2fr 3fr 3fr 2fr;
}

.event-row .button.secondary{
    padding: 2px 20px;
    margin: 0;
}


/* Events Header - SELECT YOUR STATE and Dropdown */
.mm-events-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0px;
    padding-bottom: 20px;
}

.mm-events-header-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

.mm-events-header .custom-select-wrapper{
    min-width: 260px;
}

.location-text {
    font-size: 18px;
    letter-spacing: 0px;
    text-transform: uppercase;
    color: #fff;
    white-space: nowrap;
    margin: 0;
    font-weight: bold;
}

.mm-events-location-select {
    flex-shrink: 0;
}

.mm-events-header-right {
    text-align: right;
}

.tour-dates-title {
    font-size: 24px;
    font-weight: 700;
    color: #F6C561;
    margin: 0;
    text-transform: uppercase;
}

/* Column Headers - MUST match event-row exactly */
.mm-events-headers {
    display: grid;
    grid-template-columns: 2fr 3fr 3fr 2fr;
    gap: 20px;
    padding: 15px 0 15px 0;
    width: 100%;
    margin: 0;
}

.mm-events-header-col {
    font-weight: 700;
    color: #F6C561;
    text-transform: uppercase;
    font-size: 16px;
    padding: 0;
    margin: 0;
}
.mm-events-header-col.event-tickets-header{
    text-align: right;
}


/* Events List */
.mm-events-list {
    width: 100%;
    margin: 0;
    padding: 0;
}


/* Event Row - MUST match mm-events-headers exactly */
.event-row {
    display: grid;
    grid-template-columns: 2fr 3fr 3fr 2fr;
    gap: 30px;
    padding: 7px 0;
    width: 100%;
    margin: 0;
    align-items: center;
    font-size: 18px;
}

.signature-label { font-weight: 600; margin-bottom: 6px; }
.signature-hint { display: block; margin-top: 6px; font-size: 12px; opacity: 0.8; }
.signature-field canvas { border: 1px dashed rgba(255,255,255,0.35); min-height: 160px; width: 100%; }

/* Waiver form: full-width signature and submit button */
.waiver-form .signature-field,
.waiver-form .signature-field canvas {
    display: block;
    width: 100% !important;
    min-height: 200px;
}

.waiver-form .columns.text-right {
    text-align: left;
}

.waiver-form .wpcf7-submit {
    width: 100%;
    display: block;
}

/* Waiver form submission summary */
.waiver-summary {
    margin-top: 20px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    background: rgba(255, 255, 255, 0.04);
    color: #fff;
}

.waiver-summary__title {
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}

.waiver-summary__row {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 0;
    border-bottom: 1px dashed rgba(255, 255, 255, 0.12);
    font-size: 14px;
}

.waiver-summary__row:last-child {
    border-bottom: none;
}

.waiver-summary__note {
    margin: 10px 0;
    font-size: 13px;
    opacity: 0.9;
}

.waiver-summary__actions .button {
    width: 100%;
    text-align: center;
}

.wpcf7-form.waiver-complete .waiver-form {
    display: none;
}

.wpcf7-form.waiver-complete .wpcf7-response-output {
    display: none;
}

.waiver-form .signature-field canvas.needs-signature {
    border-color: #ff6b6b;
    box-shadow: 0 0 0 1px #ff6b6b;
}

.waiver-summary__signature {
    margin: 10px 0;
    text-align: left;
}

.waiver-summary__signature img {
    max-width: 100%;
    background: #fff;
    padding: 6px;
    border-radius: 6px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}

.waiver-form .waiver-error .wpcf7-form-control {
    border-color: #ff6b6b !important;
    box-shadow: 0 0 0 1px #ff6b6b;
}

.waiver-form .waiver-terms-error {
    color: #ff6b6b;
}

.waiver-form .waiver-terms-error a {
    color: #ff6b6b;
    text-decoration: underline;
}


/* Desktop: Add border-top to first row, remove border-bottom from last row */
@media screen and (min-width: 850px) {
    .event-row:first-child {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        padding-top: 20px;
        margin-top: 0;
    }
    
    .event-row:last-child {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
}


.event-date,
.event-venue-city-wrapper {
    padding: 0;
    margin: 0;
}

/* Desktop: venue and city are separate columns */
.event-venue-city-wrapper {
    grid-column: 2 / 4; /* Spans venue and city columns */
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.event-venue {
    grid-column: 1;
}

.event-city {
    grid-column: 2;
}

.event-tickets {
    padding: 0;
    margin: 0;
    text-align: right;
}

.event-date {
    font-weight: 600;
    color: #F6C561;
    text-transform: lowercase;
}
.event-month {
    color: #fff;
    text-transform: uppercase;
}

.event-venue {
    text-transform: uppercase;
    color: #fff;
}

.event-venue strong {
    font-weight: normal;
}

.event-city {
    color: #fff;
    text-transform: uppercase;
}

/* Hide location name on mobile/tablet (849px and below) */
.event-location-name {
    display: inline;
}

@media screen and (max-width: 849px) {
    .event-location-name {
        display: none;
    }
}

.cform-inner{
    background: #211a2c;
    padding: 10px;
    margin-bottom: 5px;
}

/* Loading Animation */
.mm-events-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    min-height: 200px;
}

.mm-events-loading-spinner {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
}

.mm-events-loading-spinner div {
    box-sizing: border-box;
    display: block;
    position: absolute;
    width: 64px;
    height: 64px;
    margin: 8px;
    border: 4px solid #F6C561;
    border-radius: 50%;
    animation: mm-events-loading-spin 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
    border-color: #F6C561 transparent transparent transparent;
}

.mm-events-loading-spinner div:nth-child(1) {
    animation-delay: -0.45s;
}

.mm-events-loading-spinner div:nth-child(2) {
    animation-delay: -0.3s;
}

.mm-events-loading-spinner div:nth-child(3) {
    animation-delay: -0.15s;
}

@keyframes mm-events-loading-spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

/* Button tickets text span - desktop shows both, mobile hides "Ticket" */
.hide-ticket {
    display: inline;
}

.event-no-results {
    text-align: center;
    padding: 40px 20px;
    color: #fff;
    grid-column: 1 / -1;
}


/* Events Tabs - Full Width Scrollable Buttons */
.mm-events-wrapper .row:first-child {
    margin: 0 auto;
    width: 100%;
}

.mm-events-wrapper .row:first-child .col.large-12 {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
}

.mm-events-tabs-container {
    position: relative;
    width: 100%;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}

.mm-events-tabs-scroll {
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    flex: 1;
    gap: 0;
    scroll-behavior: smooth;
    justify-content: center;
}

.mm-events-tabs-scroll::-webkit-scrollbar {
    display: none;
}

/* Scroll Arrows */
.mm-events-scroll-arrow {
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0px;
    display: none;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: opacity 0.3s ease;
    z-index: 10;
    margin: 0;
}

.mm-events-scroll-arrow:hover {
    opacity: 0.7;
}

.mm-events-scroll-arrow.active {
    display: flex;
}

.mm-events-scroll-arrow.disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

.mm-events-tab {
    font-size: 20px;
    font-weight: 400;
    padding: 3px 30px;
    background: transparent;
    border: none;
    color: #fff;
    white-space: nowrap;
    cursor: pointer;
    position: relative;
    flex: 0 0 auto;
    transition: all 0.3s ease;
    margin: 0 12px;
}

.mm-events-tab.active {
    background: linear-gradient(to right, #FFE8C5, #E2B778, #BE9A48);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    position: relative;
    bottom: -1px;
}

.mm-events-tab.active::before {
    content: "";
    position: absolute;
    inset: 0;
    padding: 1px;
    background: linear-gradient(90deg, #F6C561 0%, #C255CD 5%, #C255CD 95%, #F6C561 100%);
    border-radius: 2px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask-composite: exclude;
    pointer-events: none;
    z-index: 1;
    border-bottom: none;
}

.mm-events-tab.active::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    border-bottom: none;
}

.off-canvas .nav-vertical > li > a {
    font-size: 16px;
    color: #E2B778;
}

.dark .nav-sidebar.nav-vertical > li + li,
.dark .nav-vertical-fly-out > li + li {
    border-color: hsl(0deg 0% 49.88% / 20%);
}

.mfp-close {
    border: 1px solid #E2B778;
    border-radius: 50% !important;
    color: #E2B778;
    right: 20px;
    top: 20px;
}

.mfp-close svg {
    stroke: #E2B778;
}

.mm-state-select {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    padding: 0;
    left: 0;
}

.nav.nav-vertical {
    padding-top: 0;
}

.header-block-block-2 {
    padding: 20px;
    width: 100%;
}

.header-block-block-2 .social-icons {
    font-size: 20px;
    margin-bottom: 20px;
}

.header-block-block-2 .default-heading.gold-gradient-text {
    font-size: 18px;
    margin-bottom: 18px;
    margin-top: 10px;
}

.header-block-block-2 .social-icons .button.is-outline {
    margin-left: 0;
    margin-right: 15px;
}

/* Header Block 1 buttons - match burger menu on iPad and mobile */
@media screen and (max-width: 849px) {
    .header-block-block-1 .button {
        border: none !important;
        border-width: 0 !important;
        border-style: none !important;
        border-color: transparent !important;
        outline: none !important;
        box-shadow: none !important;
        width: 48px;
        height: 48px;
        min-width: 48px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 0;
        margin: 0;
        line-height: 48px;
    }
    
    .header-block-block-1 .button::before,
    .header-block-block-1 .button::after {
        display: none !important;
        content: none !important;
    }
    
    .header-block-block-1 .button i {
        font-size: 24px;
        line-height: 1;
        margin-right: 0;
    }
    
    .header-block-block-1 {
        display: flex;
        align-items: center;
        gap: 0;
    }
    
    .nav > li > a > i.icon-menu {
        font-size: 30px;
        color: #fff;
    }
}

/* Reduce logo width on mobile (48em and below) */
@media screen and (max-width: 48em) {
    #logo {
        max-width: 40% !important;
    }
    
    #logo img {
        max-width: 100% !important;
    }
    
}

/* ====================================
   Contact Form Popup
   ==================================== */

/* Popup overlay */
.mm-popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.85);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}

.mm-popup-overlay[style*="display: block"],
.mm-popup-overlay[style*="display: flex"] {
    display: flex !important;
}

/* Popup wrapper with gradient border */
.mm-popup-wrapper {
    max-width: 600px;
    width: 100%;
    position: relative;
    border-radius: 4px;
}

/* Popup inner content with gradient background */
.mm-popup-inner {
    position: relative;
    padding: 20px;
    border-radius: 4px;
}

/* Close button */
.mm-popup-close {
    position: absolute;
    top: 10px;
    right: 15px;
    background: transparent;
    border: none;
    font-size: 32px;
    color: #fff;
    cursor: pointer;
    opacity: 0.7;
    transition: all 0.3s ease;
    z-index: 10;
    padding: 0;
    margin: 0;
    min-height: auto;
    line-height: 100%;
}

.mm-popup-close:hover {
    opacity: 1;
    color: #F6C561;
    transform: rotate(90deg);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output{
    color: #fff;
}

/* MEDIA QUERIES START HERE. ALL THE DEFAULT CSS MUST GO ABOVE THIS LINE */

/* ============================================================================
   TABLET & MOBILE (max-width: 849px)
   ============================================================================ */
@media screen and (max-width: 849px) {
    /* Responsive adjustments for shadow images */
    .event-row {
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
        padding-bottom: 10px;
        margin-bottom: 10px;
    }
    
    .event-row:first-child {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        padding-top: 10px;
        margin-top: 10px;
    }
    
    .event-row:last-child {
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 0;
    }
    .mm-events-header-right{
        text-align: center;
    }
    .mm-shadows::before,
    .mm-shadows::after {
        width: 150px;
    }
    
    /* Logos grid - 3 columns on tablet and below */
    #row-logos {
        justify-content: center !important;
    }
    #row-logos .col {
        flex: 0 0 33.333% !important;
        max-width: 33.333% !important;
    }
    
    /* Remove border from first column's last item when there are 2 columns on mobile */
    .col .mm-accordion .mm-accordion-item:last-child .mm-accordion-title {
        border-bottom: none;
    }
    
    /* Restore border only for the last column's last item (single column or last column in multi-column) */
    .col:last-child .mm-accordion .mm-accordion-item:last-child .mm-accordion-title {
        border-bottom: 1px solid #383040;
    }
    
    /* Responsive video gallery height */
    .mm-video-gallery .mm-video-iframe-wrapper,
    .mm-video-gallery .mm-video-slide video {
        max-height: 350px;
        height: 350px;
    }
    
    .mm-video-gallery .mm-video-iframe-wrapper iframe {
        max-height: 350px;
    }
    
    /* Flickity slider navigation buttons - mobile positioning */
    .mm-stripper-gallery .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button.previous,
    .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button.previous,
    .mm-ngg-gallery-container .ngg-galleryoverview.slider-nav-outside .flickity-prev-next-button.previous {
        left: 10px;
    }
    
    .mm-stripper-gallery .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button.next,
    .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button.next,
    .mm-ngg-gallery-container .ngg-galleryoverview.slider-nav-outside .flickity-prev-next-button.next {
        right: 10px;
    }
    
    .mm-video-gallery.slider-nav-outside .flickity-prev-next-button.previous {
        left: 10px;
    }
    
    .mm-video-gallery.slider-nav-outside .flickity-prev-next-button.next {
        right: 10px;
    }
    
    /* Stripper navigation adjustments */
    .stripper-title-nav {
        gap: 8px;
    }
    
    .stripper-nav-arrows {
        gap: 6px;
    }
    
    .stripper-nav-arrow {
        width: 24px;
        height: 24px;
    }

    .stripper-nav-arrow i {
        font-size: 14px;
    }
    
    .mobile-gallery-title {
        display: block;
        margin: 0 0 12px;
        text-align: left;
    }
    
    .stripper-navigation-buttons {
        flex-direction: column;
        gap: 10px;
    }
    
    .stripper-nav-button,
    .stripper-nav-button-back,
    .button-spacer {
        width: 100%;
        min-width: auto;
    }
    
    .button-spacer {
        display: none;
    }

    /* Contact form popup */
    .mm-popup-inner {
        padding: 45px 25px 25px;
    }
    
    /* General mobile adjustments */
    .mpb-0{
        padding-bottom: 0!important;
    }
    .mobile-center,
    .mobile-center .text-right,
    .mobile-center .text-left{
        text-align: center;
    }
    
    /* MM LI List - Force left alignment */
    .mm-li-list,
    .mm-li-item {
        text-align: left !important;
        justify-content: flex-start !important;
    }
    
    /* Force left alignment for MM Accordion on mobile */
    .mm-accordion,
    .mm-accordion .mm-accordion-item,
    .mm-accordion .mm-accordion-title,
    .mm-accordion .mm-accordion-title-content {
        text-align: left !important;
        justify-content: flex-start !important;
    }
    
    .mm-accordion .mm-accordion-title {
        justify-content: space-between !important;
    }
    
    /* Small button for primary buttons on mobile */
    .button.primary.small-button,
    .button.primary .small-button {
        font-size: 9px;
        padding: 2px 10px;
        width: 235px;
        margin-right: 0;
    }
    
    /* Default heading adjustments */
    .default-heading::before{
        display: none;
    }

    .default-heading{
        padding-left: 0;
        margin-top: 0;
    }

    .mm-video-poster{
        width: 100%;
    }
    .padding-right-50{
        padding-right: 0;
    }

    .photos-button{
        margin-left: 0;
    }
    .break-line{
        display: inline;
    }

    
    /* Footer Widget Accordion - Only for nav menu widgets */
    .footer .widget.widget_nav_menu .widget-title {
        cursor: pointer;
        position: relative;
        padding-right: 30px;
        user-select: none;
    }
    
    .footer .widget.widget_nav_menu .widget-title::after {
        content: '▼';
        position: absolute;
        right: 0;
        top: 25%;
        transform: translateY(-50%);
        font-size: 12px;
        transition: transform 0.3s ease;
    }
    
    .footer .widget.widget_nav_menu .widget-title.active::after {
        transform: translateY(-50%) rotate(180deg);
    }
    
    /* Hide nav menu widgets by default */
    .footer .widget.widget_nav_menu .menu,
    .footer .widget.widget_nav_menu > ul {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.3s ease-out;
    }
    
    /* Show nav menu widgets when expanded */
    .footer .widget.widget_nav_menu.expanded .menu,
    .footer .widget.widget_nav_menu.expanded > ul {
        max-height: 1000px;
        transition: max-height 0.5s ease-in;
    }
    
    .footer.footer-2{
        text-align: center;
    }

    .dark.footer-2 .social-icons{
        text-align: center;
    }

    .absolute-footer .footer-text {
        font-weight: bold;
        text-transform: uppercase;
    }
    .mm-faq-row {
        margin-bottom: 20px;
    }

    .mm-faq-row .col{
        padding-bottom: 0;
    }
    
    /* small-col-first applies to all screen sizes 849px and above */
    .small-col-first {
        order: -1;
    }

    .dark .default-heading-no-icon,
    .dark p.default-heading-no-icon {
        margin-bottom: 20px;
    }

    /* Events header mobile layout */
    .mm-events-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 0px;
        padding-bottom: 0;

    }
    
    .mm-events-header-left {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    
    .tour-dates-title {
        font-size: 16px; 
        line-height: 22px;
        text-align: center;
        margin-top: 15px;
        /* display: none; */
    }
    
    
    /* Mobile: 3 columns - Date | Venue / City | Tickets */
    .mm-events-headers {
        grid-template-columns: 1fr 2fr 1fr;
        gap: 15px;
        border-top: 2px solid hwb(0deg 87% 13% / 20%);
        margin-top: 20px;
        padding: 15px 0 0px 0;
    }
    
    .event-date-header {
        grid-column: 1;
        text-align: left;
    }
    
    .event-venue-header {
        grid-column: 2;
        text-align: left;
    }
    
    .event-city-header {
        display: none;
    }
    
    .event-tickets-header {
        grid-column: 3;
        text-align: left;
    }
    
    /* Content rows - same 3 column layout */
    .event-row {
        grid-template-columns: 1fr 2fr 1fr;
        gap: 0px;
        align-items: start;
        font-size: 14px;
        text-transform: none;
    }
    
    .event-date {
        grid-column: 1;
        grid-row: 1;
        text-align: left;
    }
    
    /* Mobile: venue and city flow together as inline text */
    .event-venue-city-wrapper {
        grid-column: 2;
        grid-row: 1;
        text-align: left;
        display: inline;
    }
    
    .event-venue,
    .event-city {
        display: inline;
    }
    
    .event-city::before {
        content: ' / ';
    }
    
    .event-venue strong {
        display: inline;
        font-weight: normal;
    }
    
    .event-tickets {
        grid-column: 3;
        grid-row: 1 / 3;
        text-align: right;
        align-self: center;
    }
    
    .event-tickets .button {
        padding: 10px 20px;
        font-size: 14px;
    }
    
    /* Hide "Ticket" text on mobile, keep "Buy" */
    .hide-ticket {
        display: none!important;
    }

    .mm-events-tab{
        font-size: 15px;
        font-weight: bold;
        padding-left: 8px;
        padding-right: 8px;
        margin-left: 2px;
        margin-right: 2px;
    }
    .location-text {
        font-size: 14px;
        font-weight: bold;
        margin-bottom: 5px;
    }
    .mm-events-border {
        padding: 25px 15px;
    }

    .mm-events-header .custom-select-wrapper{
        width: 100%;
    }
    .event-row .button.secondary{
        padding: 2px 4px;
    }
    .mm-events-header-col {
        font-size: 16px;
    }

    .event-date{
        font-size: 17px;
        width: 70px;
    }

    /* Make month white on mobile */
    .event-date .event-month {
        color: #fff;
        display: block;
    }
    .custom-select-wrapper{
        margin-bottom: 0;
    }
    
    .mm-state-dropdown {
        width: 85%;
    }
    
    .sidebar-menu.no-scrollbar .custom-select-wrapper {
        display: block;
    }
    
    .sidebar-menu.no-scrollbar .header-button .button {
        display: block;
    }
    
    .sidebar-menu.no-scrollbar .nav .button.primary {
        display: block;
        width: 100%;
    }
    
    /* Video slider columns - remove padding on mobile */
    .flickity-slider .col.small-12.large-12{
        padding-left: 0;
        padding-right: 0;
    }

    #append-events .button.secondary.events-premium-button:after {
        display: none;
    }
    #append-events .button.secondary.events-premium-button{
        width: 100%;
    }
}

/* ============================================================================
   SMALL MOBILE (max-width: 549px)
   ============================================================================ */
@media screen and (max-width: 549px) {
    /* Responsive adjustments for shadow images */

    .mm-shadows::before,
    .mm-shadows::after {
        width: 100px;
    }
    
    /* Responsive video gallery height - smaller screens */
    .mm-video-gallery .mm-video-iframe-wrapper,
    .mm-video-gallery .mm-video-slide video {
        max-height: 250px;
        height: 250px;
    }
    
    .mm-video-gallery .mm-video-iframe-wrapper iframe {
        max-height: 250px;
    }
    
    /* Contact form popup - smaller screens */
    .mm-popup-inner {
        padding: 40px 20px 20px;
    }
    .mm-popup-close {
        font-size: 28px;
        top: 8px;
        right: 10px;
    }


    .npba-0 .col{
        padding-bottom:0!important;
    }

    .mm-dot{
        margin-bottom: 0;
    }

    .row.no-padding-bottom-mobile .col{
        padding-bottom:0!important;
    }
}

/* ============================================================================
   DESKTOP (min-width: 850px)
   ============================================================================ */
@media (min-width: 850px) {

    /* Logos grid - 5 columns on desktop */
    #row-logos {
        justify-content: center !important;
    }
    #row-logos .col {
        flex: 0 0 20% !important;
        max-width: 20% !important;
    }
    
    /* Stripper Gallery Responsive Columns - Desktop: 4 columns */
    .mm-stripper-gallery .mm-gallery-thumbnails.large-columns-4 .col {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }
    
    /* Flickity slider navigation buttons - desktop positioning */
    .row.slider.row-slider .flickity-prev-next-button.previous {
        left: -28px;
    }
    
    .row.slider.row-slider .flickity-prev-next-button.next {
        right: -20px;
    }
    
    .mm-stripper-gallery .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button.previous,
    .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button.previous,
    .mm-ngg-gallery-container .ngg-galleryoverview.slider-nav-outside .flickity-prev-next-button.previous {
        left: -20px;
    }
    
    .mm-stripper-gallery .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button.next,
    .mm-gallery-thumbnails.slider-nav-outside .flickity-prev-next-button.next,
    .mm-ngg-gallery-container .ngg-galleryoverview.slider-nav-outside .flickity-prev-next-button.next {
        right: -20px;
    }
    
    .mm-video-gallery.slider-nav-outside .flickity-prev-next-button.previous {
        left: -20px;
    }
    
    .mm-video-gallery.slider-nav-outside .flickity-prev-next-button.next {
        right: -20px;
    }
    
    /* Latest Gallery Grid - Desktop positioning */
    #latest-gallery-grid.slider .flickity-prev-next-button.previous {
        left: -20px;
    }
    
    #latest-gallery-grid.slider .flickity-prev-next-button.next {
        right: -20px;
    }

    /* This rule is removed - it was breaking performers grid */
}

/* ============================================================================
   TABLET/iPAD (min-width: 768px)
   ============================================================================ */
@media (min-width: 768px) {
    /* iPad and up: 4 columns */
    .mm-stripper-gallery .mm-gallery-thumbnails.medium-columns-4 .col {
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }
}


/* StackTable Styles - Desktop: show large-only, hide small-only */
.stacktable.small-only {
    display: none;
}

.stacktable.large-only {
    display: table;
    position: relative;
    width: 100%;
}

/* Ensure tbody fills full width on desktop */
.stacktable.large-only tbody {
    width: 100%;
    display: table-row-group;
}

.stacktable.large-only thead {
    width: 100%;
    display: table-header-group;
}

/* Gradient border for desktop table */
.stacktable.large-only::before {
    content: '';
    position: absolute;
    inset: 0;
    padding: 1px;
    background: linear-gradient(90deg, #F6C561 0%, #C255CD 5%, #C255CD 95%, #F6C561 100%);
    border-radius: 4px;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    z-index: 1;
}

/* Mobile Styles */
@media only screen and (max-width: 48em) {
    body .banner-cta span {
        font-size: 12px;
        line-height: 14px;
        text-transform: none;
    }
    
    .banner-cta span.cta-anchor .gold-gradient-text {
        text-transform: none;
    }

    .banner-heading p,
    .default-heading,
    .dark .default-heading-no-icon,
    .dark p.default-heading-no-icon {
        font-size: 20px;
        line-height: 25px;
        margin-bottom: 20px;
    }

    .banner-heading p{
        margin-bottom: 5px;
    }
    
    .banner-cta::before{
        height: 45px;
    }
    /* Reduce MM Package box image height on mobile */
    .mm-package .box-image {
        max-height: 190px;
        overflow: hidden;
    }
    
    .mm-package .box-image img {
        object-fit: cover;
        height: 190px;
        width: 100%;
        object-position: 0px -70px;
    }

    .our-services-container .col .img .img-inner img{
        height: 160px;
        object-fit: cover;
        object-position: 0 -97px;
    }
   

    .banner-cta {
        min-height: 80px;
    }
    
    /* Reduce padding for home banner CTA blocks on mobile */
    .banner-buttons-row.row-small > .col {
        padding: 0 2px 3px;
    }
    
    /* StackTable Styles - Mobile: show small-only, hide large-only */
    .stacktable.small-only {
        display: block;
        width: 100%;
    }
    
    .stacktable.large-only {
        display: none;
    }
    
    /* StackTable mobile card styling */
    .stacktable.small-only table {
        width: 100%;
        margin-bottom: 15px;
        border-collapse: collapse;
        position: relative;
        padding: 1px; /* Space for gradient border */
        background: var(--odd-bg-color, #140623);
        border-radius: 4px;
    }
    
    /* Gradient border for mobile card tables */
    .stacktable.small-only table::before {
        content: '';
        position: absolute;
        inset: 0;
        border-radius: 4px;
        padding: 1px;
        background: linear-gradient(90deg, #F6C561 0%, #C255CD 5%, #C255CD 95%, #F6C561 100%);
        -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
        -webkit-mask-composite: xor;
        mask-composite: exclude;
        pointer-events: none;
    }
    
    .stacktable.small-only table tbody {
        background: var(--odd-bg-color, #140623);
        border-radius: 3px;
        width: 100%;
        display: table-row-group;
    }
    
    .stacktable.small-only table thead {
        width: 100%;
        display: table-header-group;
    }
    
    .stacktable.small-only .st-key {
        font-weight: bold;
        padding-right: 15px;
        vertical-align: top;
        text-transform: none;

    }
    
    .stacktable.small-only .st-val {
        padding-left: 15px;
    }
    
    .stacktable.small-only tr {
        border-bottom: 1px solid var(--border-color, #383040);
    }
    
    .stacktable.small-only tr:last-child {
        border-bottom: none;
    }
}

/* EXTRA LARGE SCREENS */

@media screen and (max-width: 1300px) {
    .banner-cta span{
        font-size: 15px;
        line-height: 18px;
        text-align: center;
    }
    .banner-cta {
        flex-direction: column;
        align-items: center;
    }
    .banner-cta::before{
        display: block;
        margin-right: 0;
        margin-bottom: 10px;
    }
}

/* Tablet & Below - Last Item Centered */

/* ============================================================================
   ULTRA HD SCALING (1800px+)
   Proportional scaling for elements YOU styled in this CSS
   ============================================================================ */
@media screen and (min-width: 1800px) {
    /* Shows TablePress - Increase padding on large screens */
    .shows-tablepress .tablepress tbody tr:nth-child(odd) td,
    .shows-tablepress .tablepress tbody tr:nth-child(even) td,
    .shows-tablepress table.tablepress tbody tr:nth-child(odd) td,
    .shows-tablepress table.tablepress tbody tr:nth-child(even) td {
        padding: 0 0 20px 0;
    }
    /* Rating display */
    .mm-rating-display .rating-number {
        font-size: 16px; /* Increased from 14px */
    }
    
    .mm-rating-display .star {
        font-size: 20px; /* Increased from 18px */
    }
    
    /* MM LI Item font size - Add +2px */
    .mm-li-text[style*="--mm-li-font-size"] {
        font-size: calc(var(--mm-li-font-size) + 4px) !important;
    }
    
    /* MM Price display */
    .mm-price-display .mm-price-amount {
        font-size: 26px; /* Increased from 24px */
    }
    
    .mm-price-display .mm-price-type {
        font-size: 18px; /* Increased from 16px */
    }
    
    .mm-price-display .mm-price-min-people {
        font-size: 18px; /* Increased from 16px */
    }
    
    .mm-price-display .mm-price-original {
        font-size: 18px; /* Increased from 16px */
    }
    
    .mm-price-display .mm-price-range-label {
        font-size: 18px; /* Increased from 16px */
    }
    
    .mm-price-display .mm-price-range-amount {
        font-size: 26px; /* Increased from 24px */
    }
    
    /* Container - 95% width */
    .container-width, 
    .full-width .ubermenu-nav, 
    body .container,
    #content .row:not(:where(.row *)),
    #content > .row,
    .footer-widgets > .row{
        max-width: 80% !important;
    }

    .men-content .sub-heading{
        font-size: 18px;
    }

    #content > .row .row {
        max-width: initial !important; /* or none/100% per your theme */
    }
    
    /* Typography - Scale YOUR custom font sizes by ~15% */
    
    /* Dark text (line 21-23) - was 14px */
    .dark, .dark p, .dark td {
        font-size: 18px;
        line-height: 30px;
    }
    
    /* MM dot list (line 25-30) - was 13px */
    ul.mm-dot li {
        font-size: 15px;
    }
    
    /* Floating text (line 50-53) - was 13px */
    .floating-text {
        font-size: 15px;
    }
    
    /* Make floating-text appear immediately on mobile - no delays */
    .color-black.floating-text,
    .floating-text.color-black,
    .color-black.floating-text.uppercase,
    .floating-text.color-black.uppercase {
        opacity: 1 !important;
        animation: none !important;
        animation-delay: 0 !important;
        transition: none !important;
        visibility: visible !important;
    }
    
    /* Banner heading (line 64-69) - was 42px */
    .banner-heading p {
        font-size: 48px;
        line-height: 100%;
    }
    
    /* Banner CTA text (line 126-128) - was 18px */
    .banner-cta span {
        font-size: 21px;
        line-height: 26px;
    }
    
    /* Banner CTA icons (line 138-147) - was 55x50 */
    .banner-cta::before {
        width: 63px;
        height: 58px;
    }
    
    /* Footer large text (line 220-225) - was 30px */
    body .footer-wrapper .footer-2 p {
        font-size: 35px;
    }
    
    /* Footer widget links (line 227-232) - was 13px */
    .dark .widget a:not(.icon) {
        font-size: 15px;
    }
    
    /* Navigation (line 288-289) - was 14px */
    .header-bottom .nav-center > li > a {
        font-size: 16px;
        letter-spacing: 2.3px;
    }
    
    /* Primary buttons (line 306) - was 12px */
    .primary-button,
    .button.primary,
    .button.is-primary,
    button.primary,
    input[type="submit"].primary {
        font-size: 14px !important;
    }
    
    /* Secondary buttons (line 437) - was 13px */
    .secondary-button,
    .button.secondary,
    .button.is-secondary,
    button.secondary,
    input[type="submit"].secondary {
        font-size: 15px !important;
    }
    
    /* Custom select dropdown (line 596) - was 12px */
    .custom-select-trigger { 
        font-size: 16px;
        font-weight: bold;
    }
    
    /* Custom select map icon (line 609-614) - was 18px */
    .custom-select-trigger .icon-map-pin-fill {
        font-size: 21px;
    }
    
    /* Custom select option (line 671) - was 12px */
    .custom-select-option {
        font-size: 14px;
    }
    
    /* Legacy select (line 717) - was 12px */
    .select-with-border select,
    select.select-with-border {
        font-size: 14px;
    }
    
    /* Default heading (line 742) - was 38px */
    .default-heading {
        font-size: 44px;
        padding-left: 75px; /* Scale padding too */
    }
    
    /* Default heading icon (line 747-759) - was 53x53 */
    .default-heading::before {
        width: 61px;
        height: 61px;
    }
    
    /* Small heading (line 761-768) - was 11px */
    span.small-heading {
        font-size: 13px;
        letter-spacing: 6px;
    }
    
    /* MM Package heading (line 789-801) - was 22px */
    .mm-package .box-text h3,
    body .ti-rating-text {
        font-size: 25px;
    }
    
    /* Performer name (line 930-939) - was 16px */
    .performer-name {
        font-size: 18px;
    }
    
    /* Performer rating stars (line 948-954) - was 9px */
    .performer-rating .star {
        font-size: 20px;
        width: 20px;
        height: 20px;
    }
    
    /* Gallery title (line 1074-1078) - was 16px */
    .mm-gallery-title {
        font-size: 18px;
    }
    
    /* MM Accordion title (line 1454-1465) - was 14px */
    .mm-accordion .mm-accordion-item .mm-accordion-title {
        font-size: 16px;
    }
    
    .mm-package .box-text h3 strong{
        display: inline;
    }
    /* Photos button margin (line 1084-1086) - was 70px */
    .photos-button {
        margin-left: 81px;
    }
    
    /* TI Widget review content */
    body .ti-widget.ti-goog .ti-review-content {
        font-size: 16px;
        line-height: 28px;
    }
    
    /* MM Video Player - Make poster 100% */
    .mm-video-poster {
        width: 100% !important;
        height: 100% !important;
    }
    
    /* Pricing - Scale up fonts and icons */
    .price-information > span:not(.golden) {
        font-size: 16px;
    }
    
    .price-information .p-price {
        font-size: 16px;
    }
    
    .club-ticket-icon,
    .private-pricing-icon {
        width: 30px;
        height: 30px;
    }
    
    /* TablePress Ultra HD scaling */
    .tablepress thead th {
        font-size: 20px;
    }
    
    .tablepress tbody td {
        font-size: 18px;
    }
    
    .tablepress .button.primary {
        padding: 8px 24px;
        width: 180px;
    }
    
    .tablepress .icon-tie::before,
    .tablepress .icon-hat::before,
    .tablepress .icon-star::before {
        width: 30px;
        height: 30px;
    }
    
    /* Stripper Info Rows - Moreinfo section (line 1197-1210) - was 14px */
    .stripper-info-row .info-label,
    .stripper-info-row .info-value,
    .men-content .entry-content-mm h4 + ul li,
    .men-content h4.physical-stats-heading, .men-content h4,  .men-content h3 {
        font-size: 18px;
    }
    
    /* Ultra-wide screens - Increase banner height to prevent video cropping */
    .request-call-back textarea{
        height: 255px;
    }
    
    /* Video gallery height for ultra-wide screens */
    .mm-video-gallery .mm-video-iframe-wrapper {
        max-height: 440px;
        height: 440px;
    }
    
    .mm-video-gallery .mm-video-iframe-wrapper iframe {
        max-height: 440px;
    }
    
    .mm-video-gallery .mm-video-slide video {
        max-height: 440px;
        height: 440px;
    }
    
    .banner.has-video {
        min-height: 900px !important;
    }
    
    .banner.has-video .banner-inner {
        min-height: 900px !important;
    }
    
    /* Ensure video wrapper scales properly */
    .banner.has-video .vimeo-wrapper,
    .banner.has-video .video-bg,
    .banner.has-video .ux-youtube {
        min-height: 110% !important;
        min-width: 110% !important;
    }
}

/* ============================================================================
   EXTRA LARGE SCREENS (2200px+)
   ============================================================================ */
@media screen and (min-width: 2200px) {
    .banner.has-video {
        min-height: 1100px !important;
    }
    
    .banner.has-video .banner-inner {
        min-height: 1100px !important;
    }
    
    .banner.has-video .vimeo-wrapper,
    .banner.has-video .video-bg,
    .banner.has-video .ux-youtube {
        min-height: 120% !important;
        min-width: 120% !important;
    }
}

/* ============================================================================
   ULTRA WIDE SCREENS (2560px+)
   ============================================================================ */
@media screen and (min-width: 2560px) {
    .banner.has-video {
        min-height: 1200px !important;
    }
    
    .banner.has-video .banner-inner {
        min-height: 1200px !important;
    }
}
