/* ==========================================================================
   EVENTS SIDEBAR — VARIABLES
   ========================================================================== */

:root {
	/* Dimensions */
	--mpspx-date-flyout-min-width--desktop: 700px;
	--mpspx-date-flyout-width--desktop: 36%;
	
	/* Padding */
	--mpspx-date-flyout-padding-top: clamp(64px, 12vh, 100px);
	--mpspx-date-flyout-padding-left: clamp(24px, 5.5vw, 70px);
	--mpspx-date-flyout-padding-right: clamp(24px, 5.5vw, 70px);
	--mpspx-date-flyout-padding-bottom: clamp(64px, 12vh, 100px);
	
	/* Colours */
	--mpspx-date-flyout-bg-colour: #fff;
	--mpspx-date-flyout-underlay-bg-colour: #B7B7B7;
}

/* ==========================================================================
   EVENTS SIDEBAR — ACTIVE STATES
   ===============================================================calc=========== */

/* Sidebar open */
body.sidebar-active .events-sidebar {
    box-shadow: -10px 0px 19px 5px #0000000f;
    pointer-events: all;
    transform: translateX(0);
}

/* Underlay visible when sidebar is active */
body.sidebar-active .underlay {
    opacity: 0.3;
    pointer-events: all;
}


body.sidebar-active {
/* 	height: 100vh; */
	overflow: hidden;
}


/* ==========================================================================
   EVENTS SIDEBAR — CONTAINER
   ========================================================================== */

.events-sidebar {
    align-items: center;
    bottom: 0;
    display: flex;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    transform: translateX(100%);
    transition: all 0.46s cubic-bezier(0.45, 0.25, 0.25, 1);
    width: 100%;
    z-index: 10001;
	background-color: var(--mpspx-date-flyout-bg-colour);

    h3 {
        font-size: 24px;
        font-weight: bold;
        text-transform: uppercase;
        margin-bottom: 32px;
    }

    p {
        font-size: 14px;
        font-weight: 300;
        letter-spacing: 0;

        @media all and (min-width: 900px) {
            font-size: 18px;
        }
    }

    .obj-date {
        p {
            font-size: 16px;

            @media all and (min-width: 900px) {
                font-size: 20px;
            }
        }
    }

    .sidebar-button {
        font-size: 16px;
    }
}

/* Desktop width constraint */
@media all and (min-width: 999.98px) {
    .events-sidebar {
        min-width: var(--mpspx-date-flyout-min-width--desktop);
        width: var(--mpspx-date-flyout-width--desktop);
    }
}



/* ==========================================================================
   CLOSE BUTTON
   ========================================================================== */

.events-sidebar .close {
    cursor: pointer;
    display: inline-block;
    height: 24px;
    opacity: 1;
    position: absolute;
    right: 82px;
    top: 80px;
    transition: transform 0.3s ease;
    width: 24px;
    z-index: 1;
}

/* Mobile adjustments */
@media all and (max-width: 999.98px) {
    .events-sidebar .close {
        height: 24px;
        right: 20px;
        top: 20px;
        width: 24px;
    }
}

/* Hover rotate */
.events-sidebar .close:hover {
    /* transform: rotate(67.5deg); */
    transform: scale(1.25)
}

/* Cross lines on close button */
.events-sidebar .close:before,
.events-sidebar .close:after {
    border-radius: 50px;
    content: "";
    height: 3px;
    left: 0;
    margin-top: -1px;
    position: absolute;
    top: 50%;
    transition: all 0.35s ease;
    width: 100%;
    background-color: #0F0F0F;
}

/* Mobile line thickness (same but maintained for clarity) */
@media all and (max-width: 999.98px) {
    .events-sidebar .close:before,
    .events-sidebar .close:after {
        height: 3px;
    }
}

/* Diagonal lines */
.events-sidebar .close:before {
    transform: rotate(45deg);
}
.events-sidebar .close:after {
    transform: rotate(-45deg);
}



/* ==========================================================================
   SIDEBAR INNER CONTENT
   ========================================================================== */

.events-sidebar h3 {}

.events-sidebar .obj-inner {
    height: 100%;
    overflow: auto;
    padding: var(--mpspx-date-flyout-padding-top) var(--mpspx-date-flyout-padding-right) var(--mpspx-date-flyout-padding-bottom) var(--mpspx-date-flyout-padding-left);
    width: 100%;
}

