main{
    padding-bottom:0px!important;
}

.content-box-style{
    background-color:var(--clr-l-0);
    border-radius: var(--cv-g-m);
    border:var(--cv-border-style-alt);
    box-shadow: var(--cv-shadow);
}

.calendar{
    --calendar-gap: 2px;
    position:relative;
    background-color:var(--clr-l-2);
    border-radius:12px;
    height:100%;
}

.daily .calendar{
    width:100%;
}

.daily .calendar-header{
    display:none;
}

.daily .calendar-week{
    grid-template-columns: repeat(1, 1fr);
    width:100%;
    margin:4px auto;
}

.calendar, .calendar-body, .calendar-day, .day-events{
    gap:var(--calendar-gap);
    display:flex;
    flex-direction:column;
}

.calendar-header{
    position:sticky;
    top:0;
    box-shadow:var(--cv-shadow);
    z-index:5;
    border-bottom:2px solid var(--clr-l-3);
}

.calendar-header-cell, .weekly-heading, .weekly-corner {
    background: var(--clr-l-1);
    padding: var(--cv-g-sm);
    gap: var(--cv-g-xs);
}

.calendar-header, .calendar-week{
    display:grid;
    grid-template-columns: repeat(7, 1fr);
    gap:var(--calendar-gap);
}

.calendar-header > div, .calendar-day{
    background-color:var(--clr-l-1);
    min-width:170px;
}

.day-number{
    padding: var(--cv-g-xs) 0px var(--cv-g-sm) 0px;
}

.is-today:not(.no-event),
.weekly-day.is-today:not(.no-event),
.weekly-heading.is-today {
    box-shadow: inset 0 0 0 1px var(--clr-pur-0), var(--cv-shadow-s);
    background-color: #e8e2f8;
}

.is-today .day-number{
    color:var(--clr-pur-1);
}

.calendar-day, .calendar-event, .weekly-day, .weekly-time-corner{
    padding:var(--cv-g-s);
    border-radius:4px;
}

.calendar-day{
    min-height:100px;
}

.calendar-day > a:not(:last-child) {
    margin-bottom: var(--cv-g-xs);
}

.calendar-event{
    color:var(--clr-l-1);
    --event-bg-clr: var(--clr-l-1);
    background-color: var(--event-bg-clr);
    transition: .15s ease-in-out;
    font-size:12px;
    font-weight:500;
    height: max-content;
}

.calendar-event .event-time{
    font-weight:600;
}

.calendar-event:hover{
    box-shadow:var(--cv-shadow);
    transform:scale(1.01);
}

.is-past-week .calendar-event{
    opacity:0.6;
    pointer-events:none;
    cursor:not-allowed;
    filter:grayscale(1);
}

