
.atlas-carousel {
    margin: 2rem 0;
}

.atlas-card {
    width: 320px;
    background: #fff;
    border-radius: 18px;
    padding: 20px;
    margin-right: 15px;
    box-shadow: 0 3px 18px rgba(0,0,0,.12);
}

.atlas-card h3 {
    margin-top: 0;
}

.atlas-button {
    display: inline-block;
    padding: 10px 14px;
    border-radius: 8px;
    text-decoration: none;
    background: #0d6efd;
    color: white;
}

#atlas-calendar {
    width: 100%;
    min-height: 700px;
    margin-top: 2rem;
}

@media(max-width:768px){

    .atlas-card {
        width: 85%;
    }

    #atlas-calendar {
        min-height: 500px;
    }
}


.flickity-page-dots {
    display: none !important;
}

.flickity-button {
    background: rgba(0,0,0,.08);
}

.flickity-button:hover {
    background: rgba(0,0,0,.18);
}

.monthly-local-event a {
    display:inline-block;
    margin-top:10px;
    padding:10px 14px;
    border-radius:8px;
    text-decoration:none;
    background:#0d6efd;
    color:#fff;
}


/* Remove Flickity dots completely */
.flickity-page-dots,
.flickity-page-dots .dot {
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    height:0 !important;
}

/* Equal height cards */
.flickity-slider {
    display:flex;
    align-items:stretch;
}

.atlas-card {
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:420px;
    height:100%;
}

.atlas-card p {
    flex-grow:1;
}

.atlas-button {
    margin-top:auto;
    align-self:flex-start;
}

/* Events Page Layout */

.atlas-events-page {
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:30px;
    margin-top:30px;
}

.atlas-calendar-column {
    position:sticky;
    top:20px;
    align-self:start;
}

.atlas-events-column {
    display:flex;
    flex-direction:column;
    gap:20px;
}

.atlas-list-event {
    background:#fff;
    border-radius:16px;
    padding:20px;
    box-shadow:0 3px 18px rgba(0,0,0,.1);
}

@media(max-width:991px){

    .atlas-events-page {
        grid-template-columns:1fr;
    }

    .atlas-calendar-column {
        position:relative;
        top:auto;
    }
}


/* Calendar Widget */

.atlas-calendar-widget {
    background:#fff;
    border-radius:16px;
    padding:20px;
    box-shadow:0 3px 18px rgba(0,0,0,.1);
}

.atlas-calendar-header {
    font-size:1.4rem;
    font-weight:700;
    margin-bottom:20px;
    text-align:center;
}

.atlas-calendar-grid {
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:8px;
}

.atlas-calendar-dayname {
    text-align:center;
    font-weight:600;
    padding:8px 0;
}

.atlas-calendar-date {
    border:none;
    background:#f2f2f2;
    border-radius:8px;
    padding:12px 0;
    cursor:pointer;
    transition:.2s ease;
}

.atlas-calendar-date.has-event {
    background:#0d6efd;
    color:#fff;
}

.atlas-calendar-date.selected {
    background:#111 !important;
    color:#fff;
}

.atlas-calendar-empty {
    min-height:42px;
}


/* Calendar Toolbar */

