﻿body {
  background: #fff;
}
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: #1560c5 !important;
}

.container {
    max-width: 1320px;
    width: 100%;
    padding: 0 20px;
    margin: 0 auto;
}

.d-flex {
    display: flex;
}

.btn {
    background-color: #cf2030;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    border-radius: 13px;
    box-shadow: 3.06px 2.57px 5px rgba(0, 0, 0, 0.25);
    padding: 16px 0;
    font-size: 37px;
    font-weight: 500;
}

    .btn p {
        color: #fff;
    }

    .btn img {
        width: 44px;
        height: 44px;
    }

.sc-detail-service {
    padding: 80px 0;
    background: #fff;
}

.sc-detail-service-inner .h2-title {
    font-size: 48px;
    font-weight: 700;
    color: #1560c5;
    text-align: center;
    margin-bottom: 30px;
}

    .sc-detail-service-inner .h2-title span {
        color: #1560c5;
    }

.sc-detail-service-inner .txt-intro {
    font-size: 32px;
    line-height: 1.5;
    color: #000;
    text-align: center;
    margin-bottom: 60px;
}

    .sc-detail-service-inner .txt-intro span {
        color: #1560c5;
        font-weight: 700;
    }

.service-items {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}

.fc .fc-button {
    background: linear-gradient(to bottom, #d9534f, #c9302c) !important; /* Hiệu ứng gradient */
    color: white !important; /* Màu chữ trắng */
    font-weight: bold !important; /* Chữ đậm */
    border: none !important;
    /*border-radius: 8px !important;*/ /* Bo góc mềm mại */
    transition: all 0.3s ease-in-out; /* Hiệu ứng mượt mà */
}

    .fc .fc-button:hover {
        background: linear-gradient(to bottom, #c9302c, #b52b27) !important; /* Đỏ đậm hơn khi hover */
        box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); /* Hiệu ứng bóng */
    }

.fc .fc-button-primary {
    background: linear-gradient(to bottom, #b52b27, #a12722) !important; /* Đỏ tối hơn khi được chọn */
    color: white !important;
}

    .fc .fc-button-primary:hover {
        background: linear-gradient(to bottom, #a12722, #900000) !important; /* Đỏ đậm khi hover */
    }

.fc .fc-button .fc-icon {
    color: white !important; /* Chuyển màu icon sang trắng */
}

.fc .fc-button:hover .fc-icon {
    color: #f8f9fa !important; /* Màu trắng sáng hơn khi hover */
}

.service-item {
    width: 100%;
    display: flex;
    background-color: #fff;
    border-radius: 15px;
    padding: 30px;
    transition: transform 0.3s ease;
}

    .service-item:hover {
        transform: translateY(-5px);
    }

    .service-item .service-icon {
        flex: 0 0 100px;
        margin-right: 20px;
    }

        .service-item .service-icon img {
            width: 80px;
            height: 80px;
            object-fit: contain;
        }

    .service-item .service-content {
        flex: 1;
    }

        .service-item .service-content .service-title {
            font-size: 32px;
            font-weight: 700;
            color: #1560c5;
            margin-bottom: 15px;
            line-height: 1.3;
        }

        .service-item .service-content .service-desc p {
            font-size: 32px;
            line-height: 1.5;
            color: #000;
            margin-bottom: 15px;
        }

        .service-item .service-content .service-desc ul {
            padding-left: 20px;
            list-style: disc;
        }

            .service-item .service-content .service-desc ul li {
                font-size: 32px;
                line-height: 1.5;
                color: #000;
                margin-bottom: 8px;
            }

.cta-section {
    text-align: center;
    padding: 40px 0;
    position: fixed;
    right: -200px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1000;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

    .cta-section .cta-buttons {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

        .cta-section .cta-buttons .btn {
            width: 200px;
            padding: 12px 20px;
            border-radius: 13px 13px 0 0;
            box-shadow: -3px 3px 10px rgba(0, 0, 0, 0.2);
            transition: all 0.3s ease;
            transform: rotate(-90deg);
            transform-origin: left bottom;
            /*            justify-content: space-between;*/
        }

            .cta-section .cta-buttons .btn:hover {
                /*                right: -120px;*/
                transform: rotate(-90deg) translateY(-10px);
            }

            .cta-section .cta-buttons .btn p {
                color: #fff;
                font-size: 18px;
                font-weight: 500;
                margin: 0 10px 0 0;
                white-space: nowrap;
            }

            .cta-section .cta-buttons .btn img {
                width: 24px;
                height: 24px;
            }

        .cta-section .cta-buttons .btn-register-now {
            background-color: #cf2030;
            margin-bottom: 150px;
        }

        .cta-section .cta-buttons .btn-calendar-event {
            background-color: #1560c5;
        }

.nav-tabs .nav-link.active {
    background-color: #FF0000;
    color: white;
    border-color: #FF0000;
}

.nav-tabs .nav-link:not(.active) {
    background-color: #CCCCCC;
    color: black;
}

td.booked {
    background-color: #FF0000;
    color: white;
    text-align: center;
    vertical-align: middle;
}

td {
    height: 50px;
}

.text-primary {
    color: #007bff !important;
}

.schedule-header th {
    text-align: center;
}

.selected-date {
    background-color: #FFAAAA !important;
    color: black !important;
}

.schedule-header th.selected-date {
    background-color: #FFAAAA !important;
    color: black !important;
}

.thWidth {
    width: 14%;
}

.booked {
    background-color: #FF0000;
    color: white;
    text-align: center;
    vertical-align: middle;
}

    .booked.partial {
        background: linear-gradient(to bottom, #FF0000 var(--fill-percentage), transparent var(--fill-percentage));
    }

.fc-day-header-custom {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.fc-day-name {
    font-weight: bold;
}

.fc-day-number {
    font-size: 14px;
    color: gray;
}

.card-header-event {
    background-color: #cf2030;
    color: white;
}

.year-event {
    color: #cf2030;
}

.fc-view {
    margin-top: 0px !important;
}

.fc-event-time {
    text-align: left !important;
}

.fc-event-title-container {
    text-align: left !important;
    font-size: 14px;
    font-weight: 700;
}

/* Hidden scroll */
.fc-scroller {
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE & Edge */
}

    .fc-scroller::-webkit-scrollbar {
        display: none; /* Chrome, Safari */
    }

.eventTitle {
    color: #cf2030 !important;
}

.fc-event-custom {
    font-size: 12px;
    text-align: center;
    font-weight: bold;
}

@media (max-width: 1024px) {
    .table td, .table th {
        padding: .50rem !important;
        vertical-align: middle !important;
    }
}

@media (max-width: 992px) {
    .service-items {
        grid-template-columns: 1fr;
    }

    .sc-detail-service-inner .h2-title {
        font-size: 40px;
    }

    .sc-detail-service-inner .txt-intro {
        font-size: 20px;
    }
}

@media (max-width: 768px) {
    .table td, .table th {
        padding: .2rem !important;
        vertical-align: middle !important;
    }

    .sc-detail-service {
        padding: 20px 0;
    }

    .sc-detail-service-inner .h2-title {
        font-size: 24px;
        padding-bottom: 10px;
        margin-bottom: 20px;
    }

    .service-item .service-icon {
        flex: 0 0 80px;
    }

    .sc-detail-service-inner .txt-intro {
        font-size: 18px;
        margin-bottom: 30px;
    }

    .service-item .service-content .service-title {
        font-size: 18px;
        margin-bottom: 5px;
    }

    .service-item .service-content .service-desc p {
        font-size: 18px;
    }

    .service-item .service-content .service-desc ul li {
        font-size: 18px;
    }

    .service-items {
        gap: 10px;
    }

    .service-item {
        flex-direction: column;
        padding: 0;
    }

        .service-item .service-icon {
            margin-right: 0;
            text-align: center;
        }

    .cta-section p {
        font-size: 14px !important;
    }

    .cta-section .cta-buttons .btn {
        padding: 10px;
    }
}

@media (max-width: 391px) {
    .fc-event {
        width: 33px !important;
        padding: 0px !important;
        margin: 0px !important;
    }
}
@media (max-width: 430px) {
    .fc-event {
        width: 36px !important;
        padding: 0px !important;
        margin: 0px !important;
    }
}