.events-sidebar .mpspx-event-single-location {
    a {
        font-size: 32px;
        font-weight: bold;
        line-height: 1;
        border-bottom-color: transparent;
        transition: all ease-in-out 0.33s;

        &:hover,
        &:focus-visible {
            border-bottom-color: #000;
            transition: all ease-in-out 0.33s;
        }
    }

    .city-state {
        font-weight: bold;
    }
}

/* Utility */
.events-sidebar .pl-0 {
    padding-left: 0;
}



/* ==========================================================================
   MORE DATES LIST
   ========================================================================== */

.events-sidebar .obj-inner .mpspx-event-single-more-dates {
    padding-top: 30px;
}

.events-sidebar .obj-inner .mpspx-event-single-more-dates ul li {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding: 0 0 24px;
    border-bottom: 2px solid #fff;
}

/* Tablet spacing adjustments */
@media all and (min-width: 576px) {
    .events-sidebar .obj-inner .mpspx-event-single-more-dates ul li {
        padding: 0 0 24px;
        border-bottom: 2px solid #D6D6D6;

        &:last-of-type {
            border-bottom: none;
        }
    }
}

/* Date/time block */
.events-sidebar .obj-inner .mpspx-event-single-more-dates ul li .date-time {
    max-width: fit-content;
    width: 100%;
	
	p {
		margin-bottom: 0;
	}
}

/* Actual date text */
.events-sidebar .obj-inner .mpspx-event-single-more-dates ul li .date-time .obj-date {
    display: block;
    margin-bottom: 6px;
    
    p {
        font-weight: bold;
    }
}

/* Button wrapper */
.events-sidebar .obj-inner .mpspx-event-single-more-dates ul li .mpspx-event-single-button-wrap {
    max-width: 300px;
    text-align: right;
    width: 100%;
}

/* Button styling */
.events-sidebar .obj-inner .mpspx-event-single-more-dates ul li .mpspx-event-single-button-wrap a {
    font-weight: 600;
    max-width: 218px;
    padding: 1rem 1.75rem;
    text-transform: uppercase;
    border-bottom: none;
    border: 2px solid #AA1C54;
    background-color: #AA1C54;
    transition: all ease-in-out 0.33s;
    
    span {
        color: #fff;
        transition: all ease-in-out 0.33s;
    }

    &:hover,
    &:focus-visible {
        background-color: #fff;
        transition: all ease-in-out 0.33s;

        span {
            color: #AA1C54;
            transition: all ease-in-out 0.33s;
        }
    }
}

.scheme-indigo {
    .events-sidebar .obj-inner .mpspx-event-single-more-dates ul li .mpspx-event-single-button-wrap a {
        background-color: var(--pcpa-is-indigo);
        border: 2px solid var(--pcpa-is-indigo);
        transition: all ease-in-out 0.33s;

        &:hover,
        &:focus-visible {
            background-color: #fff;
            color: var(--pcpa-is-indigo);
            transition: all ease-in-out 0.33s;
        }
    }
}
.scheme-teal {
    .events-sidebar .obj-inner .mpspx-event-single-more-dates ul li .mpspx-event-single-button-wrap a {
        background-color: var(--pcpa-ts-teal-dark);
        border: 2px solid var(--pcpa-ts-teal-dark);
        transition: all ease-in-out 0.33s;

        &:hover,
        &:focus-visible {
            background-color: #fff;
            color: var(--pcpa-ts-teal-dark);
            transition: all ease-in-out 0.33s;
        }
    }
}

.events-sidebar .obj-inner .mpspx-event-single-more-dates ul li .mpspx-event-single-button-wrap a div {
	display: inline-block;
}

/* Mobile button sizing */
@media all and (max-width: 576px) {
    .events-sidebar .obj-inner .mpspx-event-single-more-dates ul li .mpspx-event-single-button-wrap a {
        max-width: 120px;
        min-width: 120px;
    }
}

/* Tablet button sizing */
@media all and (min-width: 576px) and (max-width: 999.98px) {
    .events-sidebar .obj-inner .mpspx-event-single-more-dates ul li .mpspx-event-single-button-wrap a {
        max-width: 210px;
        min-width: 210px;
    }
}



/* ==========================================================================
   UNDERLAY (BACKGROUND DIMMER)
   ========================================================================== */

.underlay {
    background: var(--mpspx-date-flyout-underlay-bg-colour);
    bottom: 0;
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    transition: all 0.46s cubic-bezier(0.45, 0.25, 0.25, 1);
    width: 100%;
    z-index: 10001;
}