.atlas-calendar-toolbar {
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.atlas-calendar-title {
    font-size:1.3rem;
    font-weight:700;
}

.atlas-nav {
    border:none;
    background:#0d6efd;
    color:#fff;
    width:40px;
    height:40px;
    border-radius:50%;
    cursor:pointer;
    font-size:1.2rem;
}

.atlas-nav:hover {
    opacity:.9;
}

/* Styled Event List */

.atlas-list-event {
    display:grid;
    grid-template-columns:120px 1fr;
    gap:20px;
    align-items:flex-start;
    background:#f3f3f3;
    border-bottom:1px solid #ccc;
    padding:30px 0;
    border-radius:0;
    box-shadow:none;
}

.atlas-event-date {
    width:100px;
    height:100px;
    border-radius:50%;
    background:#18ab29;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    font-weight:700;
    text-transform:uppercase;
}

.atlas-event-date .month {
    font-size:1.2rem;
}

.atlas-event-date .day {
    font-size:3rem;
    line-height:1;
}

.atlas-event-content h3 {
    color:#ff6600;
    margin-top:0;
    font-size:2rem;
}

.atlas-event-time {
    font-size:1.3rem;
    margin:10px 0 20px;
}

.atlas-event-description {
    font-size:1.1rem;
    line-height:1.7;
}

@media(max-width:768px){

    .atlas-list-event {
        grid-template-columns:1fr;
    }

    .atlas-event-date {
        margin:0 auto;
    }
}


/* Enhanced Calendar Navigation Arrows */

.atlas-calendar-toolbar {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin-bottom:25px;
}

.atlas-calendar-title {
    flex:1;
    text-align:center;
    font-size:2rem;
    font-weight:700;
    color:#0d2b5c;
}

.atlas-nav {
    width:72px;
    height:72px;
    min-width:72px;
    border-radius:50%;
    border:4px solid #ff6600;
    background:#fff;
    color:#0d2b5c;
    font-size:3rem;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:all .2s ease;
    line-height:1;
    padding:0;
}

.atlas-nav:hover {
    background:#ff6600;
    color:#fff;
    transform:scale(1.05);
}

@media(max-width:768px){

    .atlas-nav {
        width:58px;
        height:58px;
        min-width:58px;
        font-size:2.2rem;
    }

    .atlas-calendar-title {
        font-size:1.5rem;
    }
}


/* Flat Upcoming Events Carousel Redesign */

.atlas-carousel {
    margin-top:40px;
}

.atlas-card {
    width:460px;
    border:1px solid #bdbdbd !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff;
    padding:28px;
    margin-right:24px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    min-height:760px;
}

.atlas-card h3 {
    color:#ff6600;
    font-size:2rem;
    line-height:1.35;
    margin:0 0 20px;
}

.atlas-card p {
    color:#17233c;
    font-size:1.15rem;
    line-height:1.8;
}

.atlas-card .atlas-time {
    font-size:1.2rem;
    font-weight:700;
    color:#17233c;
    margin-bottom:25px;
}

.atlas-card-top {
    display:grid;
    grid-template-columns:120px 1fr;
    gap:25px;
    align-items:flex-start;
}

.atlas-card-date {
    width:110px;
    height:110px;
    border-radius:50%;
    background:#18b52c;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-transform:uppercase;
    font-weight:700;
}

.atlas-card-date .month {
    font-size:2rem;
    line-height:1;
}

.atlas-card-date .day {
    font-size:4rem;
    line-height:1;
}

.atlas-card-button {
    margin-top:auto;
    display:block;
    width:100%;
    background:#ff6600;
    color:#fff !important;
    text-align:center;
    padding:20px;
    text-decoration:none;
    font-size:1.2rem;
    font-weight:700;
    border-radius:0 !important;
}

.atlas-card-button:hover {
    opacity:.92;
}

.flickity-page-dots,
.flickity-page-dots .dot {
    display:none !important;
    opacity:0 !important;
    visibility:hidden !important;
    height:0 !important;
}

.flickity-button {
    width:70px !important;
    height:70px !important;
    border-radius:0 !important;
    background:#fff !important;
    border:1px solid #0d2b5c !important;
    top:-70px !important;
}

.flickity-button-icon {
    fill:#0d2b5c !important;
}

.flickity-prev-next-button.previous {
    right:95px !important;
    left:auto !important;
}

.flickity-prev-next-button.next {
    right:10px !important;
}

@media(max-width:768px){

    .atlas-card {
        width:90%;
        min-height:auto;
    }

    .atlas-card-top {
        grid-template-columns:1fr;
    }

    .atlas-card-date {
        margin:0 auto 20px;
    }

    .flickity-button {
        width:55px !important;
        height:55px !important;
        top:-55px !important;
    }
}


/* ========================================
   CLEAN UPCOMING EVENTS LAYOUT
======================================== */

.atlas-carousel-wrapper {
    position:relative;
    margin:50px 0;
}

.atlas-events-heading {
    display:flex;
    align-items:center;
    gap:20px;
    margin-bottom:30px;
}

.atlas-events-heading h2 {
    margin:0;
    font-size:2rem;
    font-weight:800;
    color:#0d2b5c;
    text-transform:uppercase;
}

.atlas-events-heading .heading-line {
    width:90px;
    height:4px;
    background:#ff6600;
}

.atlas-card {
    width:340px;
    border:1px solid #d8d8d8 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    background:#fff;
    padding:28px;
    margin-right:18px;
    display:flex;
    flex-direction:column;
    min-height:610px;
}

.atlas-card-top {
    display:grid;
    grid-template-columns:95px 1fr;
    gap:18px;
    align-items:flex-start;
    margin-bottom:22px;
}

.atlas-card-date {
    width:88px;
    height:88px;
    border-radius:50%;
    background:#18b52c;
    color:#fff;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    padding:12px;
    box-sizing:border-box;
    text-transform:uppercase;
    font-weight:700;
}

.atlas-card-date .month {
    font-size:1.6rem;
    line-height:1;
}

.atlas-card-date .day {
    font-size:3rem;
    line-height:1;
    margin-top:6px;
}

.atlas-card h3 {
    color:#ff6600;
    font-size:1.45rem;
    line-height:1.35;
    margin:0 0 12px;
    font-weight:700;
}

.atlas-time {
    font-size:1rem;
    font-weight:700;
    color:#17233c;
}

.atlas-card-description {
    flex-grow:1;
    font-size:1rem;
    line-height:1.75;
    color:#17233c;
    margin-bottom:28px;
}

.atlas-note {
    border-top:1px solid #ddd;
    padding-top:18px;
    margin-top:auto;
    font-size:.95rem;
    line-height:1.7;
    color:#17233c;
}

.atlas-note strong {
    color:#ff6600;
}

.atlas-card-button {
    margin-top:25px;
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    background:#ff6600;
    color:#fff !important;
    text-align:center;
    padding:18px;
    text-decoration:none;
    font-size:1rem;
    font-weight:700;
    border-radius:0 !important;
    text-transform:uppercase;
}

.flickity-page-dots,
.flickity-page-dots .dot {
    display:none !important;
}

.flickity-prev-next-button {
    width:64px !important;
    height:64px !important;
    border-radius:0 !important;
    background:#fff !important;
    border:1px solid #d9d9d9 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
}

.flickity-button-icon {
    fill:#0d2b5c !important;
}

.flickity-prev-next-button.previous {
    left:-82px !important;
}

.flickity-prev-next-button.next {
    right:-82px !important;
}


/* =====================================================
   PIXEL-MATCH EVENT CAROUSEL
===================================================== */

.atlas-carousel-wrapper{
    position:relative;
    padding:20px 70px 10px;
    margin:40px 0;
}

.atlas-events-heading{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    margin-bottom:34px;
}

.atlas-events-heading h2{
    font-size:3rem;
    line-height:1.1;
    margin:0;
    color:#061b57;
    font-weight:800;
    letter-spacing:-1px;
    text-transform:uppercase;
}

.heading-line{
    width:190px;
    height:6px;
    background:#ff5a00;
    margin-top:18px;
}

.atlas-carousel .flickity-viewport{
    overflow:hidden;
}

.atlas-card{
    width:31%;
    min-width:430px;
    min-height:930px;
    background:#fff;
    border:2px solid #d7d7d7 !important;
    box-shadow:none !important;
    border-radius:0 !important;
    padding:34px 34px 28px;
    margin-right:22px;
    display:flex;
    flex-direction:column;
}

.atlas-card-top{
    display:grid;
    grid-template-columns:150px 1fr;
    gap:26px;
    align-items:start;
    margin-bottom:28px;
}

.atlas-card-date{
    width:148px;
    height:148px;
    background:#12b53c;
    border-radius:50%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    color:#fff;
    padding:18px;
    box-sizing:border-box;
}

.atlas-card-date .month{
    font-size:2.35rem;
    font-weight:700;
    line-height:1;
}

.atlas-card-date .day{
    font-size:5rem;
    line-height:.95;
    font-weight:800;
    margin-top:6px;
}

.atlas-card h3{
    margin:8px 0 18px;
    color:#ff5a00;
    font-size:2.05rem;
    line-height:1.25;
    font-weight:700;
}

.atlas-time{
    display:flex;
    align-items:center;
    gap:12px;
    color:#061b57;
    font-size:1.15rem;
    font-weight:800;
    margin-top:12px;
}

.atlas-time:before{
    content:'🕒';
    font-size:1.2rem;
}

.atlas-card-description{
    border-top:2px solid #e4e4e4;
    padding-top:28px;
    margin-top:10px;
    color:#17233c;
    font-size:1.18rem;
    line-height:1.75;
    min-height:330px;
}

.atlas-note{
    border-top:2px solid #e4e4e4;
    margin-top:auto;
    padding-top:26px;
    color:#17233c;
    font-size:1.05rem;
    line-height:1.75;
}

.atlas-note strong{
    color:#061b57;
}

.atlas-card-button{
    margin-top:28px;
    width:100%;
    background:#ff5a00;
    color:#fff !important;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px 20px;
    font-size:1.15rem;
    font-weight:800;
    text-transform:uppercase;
    border-radius:0 !important;
    letter-spacing:.5px;
}

.atlas-card-button:before{
    content:'📅';
    margin-right:14px;
    font-size:1.2rem;
}

.flickity-page-dots,
.flickity-page-dots .dot{
    display:none !important;
}

.flickity-prev-next-button{
    width:88px !important;
    height:88px !important;
    background:#fff !important;
    border:2px solid #d9d9d9 !important;
    border-radius:10px !important;
    top:58px !important;
    transform:none !important;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
}

.flickity-button-icon{
    fill:#061b57 !important;
}

.flickity-prev-next-button.previous{
    left:-10px !important;
}

.flickity-prev-next-button.next{
    right:-10px !important;
}

@media(max-width:1400px){

    .atlas-card{
        min-width:380px;
    }
}

@media(max-width:991px){

    .atlas-carousel-wrapper{
        padding:20px 10px;
    }

    .atlas-events-heading h2{
        font-size:2.2rem;
    }

    .atlas-card{
        width:88%;
        min-width:auto;
        min-height:auto;
    }

    .atlas-card-top{
        grid-template-columns:1fr;
    }

    .atlas-card-date{
        margin:0 auto;
    }

    .flickity-prev-next-button{
        width:64px !important;
        height:64px !important;
        top:36px !important;
    }
}


/* =========================================
   PERFECT MATCH EVENT CAROUSEL
========================================= */

.atlas-carousel-wrapper{
    position:relative;
    padding:20px 72px;
    margin:30px 0 60px;
}

.atlas-events-heading{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    margin-bottom:34px;
}

.atlas-events-heading h2{
    margin:0;
    color:#061b57;
    font-size:3.1rem;
    line-height:1.05;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:-1px;
}

.heading-line{
    width:185px;
    height:6px;
    background:#ff5a00;
    margin-top:18px;
}

.atlas-card{
    width:31%;
    min-width:420px;
    min-height:760px !important;
    background:#fff;
    border:2px solid #d7d7d7 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:28px 28px 24px;
    margin-right:22px;
    display:flex;
    flex-direction:column;
}

.atlas-card-top{
    display:grid;
    grid-template-columns:142px 1fr;
    gap:22px;
    align-items:start;
    margin-bottom:18px;
}

.atlas-card-date{
    width:136px;
    height:136px;
    border-radius:50%;
    background:#12b53c;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    color:#fff;
    padding:18px;
}

.atlas-card-date .month{
    font-size:2.2rem;
    line-height:1;
    font-weight:700;
}

.atlas-card-date .day{
    font-size:4.8rem;
    line-height:.95;
    font-weight:800;
    margin-top:4px;
}

.atlas-card h3{
    color:#ff5a00;
    margin:10px 0 12px;
    font-size:1.95rem;
    line-height:1.25;
    font-weight:700;
}

.atlas-time{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    color:#061b57;
    font-size:1.05rem;
    font-weight:800;
    border-bottom:2px solid #e3e3e3;
    padding:18px 0 20px;
    margin-top:8px;
}

.atlas-time:before{
    content:'🕒';
    font-size:1.2rem;
}

.atlas-card-description{
    color:#17233c;
    font-size:1.05rem;
    line-height:1.8;
    min-height:230px;
    display:flex;
    align-items:flex-start;
    padding:22px 0;
}

.atlas-note{
    border-top:2px solid #e4e4e4;
    padding-top:20px;
    margin-top:auto;
    color:#17233c;
    font-size:1rem;
    line-height:1.7;
}

.atlas-note strong{
    color:#061b57;
}

.atlas-card-button{
    width:100%;
    margin-top:22px;
    background:#ff5a00;
    color:#fff !important;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px 18px;
    font-size:1rem;
    font-weight:800;
    text-transform:uppercase;
    border-radius:0 !important;
}

.atlas-card-button:before{
    content:'📅';
    margin-right:12px;
}

.flickity-page-dots,
.flickity-page-dots .dot{
    display:none !important;
}

.flickity-prev-next-button{
    width:86px !important;
    height:86px !important;
    border-radius:10px !important;
    background:#fff !important;
    border:2px solid #dadada !important;
    top:58px !important;
    transform:none !important;
    box-shadow:0 2px 12px rgba(0,0,0,.08);
}

.flickity-button-icon{
    fill:#061b57 !important;
}

.flickity-prev-next-button.previous{
    left:-6px !important;
}

.flickity-prev-next-button.next{
    right:-6px !important;
}

@media(max-width:1200px){

    .atlas-card{
        min-width:380px;
    }
}

@media(max-width:991px){

    .atlas-carousel-wrapper{
        padding:20px 10px;
    }

    .atlas-events-heading h2{
        font-size:2.2rem;
    }

    .atlas-card{
        width:88%;
        min-width:auto;
        min-height:auto !important;
    }

    .atlas-card-top{
        grid-template-columns:1fr;
    }

    .atlas-card-date{
        margin:0 auto;
    }

    .atlas-card-description{
        min-height:auto;
    }

    .flickity-prev-next-button{
        width:64px !important;
        height:64px !important;
        top:40px !important;
    }
}


/* ============================================
   PIXEL PERFECT MOCKUP MATCH
============================================ */

.atlas-carousel-wrapper{
    position:relative;
    padding:18px 76px 30px;
    margin:20px 0 50px;
}

.atlas-events-heading{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    margin-bottom:26px;
}

.atlas-events-heading h2{
    margin:0;
    font-size:3rem;
    line-height:1;
    color:#071a57;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:-1px;
}

.heading-line{
    width:170px;
    height:6px;
    background:#ff5a00;
    margin-top:18px;
}

.atlas-card{
    width:470px;
    min-height:760px !important;
    background:#fff;
    border:2px solid #d7dce2 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:26px 26px 22px;
    margin-right:22px;
    display:flex;
    flex-direction:column;
}

.atlas-card-top{
    display:grid;
    grid-template-columns:158px 1fr;
    gap:22px;
    align-items:start;
    margin-bottom:10px;
}

.atlas-card-date{
    width:145px;
    height:145px;
    border-radius:50%;
    background:#12b63d;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    color:#fff;
    padding:20px;
    box-sizing:border-box;
}

.atlas-card-date .month{
    font-size:2.25rem;
    font-weight:700;
    line-height:1;
}

.atlas-card-date .day{
    font-size:5rem;
    line-height:.9;
    font-weight:800;
    margin-top:8px;
}

.atlas-card h3{
    color:#ff5a00;
    font-size:2rem;
    line-height:1.35;
    font-weight:700;
    margin:16px 0 0;
}

.atlas-time{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:12px;
    color:#071a57;
    font-size:1.1rem;
    font-weight:800;
    border-bottom:2px solid #e3e6ea;
    padding:16px 0 18px;
    margin:10px 0 0;
}

.atlas-time:before{
    content:'🕒';
    font-size:1.2rem;
}

.atlas-card-description{
    padding:24px 4px 18px;
    margin:0;
    color:#17233c;
    font-size:1.08rem;
    line-height:1.82;
    min-height:245px;
    display:flex;
    align-items:flex-start;
}

.atlas-note{
    border-top:2px solid #e3e6ea;
    padding-top:18px;
    margin-top:auto;
    color:#17233c;
    font-size:1rem;
    line-height:1.7;
    min-height:118px;
}

.atlas-note strong{
    color:#071a57;
    font-weight:800;
}

.atlas-card-button{
    margin-top:20px;
    width:100%;
    background:#ff5a00;
    color:#fff !important;
    text-decoration:none;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:22px 18px;
    font-size:1.05rem;
    font-weight:800;
    text-transform:uppercase;
    border-radius:0 !important;
    letter-spacing:.3px;
}

.atlas-card-button:before{
    content:'📅';
    margin-right:14px;
    font-size:1.15rem;
}

.flickity-page-dots,
.flickity-page-dots .dot{
    display:none !important;
}

.flickity-prev-next-button{
    width:86px !important;
    height:86px !important;
    border-radius:10px !important;
    background:#fff !important;
    border:2px solid #d9dde3 !important;
    top:30px !important;
    transform:none !important;
    box-shadow:0 4px 14px rgba(0,0,0,.08);
}

.flickity-button-icon{
    fill:#071a57 !important;
}

.flickity-prev-next-button.previous{
    left:-2px !important;
}

.flickity-prev-next-button.next{
    right:-2px !important;
}

@media(max-width:1200px){

    .atlas-card{
        width:420px;
        min-height:720px !important;
    }

    .atlas-card-description{
        min-height:220px;
    }
}

@media(max-width:991px){

    .atlas-carousel-wrapper{
        padding:18px 12px;
    }

    .atlas-events-heading h2{
        font-size:2.2rem;
    }

    .atlas-card{
        width:88%;
        min-height:auto !important;
    }

    .atlas-card-top{
        grid-template-columns:1fr;
    }

    .atlas-card-date{
        margin:0 auto;
    }

    .atlas-card-description,
    .atlas-note{
        min-height:auto;
    }

    .flickity-prev-next-button{
        width:64px !important;
        height:64px !important;
        top:42px !important;
    }
}