.no-event{
    background-image: repeating-linear-gradient(45deg, #f0edf2 0, #f0edf2 1px, transparent 0, transparent 50%);
    background-size: 10px 10px;
    background-color: #f3f2f3;
    box-shadow: inset 0 0 0 2px #f3f2f3;
    opacity:0.75;
}

.heading-capsule{
    --sh-font-size: 9px;
    margin:auto;
}

.events-main-section{
    margin-top:var(--cv-g-xxl);
}

.scroll-container{
    padding:20px 0px;
    scroll-snap-type: x mandatory;
    overflow-x: auto;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.scroll-container::-webkit-scrollbar {
    display: none;
}

/*----------- COMP SINGLE --------------*/
    main{
        background-color: var(--clr-l-2);
    }

    .single-comp-container{
        --bg-image: '';
        position:relative;
        width:100%;
        height: 100%;
        z-index:1;
        margin-bottom:var(--cv-g-xxl);
    }

    .comp-wrapper{
        position:relative;
        z-index:3;
        width:100%;
        max-width:1024px;
        min-height:800px;
    }

    /*----- UPPER SECTION -----*/
    .comp-upper-section{
        overflow:hidden;
    }

    .comp-header-wrapper, .rules-upper, .upper-rule-item{
        display:flex;
    }

    @media (min-width: 1025px){
        .comp-wrapper{
            --padding-r: var(--cv-g-l);
        }

        .single-comp-container:after {
            content: "";
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 300px;
            background-image: linear-gradient(0deg, var(--clr-l-2), rgba(234, 229, 236, .65)), var(--bg-image);
            background-position: center;
            background-size: cover;
            background-repeat: no-repeat;
            z-index: 2;
        }

        .comp-upper-section{
            border-radius:var(--cv-g-m);
            margin-top:var(--cv-g-xxl);
            border:2px solid var(--clr-l-1);
        }

        .comp-header-wrapper{
            padding:var(--padding-r);
            align-items:center;
            justify-content:space-between;
        }

        .rules-upper{
            width: 360px;
            align-items:center;
            justify-content:space-between;
        }

        .upper-rule-item{
            justify-content:center;
            align-items:center;
            flex-direction:column;
        }

        .comp-lower-section{
            grid-template-columns:4fr 2fr;
        }
    }

    @media (max-width: 1024px){
        .comp-wrapper{
            --padding-r: var(--cv-g-m);
        }

        .comp-upper-section{
            border-radius: 0px 0px var(--padding-r) var(--padding-r);
        }

        .comp-header-wrapper{
            gap:var(--cv-g-xl);
            padding:var(--padding-r);
        }

        .comp-header-wrapper, .rules-upper{
            flex-direction:column;
        }

        .rules-upper{
            gap:var(--padding-r);
        }

        .rules-upper > div:not(:last-child){
            border-bottom:1px solid var(--clr-l-2);
            padding-bottom:var(--padding-r)
        }

        .upper-rule-item{
            width:100%;
            flex-direction:row;
            align-items:center;
            justify-content:space-between;
        }

        .action-btn{
            width:100%;
        }

        .comp-lower-section{
            padding:var(--padding-r);
            grid-template-columns:1fr;
        }

        .info-wrapper > div{min-width: 130px;}
    }

    .comp-cover{
        height:260px;
        background-size:cover!important;
        background-position:center!important;
    }

    .comp-icon-wrapper{
        min-width:56px;
        height:56px;
        background-color:var(--clr-l-2);
        border-radius:var(--cv-g-sm);
    }

    .cv-mini-heading{
        font-size:11px;
        font-weight:500;
        color:var(--clr-t-3);
        text-transform:uppercase;
    }

    .cv-rule-text{
        font-size:13px;
        font-weight:700;
        color:var(--clr-t-1);
    }

    .main-comp-icon{
        --mask-url: ;
        --mask-bg-clr: var(--clr-pur-1);
        height:32px;
        width:32px;
        background-color:var(--mask-bg-clr);
        -webkit-mask-image:var(--mask-url);
        mask-image: var(--mask-url);
    }

    .comp-title-wrapper {
        margin-right:auto;
    }

    .comp-title-wrapper h1{
        font-size:16px;
        font-weight:900;
        line-height: 16px;
        margin-bottom:var(--cv-g-xs);
    }

    .current-page{
        color:var(--clr-t-2);
        font-weight:700!important;
    }

    .delete-entry-btn{
        background-color:var(--clr-red-1);
    }

    .comp-lower-section{
        display:grid;
    }

    .info-boxes-wrapper > div, .players-list{
        padding:var(--padding-r);
    }

    .cv-comp-heading{
        font-size: 12px;
        font-weight: 500;
        color: var(--clr-t-3);
    }

    .comp-lower-section h2{
        font-size:var(--cv-g-m);
        margin-bottom:var(--cv-g-s);
    }

    .info-wrapper{
        gap:var(--cv-g-sm);
        flex-wrap:wrap;
        justify-content:space-between;
    }

    .info-wrapper > div{
        flex:1,
    }

    .description-box{
        font-size: 0.85rem;
        gap:var(--cv-g-s);
    }

    .description-box p{
        font-weight:500;
        font-size:14px;
        color:var(--clr-t-3);
    }

    .players-container{
        list-style: none;
        margin:0;
        padding:0;
        gap:1px;
    }

    .players-container > li{
        border-radius:4px;
    }

    .players-container > li:nth-child(odd){
        background-color: rgba(234, 229, 236, .35);
    }

    .players-container > li:nth-child(even){
        background-color: rgba(234, 229, 236, .65);
    }

    .player-wrapper > span{
        padding:var(--cv-g-m);
    }

    .player-wrapper > span:first-child{
        border-right:1px solid var(--clr-l-1);
    }

    .reg-warning{
        padding:var(--cv-g-m) var(--padding-r);
        background-color:var(--clr-red-0);
        color:var(--clr-red-1);
        border:1px solid #d627271a;
    }
/* Calendar views: theme assets, markup supplied by Cardverse Tournaments. */
.calendar-container [hidden] { display: none !important; }

.calendar-container.weekly { display: block; }

.calendar-container.daily { overflow-x: hidden; }

.daily .calendar-day { min-width: 0; }

.calendar-weekly {
    --weekly-hour-height: 64px;
    --weekly-card-height: 64px;
    --weekly-axis-width: 64px;
    width: 100%;
    background: var(--clr-l-2);
}

.weekly-caption {
    padding: var(--cv-g-m);
    background: var(--clr-l-1);
}

.weekly-grid { 
    min-width: 1268px; 
}

.weekly-header, .weekly-body-wrapper {
    display: grid;
    grid-template-columns: var(--weekly-axis-width) repeat(7, minmax(170px, 1fr));
    gap: 2px;
}

.weekly-header {
    position: sticky;
    top: 0;
    z-index: 6;
    background: var(--clr-l-2);
    box-shadow: var(--cv-shadow);
}

.weekly-body {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2px;
}

.weekly-body-wrapper {
    min-height: var(--weekly-hour-height);
    border-top: 1px solid var(--clr-l-2);
    background-color: var(--clr-l-2);
}

.weekly-time-corner, .weekly-day {
    min-width: 0;
    background-color: var(--clr-l-1);
}

.weekly-event {
    color:var(--clr-l-1);
    --event-bg-clr: var(--clr-l-1);
    background-color: var(--event-bg-clr);
    transition: .15s ease-in-out;
    font-size:12px;
    font-weight:500;
    height: max-content;
}

/* The toolbar and scrolling calendar share one frame. */
.calendar-shell {
    margin-top: -100px;
    min-width: 0;
    overflow: hidden;
    border-radius: var(--cv-g-m);
    box-shadow: 0px 0px 36px 10px rgba(52, 27, 70, 0.1);
    border: 1px solid white;
}

.calendar-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--cv-g-m);
    padding: var(--cv-g-sm) var(--cv-g-m);
    background: var(--clr-l-1);
}

.calendar-date { margin: 0; line-height: 1.5; }

.calendar-view-selector { width: max-content; flex-shrink: 0; }

.calendar-shell > .calendar-container {
    width: 100%;
    max-width: none;
    margin: 0;
    min-width: 0;
    border: 0;
    border-radius: 0;
    max-height: 700px;
    overflow-y: auto;
    overflow-x: auto;
    border: 2px solid var(--clr-l-2);
}

.calendar-shell .weekly-caption { display: none; }

@media (max-width: 599px) {
    .calendar-toolbar { flex-wrap: wrap; gap: var(--cv-g-s); }
    .calendar-date { font-size: 12px; }
    .calendar-view-selector { margin-left: auto; }
    .tab-selector{--nav-font-size:11px;}
}
