#tes-ipad-polish-menu-overlay,#tes-ipad-polish-register-modal{display:none}
html.tes-ipad-polish-device #tes-ipad-polish-menu-overlay.tes-open{display:block}
html.tes-ipad-polish-device #tes-ipad-polish-register-modal.tes-open{display:flex}
html.tes-ipad-polish-device.tes-ipad-logged-in .logged-out-only{display:none!important}
html.tes-ipad-polish-device:not(.tes-ipad-logged-in) .logged-in-only{display:none!important}
html.tes-ipad-polish-device .tes-ipad-polish-backdrop,html.tes-ipad-polish-device .tes-ipad-polish-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.38);z-index:2147483000;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
html.tes-ipad-polish-device .tes-ipad-polish-panel{position:fixed;top:calc(env(safe-area-inset-top,0px) + 74px);left:20px;right:20px;max-height:calc(100vh - 110px);overflow-y:auto;z-index:2147483001;background:#fff;border-radius:24px;padding:24px 26px;box-shadow:0 18px 55px rgba(0,0,0,.26)}
html.tes-ipad-polish-device .tes-ipad-polish-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:20px;color:#111827;font-size:24px;font-weight:900}
html.tes-ipad-polish-device .tes-ipad-polish-close,html.tes-ipad-polish-device .tes-ipad-polish-modal-close{border:2px solid #111827;background:#fff;color:#111827;border-radius:999px;padding:9px 16px;font-weight:800;cursor:pointer;touch-action:manipulation}
html.tes-ipad-polish-device .tes-ipad-polish-menu-list{display:flex;flex-direction:column;gap:0}
html.tes-ipad-polish-device .tes-ipad-polish-menu-list a{display:block;color:#111827!important;text-decoration:none!important;font-size:24px;font-weight:900;line-height:1.2;padding:13px 0;touch-action:manipulation}
html.tes-ipad-polish-device .tes-ipad-polish-bottom-actions{display:flex;flex-direction:column;gap:16px;margin-top:28px}
html.tes-ipad-polish-device .tes-ipad-polish-login-action,html.tes-ipad-polish-device .tes-ipad-polish-register-action,html.tes-ipad-polish-device .tes-ipad-polish-favs-action,html.tes-ipad-polish-device .tes-ipad-polish-logout-action{display:flex;align-items:center;justify-content:center;min-height:70px;border-radius:999px;text-decoration:none!important;font-size:25px;font-weight:900}
html.tes-ipad-polish-device .tes-ipad-polish-login-action,html.tes-ipad-polish-device .tes-ipad-polish-favs-action,html.tes-ipad-polish-device .tes-ipad-polish-logout-action{background:#f1f4ff;color:#111827!important;border:1px solid rgba(17,24,39,.08)}
html.tes-ipad-polish-device .tes-ipad-polish-register-action{background:linear-gradient(90deg,#6d4cff,#ec4899);color:#fff!important}
html.tes-ipad-polish-device #tes-ipad-polish-register-modal.tes-open{position:fixed;inset:0;z-index:2147483100;align-items:center;justify-content:center;padding:24px}
html.tes-ipad-polish-device .tes-ipad-polish-modal-box{position:relative;z-index:2147483101;width:min(520px,calc(100vw - 48px));background:#fff;border-radius:26px;padding:28px;box-shadow:0 20px 60px rgba(0,0,0,.32);text-align:center;color:#111827}
html.tes-ipad-polish-device .tes-ipad-polish-modal-box h2{margin:0 0 12px;font-size:26px;line-height:1.15}
html.tes-ipad-polish-device .tes-ipad-polish-modal-box p{margin:0 0 22px;font-size:17px;line-height:1.45}
html.tes-ipad-polish-device .tes-ipad-polish-modal-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
html.tes-ipad-polish-device .tes-ipad-polish-register-btn,html.tes-ipad-polish-device .tes-ipad-polish-login-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 22px;font-weight:900;text-decoration:none!important;touch-action:manipulation}
html.tes-ipad-polish-device .tes-ipad-polish-register-btn{color:#fff!important;background:linear-gradient(90deg,#7c3aed,#ec4899)}
html.tes-ipad-polish-device .tes-ipad-polish-login-btn{color:#111827!important;background:#eef2ff}
html.tes-ipad-polish-device .tes-heart.active,html.tes-ipad-polish-device .tes-heart.saved,html.tes-ipad-polish-device .tes-heart.is-saved,html.tes-ipad-polish-device .tes-heart.tes-ipad-saved,html.tes-ipad-polish-device .act-directory-line-heart.active,html.tes-ipad-polish-device .act-directory-line-heart.saved,html.tes-ipad-polish-device .act-directory-line-heart.is-saved,html.tes-ipad-polish-device .act-directory-line-heart.tes-ipad-saved,html.tes-ipad-polish-device .favorite-btn.active,html.tes-ipad-polish-device .favorite-btn.saved,html.tes-ipad-polish-device .favorite-btn.tes-ipad-saved,html.tes-ipad-polish-device .favourite-btn.active,html.tes-ipad-polish-device .favourite-btn.saved,html.tes-ipad-polish-device .favourite-btn.tes-ipad-saved,html.tes-ipad-polish-device .heart-btn.active,html.tes-ipad-polish-device .heart-btn.saved,html.tes-ipad-polish-device .heart-btn.tes-ipad-saved,html.tes-ipad-polish-device [aria-pressed="true"]{color:#ec4899!important;border-color:#ec4899!important;background:#fff0f7!important}


/* v3.9.3 explicit login-state visibility */
html.tes-ipad-logged-in .logged-out-only {
    display: none !important;
}
html:not(.tes-ipad-logged-in) .logged-in-only {
    display: none !important;
}


/* v3.9.4 strict login state visibility */
html.tes-ipad-polish-device:not(.tes-ipad-logged-in) .logged-in-only {
    display: none !important;
}
html.tes-ipad-polish-device.tes-ipad-logged-in .logged-out-only {
    display: none !important;
}

/* v3.9.5: fixed live menu URLs for Acts, Venues and Special Events */


/* v3.9.6 iPad header tidy-up only */
html.tes-ipad-polish-device body:not(.wp-admin) header,
html.tes-ipad-polish-device body:not(.wp-admin) .site-header,
html.tes-ipad-polish-device body:not(.wp-admin) .main-header-bar,
html.tes-ipad-polish-device body:not(.wp-admin) .ast-primary-header-bar,
html.tes-ipad-polish-device body:not(.wp-admin) .ast-mobile-header-wrap {
    min-height: 118px !important;
    padding: 14px 18px 10px !important;
    box-sizing: border-box !important;
}

html.tes-ipad-polish-device body:not(.wp-admin) .site-branding,
html.tes-ipad-polish-device body:not(.wp-admin) .ast-site-identity,
html.tes-ipad-polish-device body:not(.wp-admin) .custom-logo-link {
    max-width: 260px !important;
}

html.tes-ipad-polish-device body:not(.wp-admin) .custom-logo,
html.tes-ipad-polish-device body:not(.wp-admin) .site-logo img,
html.tes-ipad-polish-device body:not(.wp-admin) .ast-site-identity img {
    max-width: 76px !important;
    height: auto !important;
}

html.tes-ipad-polish-device body:not(.wp-admin) .site-title,
html.tes-ipad-polish-device body:not(.wp-admin) .site-title a,
html.tes-ipad-polish-device body:not(.wp-admin) .ast-site-title-wrap,
html.tes-ipad-polish-device body:not(.wp-admin) .site-description {
    line-height: 1.02 !important;
    white-space: normal !important;
}

html.tes-ipad-polish-device body:not(.wp-admin) .login-button,
html.tes-ipad-polish-device body:not(.wp-admin) a[href*="login"],
html.tes-ipad-polish-device body:not(.wp-admin) .login,
html.tes-ipad-polish-device body:not(.wp-admin) .register-button,
html.tes-ipad-polish-device body:not(.wp-admin) a[href*="register"],
html.tes-ipad-polish-device body:not(.wp-admin) .register {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    text-align: center !important;
}

html.tes-ipad-polish-device body:not(.wp-admin) a[href*="register"] {
    min-width: 132px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
}

html.tes-ipad-polish-device body:not(.wp-admin) a[href*="login"] {
    min-width: 110px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
}

html.tes-ipad-polish-device body:not(.wp-admin) .menu-toggle,
html.tes-ipad-polish-device body:not(.wp-admin) .mobile-menu-toggle,
html.tes-ipad-polish-device body:not(.wp-admin) .main-header-menu-toggle,
html.tes-ipad-polish-device body:not(.wp-admin) .ast-mobile-menu-trigger {
    white-space: nowrap !important;
    min-width: 108px !important;
    height: 52px !important;
    padding: 0 18px !important;
    border-radius: 22px !important;
}

html.tes-ipad-polish-device body:not(.wp-admin) .tes-hero,
html.tes-ipad-polish-device body:not(.wp-admin) .hero,
html.tes-ipad-polish-device body:not(.wp-admin) .home-hero,
html.tes-ipad-polish-device body:not(.wp-admin) .entry-content > section:first-child {
    margin-top: 8px !important;
}

@media (min-width:768px) and (max-width:1024px) {
    html.tes-ipad-polish-device body:not(.wp-admin) header,
    html.tes-ipad-polish-device body:not(.wp-admin) .site-header,
    html.tes-ipad-polish-device body:not(.wp-admin) .main-header-bar {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }

    html.tes-ipad-polish-device body:not(.wp-admin) a[href*="register"] {
        min-width: 126px !important;
        font-size: 15px !important;
    }

    html.tes-ipad-polish-device body:not(.wp-admin) a[href*="login"] {
        min-width: 100px !important;
        font-size: 15px !important;
    }
}


/* v3.9.7 hide install app button on iPad app builds */
html.tes-ipad-polish-device body:not(.wp-admin) a[href*="install"],
html.tes-ipad-polish-device body:not(.wp-admin) .install-app,
html.tes-ipad-polish-device body:not(.wp-admin) .pwa-install-button,
html.tes-ipad-polish-device body:not(.wp-admin) .add-to-home,
html.tes-ipad-polish-device body:not(.wp-admin) .install-app-button {
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}


/* v3.9.8 iPad-only profile action button tidy-up */
html.tes-ipad-polish-device body:not(.wp-admin) .profile-actions,
html.tes-ipad-polish-device body:not(.wp-admin) .act-profile-actions,
html.tes-ipad-polish-device body:not(.wp-admin) .venue-profile-actions,
html.tes-ipad-polish-device body:not(.wp-admin) .tes-profile-actions,
html.tes-ipad-polish-device body:not(.wp-admin) .profile-buttons,
html.tes-ipad-polish-device body:not(.wp-admin) .act-buttons,
html.tes-ipad-polish-device body:not(.wp-admin) .venue-buttons {
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:14px !important;
    flex-wrap:wrap !important;
    width:100% !important;
    margin:22px auto 18px !important;
    text-align:center !important;
}

/* target the visible What's On / Reviews buttons on act and venue pages */
html.tes-ipad-polish-device body:not(.wp-admin) a,
html.tes-ipad-polish-device body:not(.wp-admin) button {
    -webkit-tap-highlight-color: transparent;
}

html.tes-ipad-polish-device body:not(.wp-admin) a[href*="whats"],
html.tes-ipad-polish-device body:not(.wp-admin) a[href*="reviews"],
html.tes-ipad-polish-device body:not(.wp-admin) button {
    box-sizing:border-box;
}

html.tes-ipad-polish-device body:not(.wp-admin) a[href*="whats"],
html.tes-ipad-polish-device body:not(.wp-admin) a[href*="reviews"],
html.tes-ipad-polish-device body:not(.wp-admin) .reviews,
html.tes-ipad-polish-device body:not(.wp-admin) .review-button,
html.tes-ipad-polish-device body:not(.wp-admin) .whats-on,
html.tes-ipad-polish-device body:not(.wp-admin) .whats-on-button {
    white-space:nowrap !important;
}

/* If profile buttons are direct children of the profile card, push them toward centre */
html.tes-ipad-polish-device body:not(.wp-admin) .profile-card a[href*="whats"],
html.tes-ipad-polish-device body:not(.wp-admin) .profile-card a[href*="reviews"],
html.tes-ipad-polish-device body:not(.wp-admin) .act-profile-card a[href*="whats"],
html.tes-ipad-polish-device body:not(.wp-admin) .act-profile-card a[href*="reviews"],
html.tes-ipad-polish-device body:not(.wp-admin) .venue-profile-card a[href*="whats"],
html.tes-ipad-polish-device body:not(.wp-admin) .venue-profile-card a[href*="reviews"] {
    position:relative !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    margin:6px 7px !important;
}

/* safer general correction for rows containing exactly these buttons */
html.tes-ipad-polish-device body:not(.wp-admin) .entry-content div:has(a[href*="whats"]):has(a[href*="reviews"]),
html.tes-ipad-polish-device body:not(.wp-admin) main div:has(a[href*="whats"]):has(a[href*="reviews"]) {
    display:flex !important;
    justify-content:center !important;
    gap:14px !important;
    flex-wrap:wrap !important;
    width:100% !important;
    text-align:center !important;
}

/* v3.9.8 stronger iPad hide for Install App */
html.tes-ipad-polish-device body:not(.wp-admin) a[href*="install"],
html.tes-ipad-polish-device body:not(.wp-admin) button[class*="install" i],
html.tes-ipad-polish-device body:not(.wp-admin) a[class*="install" i],
html.tes-ipad-polish-device body:not(.wp-admin) .install-app,
html.tes-ipad-polish-device body:not(.wp-admin) .pwa-install-button,
html.tes-ipad-polish-device body:not(.wp-admin) .add-to-home,
html.tes-ipad-polish-device body:not(.wp-admin) .install-app-button {
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}
