/*** Notices ***/
.textprimary{
    color:#1F368F !important;
}
.notices-carousel{
    position:relative;
}
.notices-carousel::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(to right, rgb(218, 216, 216) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
}

.notices-carousel::after {
    position: absolute;
    content: "";
    top: 0;
    right: 0;
    height: 100%;
    width: 0;
    background: linear-gradient(to left, rgb(218, 216, 216) 0%, rgba(255, 255, 255, 0) 100%);
    z-index: 1;
}

@media (min-width: 768px) {
    .notices-carousel::before,
    .notices-carousel::after {
        width: 200px;
    }
}

@media (min-width: 992px) {
    .notices-carousel::before,
    .notices-carousel::after {
        width: 300px;
    }
}

.notices-carousel .owl-item .notice-card {
    background: var(--light);
    transform: scale(.8);
    transition: .5s;
}

.notices-carousel .owl-item.center .notice-card {
    background: var(--primary);
    transform: scale(1);
}


.notices-carousel .owl-item .notice-card *,
.notices-carousel .owl-item .notice-item img {
    transition: .5s;
}

.notices-carousel .owl-item.center .notice-card * {
    color: var(--light) !important;
}

.notices-carousel .owl-item.center .notice-item img {
    background: #1F368F !important;

}



.notices-carousel .owl-nav {
    position: absolute;
    width: 100%;
    max-width: 400px;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    justify-content: space-between;
    padding: 0 10px;
    opacity: 1;              /* always visible now */
    z-index: 10;
    pointer-events: none;    /* container itself shouldn't block clicks on items */
}

.notices-carousel:hover .owl-nav {
    width: 300px;
    opacity: 1;
}
.notices-carousel .owl-nav .owl-prev,
.notices-carousel .owl-nav .owl-next {
    pointer-events: auto;    /* re-enable clicks on the buttons themselves */
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #1F368F;     /* solid background instead of bare text */
    color: #fff;              /* white icon, visible on the green circle */
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 6px 16px rgba(0,0,0,.15);
    transition: .3s;
}

.notices-carousel .owl-nav .owl-prev:hover,
.notices-carousel .owl-nav .owl-next:hover {
    background: #075B36;
    color: #1F368F;
    transform: translateY(-3px);
}
/* =================================
   NOTICE PREVIEW AND DOWNLOAD BUTTONS
================================= */

.notices .notice-buttons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    margin-top: 15px;
    flex-wrap: wrap;
}

/* Preview button */
.notices .notice-buttons a.btn-success {
    background-color: #1F368F !important;
    border-color: #1F368F !important;
    color: #fff !important;
    border-radius: 25px;
    padding: 10px 22px;
    font-weight: 600;
    transition: all .3s ease;
}

/* Download button */
.notices .notice-buttons a.btn-outline-success {
    background-color: transparent !important;
    border: 2px solid #1F368F !important;
    color: #1F368F !important;
    border-radius: 25px;
    padding: 10px 22px;
    font-weight: 600;
    transition: all .3s ease;
}

/* Hover effects */
.notices .notice-buttons a.btn-success:hover {
    background-color: #2D6B13!important;
    border-color: #2D6B13!important;
    transform: translateY(-3px);
}

.notices .notice-buttons a.btn-outline-success:hover {
    background-color: #1F368F !important;
    border-color: #1F368F !important;
    color: #fff !important;
    transform: translateY(-3px);
}

/* Button icons */
.notices .notice-buttons i {
    margin-right: 5px;
}


#previewModal .modal-content{

    border:none;

    border-radius:20px;

    overflow:hidden;

    background:#111;

}

#previewModal .modal-header{

    background:#111;

    color:#fff;

    border:none;

}

#previewModal .btn-close{

    filter:invert(1);

}

#previewModal .modal-body{

    padding:25px;

    text-align:center;

    background:#111;

}

#previewModal img{

    max-width:100%;

    border-radius:12px;

}

.preview-nav{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:60px;

    height:60px;

    border:none;

    border-radius:50%;

    background:#30B862;

    color:#fff;

    font-size:30px;

    z-index:1000;

    transition:.3s;

}

.preview-nav:hover{

    background:#C8A646;

}

.preview-prev{

    left:20px;

}

.preview-next{

    right:20px;

}

#previewFrame{

    width:100%;

    height:90vh;

}






.upcoming-events{background-color:#eafaf1;}
.mini-calendar-weekdays,
.mini-calendar-week {
    grid-template-columns: repeat(7, 1fr);
    gap: 4px;
}
.mini-calendar-day {
    aspect-ratio: 1;
    border: none;
    background: transparent;
    border-radius: 50%;
    font-size: .9rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mini-calendar {
    max-width: 300px;   /* controls overall width — smaller = smaller calendar */
    padding: 1rem !important;
}
.mini-calendar-day.empty { visibility: hidden; }
.mini-calendar-day:disabled { color: #ccc; }
.mini-calendar-day.has-event { font-weight: 600; color: #30B862; cursor: pointer; }
.mini-calendar-day.has-event:hover { background: #e7f1ff; }
.mini-calendar-day.today { background: #198754; color: #fff; }
.mini-calendar-day.today .event-dot { background: #fff; }
.event-dot {
    position: absolute;
    bottom: 4px;
    width: 5px; height: 5px;
    border-radius: 50%;
    background: #0d6efd;
}
.calendar-card {
    border: 1px solid #f0f0f0;
}

.full-calendar-weekdays,
.full-calendar-week {
    grid-template-columns: repeat(7, 1fr);
    gap: 8px;
}

.full-calendar-cell {
    min-height: 90px;
    border: 1px solid #eef0f2;
    border-radius: 10px;
    padding: 8px;
    font-size: .78rem;
    transition: .2s ease;
}
.full-calendar-cell.empty { border: none; }
.full-calendar-cell[role="button"] { cursor: pointer; }
.full-calendar-cell[role="button"]:hover {
    background: #f8f9fa;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(0,0,0,.06);
}
.full-calendar-cell.today {
    background: #eafaf1;
    border-color: #198754;
}
.full-calendar-cell.holiday {
    background: #fff8e1;
    border-color: #f0d98c;
}

.day-number {
    font-weight: 600;
    display: block;
    margin-bottom: 4px;
}

.holiday-label {
    display: block;
    color: #b8860b;
    font-size: .68rem;
    margin-bottom: 2px;
}

.event-pill {
    display: block;
    background: #30B862;
    color: #fff;
    border-radius: 6px;
    padding: 2px 6px;
    margin-top: 2px;
    font-size: .68rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}