/* =============================================================================
   The Mad House Newcastle — Global CSS
   Covers: brand tokens, navigation (desktop + mobile), cart drawer
   Loaded on every page.
   ============================================================================= */

/* ── Brand CSS variables ──────────────────────────────────────────────────── */
:root {
  --brand-pink:  #F95FA0;
  --brand-black: #000000;
  --brand-white: #FFFFFF;
  --brand-cyan:  #5BC8F5;
  --brand-lime:  #C8E84E;
  --brand-dark:  #1a1a1a;

  /* Astra global colour slots */
  --ast-global-color-0: #F95FA0;
  --ast-global-color-1: #5BC8F5;
  --ast-global-color-2: #C8E84E;
  --ast-global-color-3: #FFFFFF;

  /* Astra body/link/button */
  --ast-link-color:       #F95FA0;
  --ast-button-bg-color:  #F95FA0;
  --ast-button-color:     #FFFFFF;
  --ast-heading-color:    #FFFFFF;
  --ast-body-font-color:  #FFFFFF;
  --ast-background-color: #000000;
}

/* ── Logo & site title (all breakpoints) ─────────────────────────────────── */
.custom-logo-link img,
.site-logo img,
.astra-logo-svg {
    max-width: 45px !important;
    width: 45px !important;
    height: auto !important;
}
.site-title,
.site-title a,
.ast-site-identity .site-title,
.site-header .site-title {
    font-size: 20px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

/* ── Header button 1 (all breakpoints) ───────────────────────────────────── */
.ast-header-button-1 .ast-custom-button,
.ast-header-button-1 .ast-builder-button-wrap .ast-custom-button {
    font-size: 12px !important;
    padding: 6px 14px !important;
    letter-spacing: 0 !important;
}
.ast-header-button-1 .ast-custom-button:hover,
.ast-header-button-1 .ast-builder-button-wrap .ast-custom-button:hover {
    background-color: transparent !important;
    border: 2px solid #F95FA0 !important;
    color: #F95FA0 !important;
}

/* ── DESKTOP nav (min-width: 1025px) ─────────────────────────────────────── */
@media (min-width: 1025px) {

    .main-header-menu,
    #ast-hf-menu-1,
    .ast-primary-menu-area ul.main-header-menu {
        white-space: nowrap !important;
        flex-wrap: nowrap !important;
    }

    .main-header-menu > li > .menu-link,
    .main-header-menu > li > a,
    .ast-primary-menu-area .menu-item > .menu-link {
        font-size: 12px !important;
        padding: 3px 6px !important;
        letter-spacing: 0 !important;
        white-space: nowrap !important;
    }

    /* Top-level hover */
    .main-header-menu > li > .menu-link:hover,
    .main-header-menu > li > a:hover,
    .main-header-menu > li:hover > .menu-link,
    .main-header-menu > li:hover > a,
    .ast-primary-menu-area > ul > .menu-item:hover > .menu-link {
        color: #F95FA0 !important;
    }

    /* Dropdowns */
    .main-header-menu .sub-menu,
    .ast-primary-menu-area .sub-menu,
    .ast-header-custom-item .sub-menu {
        background-color: #1a1a1a !important;
        border-top: 2px solid #F95FA0 !important;
        box-shadow: 0 6px 20px rgba(0,0,0,0.6) !important;
        min-width: 190px !important;
    }
    .main-header-menu .sub-menu .menu-item > .menu-link,
    .main-header-menu .sub-menu .menu-item > a,
    .ast-primary-menu-area .sub-menu .menu-item > a {
        color: #FFFFFF !important;
        background: transparent !important;
        font-size: 13px !important;
        padding: 8px 16px !important;
        border-bottom: 1px solid rgba(255,255,255,0.07) !important;
        white-space: nowrap !important;
    }
    .main-header-menu .sub-menu .menu-item:hover > .menu-link,
    .main-header-menu .sub-menu .menu-item:hover > a,
    .ast-primary-menu-area .sub-menu .menu-item:hover > a,
    .main-header-menu .sub-menu .current-menu-item > .menu-link {
        color: #F95FA0 !important;
        background: rgba(249,95,160,0.08) !important;
    }

    /* Shop & Account icon-only items */
    li.nav-icon-shop > .menu-link,
    li.nav-icon-account > .menu-link {
        font-size: 0 !important;
        line-height: 0 !important;
        padding: 3px 6px !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    li.nav-icon-shop > .menu-link::before {
        content: '';
        display: inline-block;
        width: 18px; height: 18px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
        background-repeat: no-repeat; background-size: contain; background-position: center;
    }
    li.nav-icon-shop > .menu-link:hover::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F95FA0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cline x1='3' y1='6' x2='21' y2='6'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");
    }
    li.nav-icon-account > .menu-link::before {
        content: '';
        display: inline-block;
        width: 18px; height: 18px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
        background-repeat: no-repeat; background-size: contain; background-position: center;
    }
    li.nav-icon-account > .menu-link:hover::before {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F95FA0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E");
    }
    li.nav-icon-shop {
        border-left: 1px solid rgba(255,255,255,0.2) !important;
        margin-left: 3px !important;
        padding-left: 1px !important;
    }

    /* CTA button */
    li.nav-cta > .menu-link,
    li.nav-cta > a {
        background: #F95FA0 !important;
        color: #FFFFFF !important;
        border-radius: 4px !important;
        padding: 6px 14px !important;
        font-size: 12.5px !important;
        font-weight: 700 !important;
        letter-spacing: 0.5px !important;
        text-transform: uppercase !important;
        margin-left: 8px !important;
        transition: background 0.2s ease !important;
    }
    li.nav-cta > .menu-link:hover,
    li.nav-cta > a:hover {
        background: #d94e89 !important;
        color: #FFFFFF !important;
    }

} /* end desktop */

/* ── MOBILE & TABLET nav (max-width: 1024px) ─────────────────────────────── */
@media (max-width: 1024px) {

    /* Hamburger button */
    .menu-toggle,
    .main-header-menu-toggle {
        color: #FFFFFF !important;
        background: transparent !important;
        border: none !important;
    }
    .menu-toggle svg path,
    .menu-toggle svg line,
    .menu-toggle svg rect,
    .menu-toggle svg circle { stroke: #FFFFFF !important; fill: none !important; }
    .menu-toggle svg polygon,
    .menu-toggle svg use { fill: #FFFFFF !important; }

    /* Mobile panel */
    .ast-mobile-header-content,
    .ast-mobile-header-content .main-navigation,
    .ast-mobile-header-content .ast-main-header-bar-alignment {
        background-color: #1a1a1a !important;
    }

    /* Vertical list */
    #ast-hf-mobile-menu,
    .ast-mobile-header-content .main-header-menu,
    .ast-mobile-header-content .ast-nav-menu {
        flex-direction: column !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        white-space: normal !important;
    }
    #ast-hf-mobile-menu > .menu-item,
    .ast-mobile-header-content .menu-item {
        width: 100% !important;
        display: block !important;
        border-bottom: 1px solid rgba(255,255,255,0.08) !important;
    }

    /* Link colours */
    #ast-hf-mobile-menu .menu-link,
    #ast-hf-mobile-menu > li > a,
    .ast-mobile-header-content .menu-link,
    .ast-mobile-header-content a.menu-link {
        color: #FFFFFF !important;
        font-size: 14px !important;
        padding: 12px 20px !important;
        display: block !important;
        white-space: normal !important;
        background: transparent !important;
    }
    #ast-hf-mobile-menu .menu-link:hover,
    .ast-mobile-header-content .menu-link:hover {
        color: #F95FA0 !important;
        background: rgba(249,95,160,0.08) !important;
    }

    /* Submenus */
    #ast-hf-mobile-menu .sub-menu,
    .ast-mobile-header-content .sub-menu {
        background-color: #111111 !important;
        border-top: none !important;
        border-left: 3px solid #F95FA0 !important;
        box-shadow: none !important;
        position: static !important;
        width: 100% !important;
        min-width: unset !important;
    }
    #ast-hf-mobile-menu .sub-menu .menu-link,
    .ast-mobile-header-content .sub-menu .menu-link {
        color: #FFFFFF !important;
        padding: 10px 20px 10px 28px !important;
        font-size: 13px !important;
        border-bottom: 1px solid rgba(255,255,255,0.05) !important;
    }
    #ast-hf-mobile-menu .sub-menu .menu-link:hover,
    .ast-mobile-header-content .sub-menu .menu-link:hover {
        color: #F95FA0 !important;
        background: rgba(249,95,160,0.06) !important;
    }
    #ast-hf-mobile-menu .sub-menu .sub-menu .menu-link,
    .ast-mobile-header-content .sub-menu .sub-menu .menu-link {
        padding-left: 40px !important;
    }

    /* Toggle arrow */
    .ast-mobile-header-content .ast-menu-toggle,
    #ast-hf-mobile-menu .ast-menu-toggle {
        color: #FFFFFF !important;
        border-color: rgba(255,255,255,0.3) !important;
    }
    .ast-mobile-header-content .ast-menu-toggle svg path,
    .ast-mobile-header-content .ast-menu-toggle svg line { stroke: #FFFFFF !important; }

    /* Show text labels for icon-only items on mobile */
    li.nav-icon-shop > .menu-link,
    li.nav-icon-account > .menu-link {
        font-size: 14px !important;
        line-height: 1.5 !important;
        padding: 12px 20px !important;
    }
    li.nav-icon-shop > .menu-link::before,
    li.nav-icon-account > .menu-link::before { display: none !important; }
    li.nav-icon-shop {
        border-left: none !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }

} /* end mobile */

/* =============================================================================
   Cart Drawer — dark theme
   ============================================================================= */
:root {
  --fct-cart-drawer-bg:                        #111111;
  --fct-cart-drawer-primary-text-color:        #ffffff;
  --fct-cart-drawer-secondary-text-color:      #aaaaaa;
  --fct-cart-drawer-border-color:              #2a2a2a;
  --fct-cart-drawer-open-btn-bg-color:         #ffffff;
  --fct-cart-drawer-close-btn-color:           #ffffff;
  --fct-cart-drawer-quantity-bg-color:         #1a1a1a;
  --fct-cart-drawer-quantity-color:            #ffffff;
  --fct-cart-drawer-quantity-border-color:     #2a2a2a;
  --fct-cart-drawer-quantity-btn-bg:           #222222;
  --fct-cart-drawer-quantity-btn-color:        #ffffff;
  --fct-cart-drawer-quantity-btn-hover-bg:     #F95FA0;
  --fct-cart-drawer-badge-bg-color:            #F95FA0;
  --fct-cart-drawer-badge-text-color:          #000000;
  --fct-cart-drawer-btn-bg-color:              #F95FA0;
  --fct-cart-drawer-btn-text-color:            #000000;
  --fct-cart-drawer-btn-border-color:          #F95FA0;
  --fct-view-cart-btn-bg-color:                #1a1a1a;
  --fct-view-cart-drawer-btn-color:            #ffffff;
  --fct-view-cart-drawer-btn-border-color:     #2a2a2a;
  --fct-view-cart-drawer-btn-hover-bg:         #222222;
  --fct-cart-item-delete-btn-bg-color:         #1a1a1a;
  --fct-cart-item-delete-btn-hover-bg-color:   #F95FA0;
  --fct-cart-item-delete-btn-border-color:     #2a2a2a;
  --fct-cart-item-delete-btn-color:            #aaaaaa;
  --fct-cart-drawer-footer-action-bg-color:    #0a0a0a;
}

.fct-cart-drawer { background-color: #111111 !important; }
.fct-cart-drawer-overlay { background-color: rgba(0,0,0,0.75) !important; }

.fct-cart-drawer-header {
  background: #000000 !important;
  border-color: #2a2a2a !important;
  padding: 20px 24px !important;
}
.fct-cart-drawer-header .title {
  color: #ffffff !important;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 600 !important;
  font-size: 20px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
}
.fct-cart-drawer-header .fct-cart-drawer-close-button,
.fct-cart-drawer-header .fct-cart-drawer-close-button svg {
  color: #ffffff !important;
  fill: #ffffff !important;
  stroke: #ffffff !important;
}

.fct-cart-item,
.fluent-cart-items-wrapper li { border-color: #2a2a2a !important; background: transparent !important; }

.fct-cart-drawer-list .fct-cart-item .fct-cart-item-details .fct-cart-item-title,
.fct-cart-drawer-list .fct-cart-item .fct-cart-item-details .fct-cart-item-title a,
.fct-cart-item-title,
.fct-cart-item-title a,
.fluent-cart-cart-list-item-title,
.fluent-cart-cart-list-item-title-element,
.fluent-cart-cart-list-item-title-url {
  color: #ffffff !important;
  font-family: 'Oswald', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  text-decoration: none !important;
}

.fct-cart-item-price,
.fluent-cart-cart-list-item-price { color: #F95FA0 !important; font-family: 'Albert Sans', sans-serif !important; font-size: 13px !important; }
.fct-cart-drawer-list .fct-cart-item .fct-cart-item-details .fct-cart-item-price span,
.fct-cart-item-price span { color: #F95FA0 !important; }
.fct-cart-item-total,
.fluent-cart-cart-list-item-total-price { color: #F95FA0 !important; font-family: 'Albert Sans', sans-serif !important; font-weight: 700 !important; font-size: 16px !important; }
.fct-cart-item-variant,
.fluent-cart-cart-list-item-variation-title { color: #888888 !important; font-family: 'Albert Sans', sans-serif !important; }

.fct-cart-item-quantity,
.fluent-cart-cart-list-item-quantity-wrapper { background: #1a1a1a !important; border-color: #2a2a2a !important; border-radius: 6px !important; }
.fluent-cart-cart-list-item-decrease-button,
.fluent-cart-cart-list-item-increase-button { background: #222222 !important; color: #ffffff !important; border-color: #2a2a2a !important; }
.fluent-cart-cart-list-item-decrease-button:hover,
.fluent-cart-cart-list-item-increase-button:hover { background: #F95FA0 !important; color: #000000 !important; }
.fluent-cart-cart-list-item-quantity-input { background: #1a1a1a !important; color: #ffffff !important; border-color: #2a2a2a !important; font-family: 'Albert Sans', sans-serif !important; }

.fct-cart-item-delete-button,
.fct-cart-item-remove,
.fluent-cart-cart-list-item-delete-button { background: #1a1a1a !important; color: #aaaaaa !important; border-color: #2a2a2a !important; }
.fluent-cart-cart-list-item-delete-button:hover { background: #F95FA0 !important; color: #000000 !important; border-color: #F95FA0 !important; }

.fct-cart-drawer-footer-actions,
.fct-cart-total-wrapper,
.fct-cart-drawer .fct-cart-total-wrapper { background: #0a0a0a !important; background-color: #0a0a0a !important; border-top: 1px solid #2a2a2a !important; }
.fct-cart-drawer .fct-cart-total-wrapper .fct-cart-total,
.fct-cart-drawer [class*="total"] { color: #ffffff !important; font-family: 'Albert Sans', sans-serif !important; }

.fct-cart-drawer button[data-fct-cart-checkout],
.fct-cart-drawer .fct-cart-checkout-button,
.fct-cart-drawer [class*="checkout-button"],
.fct-cart-drawer-footer-actions button,
.fct-cart-drawer-footer-actions a {
  background: #F95FA0 !important;
  color: #000000 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 900 !important;
  font-size: 14px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  border: none !important;
  border-radius: 6px !important;
  transition: transform .22s ease !important;
}
.fct-cart-drawer-footer-actions button:hover,
.fct-cart-drawer-footer-actions a:hover { transform: translateY(-2px) !important; }

.fluent-cart-cart-empty-content,
.fluent-cart-cart-empty-content-text { color: #aaaaaa !important; font-family: 'Albert Sans', sans-serif !important; }

[data-fct-cart-count],
.fct-cart-count { background: #F95FA0 !important; color: #000000 !important; font-weight: 700 !important; }

/* FluentCart adds is-hidden when cart is empty — always show the floating button */
.fct-cart-drawer-open-btn.is-hidden { display: flex !important; }

/* ══════════════════════════════════════════════════════════════════════════
   BREADCRUMB BAR — injected after hero section on all inner pages
   ══════════════════════════════════════════════════════════════════════════ */
.tmh-breadcrumb-bar {
  background: #000000 !important;
  border-bottom: 1px solid rgba(249, 95, 160, 0.15) !important;
  padding: 0 !important;
  width: 100% !important;
  display: block !important;
}
.tmh-breadcrumb-inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 9px 20px;
}
.tmh-breadcrumb-bar .rank-math-breadcrumb,
.tmh-breadcrumb-bar .tmh-breadcrumb {
  display: block;
}
.tmh-breadcrumb-bar .rank-math-breadcrumb p,
.tmh-breadcrumb-bar .tmh-breadcrumb p {
  margin: 0 !important;
  font-family: 'Albert Sans', sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 0.04em !important;
  color: #888888 !important;
}
.tmh-breadcrumb-bar .rank-math-breadcrumb a,
.tmh-breadcrumb-bar .tmh-breadcrumb a {
  color: #aaaaaa !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
.tmh-breadcrumb-bar .rank-math-breadcrumb a:hover,
.tmh-breadcrumb-bar .tmh-breadcrumb a:hover { color: #F95FA0 !important; }
.tmh-breadcrumb-bar .separator { color: #444444 !important; margin: 0 6px !important; }
.tmh-breadcrumb-bar .last { color: #ffffff !important; }
/* Hard safeguard — neutralise any heading tag inside the breadcrumb bar */
.tmh-breadcrumb-bar h1,
.tmh-breadcrumb-bar h2,
.tmh-breadcrumb-bar h3,
.tmh-breadcrumb-bar h4,
.tmh-breadcrumb-bar h5,
.tmh-breadcrumb-bar h6 {
  display: inline !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
}

/* =============================================================================
   Brand animations, deal badge, button shimmer, venue mobile
   (moved from WPCode snippet 962 — update-proof here)
   ============================================================================= */
@keyframes tmh-pulse {
    0%, 100% { filter: drop-shadow(0 0 8px rgba(249,95,160,0.7)) drop-shadow(0 0 20px rgba(249,95,160,0.25)); }
    50%       { filter: drop-shadow(0 0 14px rgba(249,95,160,1))  drop-shadow(0 0 35px rgba(249,95,160,0.45)); }
}
@keyframes tmh-shimmer {
    from { transform: translateX(-180%) skewX(-18deg); }
    to   { transform: translateX(350%) skewX(-18deg); }
}

.tmh-deal {
    display: inline-block;
    font-size: 17px; font-weight: 900; letter-spacing: 1px;
    padding: 10px 26px; border-radius: 50px;
    border: 2px solid #F95FA0; color: #F95FA0;
    background: transparent;
    animation: tmh-pulse 2.5s ease-in-out infinite;
    cursor: default;
    transition: transform .2s ease, color .2s ease, background .2s ease, filter .2s ease;
}
.tmh-deal:hover {
    background: #F95FA0; color: #000;
    transform: scale(1.06);
    animation: none;
    filter: drop-shadow(0 0 20px rgba(249,95,160,0.8));
}

.elementor-button,
.tmh-cta {
    position: relative; overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease !important;
}
.elementor-button { display: inline-block; }
.tmh-cta          { display: inline-block; }
.elementor-button::after,
.tmh-cta::after {
    content: ''; position: absolute;
    top: 0; left: 0; width: 45%; height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent);
    transform: translateX(-180%) skewX(-18deg);
    pointer-events: none;
}
.elementor-button:hover,
.tmh-cta:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 8px 24px rgba(0,0,0,.45) !important;
}
.elementor-button:hover::after,
.tmh-cta:hover::after {
    animation: tmh-shimmer .52s ease forwards;
}

@media (max-width: 640px) {
    .tmh-venue { flex-wrap: wrap; }
    .tmh-venue-icon { display: none; }
    .tmh-venue-info { width: 100%; padding: 14px 14px 8px; }
    .tmh-venue-btns { flex-direction: row !important; width: 100%; padding: 0 14px 14px; box-sizing: border-box; }
    .tmh-venue-btns a { flex: 1; white-space: normal !important; text-align: center; }
}
