/* ==========================================================================
   Mobile fixed bottom navigation (José Pizarro)
   CMS-editable via the "Mobile Bottom Navigation" snippet.
   Only visible at/below the global mobile breakpoint (991px).
   ========================================================================== */

.jp-bnav {
    --jp-bnav-height: 80px;
    --jp-bnav-ink: #22240f;          /* dark brand ink (icons + labels) */
    --jp-bnav-active: #c08d65;       /* bronze active circle            */
    --jp-bnav-icon: 26px;
    --jp-bnav-circle: 46px;

    display: none;                    /* desktop: hidden (mobile-only)   */
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1030;
    background-color: #fff;
    /* Shadow on the top edge only */
    box-shadow: 0 -2px 14px rgba(0, 0, 0, 0.12);
    padding: 6px 0;
    padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px));
    -webkit-user-select: none;
    user-select: none;
}

.jp-bnav__list {
    display: flex;
    align-items: flex-start;
    justify-content: space-around;
    margin: 0;
    padding: 0;
    list-style: none;
    height: var(--jp-bnav-height);
}

.jp-bnav__item {
    flex: 1 1 0;
    min-width: 0;
    text-align: center;
}

.jp-bnav__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    height: 100%;
    padding: 8px 4px;
    text-decoration: none;
    color: var(--jp-bnav-ink);
    -webkit-tap-highlight-color: transparent;
}

.jp-bnav__link:hover,
.jp-bnav__link:focus {
    text-decoration: none;
    color: var(--jp-bnav-ink);
}

/* Icon slot: plain white circle by default so every icon keeps the same
   size and position; turns bronze on the active item (no movement). */
.jp-bnav__icon-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    width: var(--jp-bnav-circle);
    height: var(--jp-bnav-circle);
    border-radius: 50%;
    background-color: #fff;
    transition: background-color 0.15s ease;
}

/* Recolourable icon rendered from the SVG file via CSS mask */
.jp-bnav__icon {
    display: block;
    width: var(--jp-bnav-icon);
    height: var(--jp-bnav-icon);
    background-color: var(--jp-bnav-ink);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: background-color 0.15s ease;
}

.jp-bnav__icon--venues {
    -webkit-mask-image: url("../img/icon-venues-dark.0f6dc6fca5cf.svg");
    mask-image: url("../img/icon-venues-dark.0f6dc6fca5cf.svg");
}
.jp-bnav__icon--book {
    -webkit-mask-image: url("../img/icon-book-dark.5a0786a9d0b7.svg");
    mask-image: url("../img/icon-book-dark.5a0786a9d0b7.svg");
}
.jp-bnav__icon--shop {
    -webkit-mask-image: url("../img/icon-shop-dark.6e2a15595a35.svg");
    mask-image: url("../img/icon-shop-dark.6e2a15595a35.svg");
}
.jp-bnav__icon--events {
    -webkit-mask-image: url("../img/icon-events-dark.0d0774974faf.svg");
    mask-image: url("../img/icon-events-dark.0d0774974faf.svg");
}

.jp-bnav__label {
    margin-top: 6px;
    font-family: 'NeuzeitGroteskW01-Regular', Arial, sans-serif;
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.4px;
    text-transform: uppercase;
    color: var(--jp-bnav-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
}

/* Active state: bronze circle, white icon (same size/position as the rest) */
.jp-bnav__item--active .jp-bnav__icon-wrap {
    background-color: var(--jp-bnav-active);
}

.jp-bnav__item--active .jp-bnav__icon {
    background-color: #fff;
}

/* Show only on mobile, and keep page content / footer clear of the bar */
@media (max-width: 991px) {
    .jp-bnav {
        display: block;
    }
    body {
        padding-bottom: calc(92px + env(safe-area-inset-bottom, 0px));
    }
}
