@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600&display=swap');

/* Ẩn tiêu đề, ảnh mặc định của theme và ẨN BÌNH LUẬN */
.entry-header, .entry-title, .post-thumbnail, .page-header, #comments, .comments-area, #respond, .post-comments { 
    display: none !important; 
}

.custom-single-template {
    font-family: 'Montserrat', sans-serif;
    color: #333;
    margin-bottom: 50px;
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    background: linear-gradient(
        180deg,
        #F8F4E6 0%,
        rgba(248, 244, 230, 0.5) 22%,
        #FFFFFF 100%
    );
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
    box-sizing: border-box;
}

/* KHÔNG GẠCH DƯỚI toàn bộ link trong template */
.custom-single-template a {
    text-decoration: none !important;
}

/* ==================================================== */
/* ẨN ẢNH TRONG NỘI DUNG NẾU LÀ TRANG DỊCH VỤ           */
/* ==================================================== */
.cst-content.is-dich-vu img,
.cst-content.is-dich-vu figure,
.cst-content.is-dich-vu .wp-block-image,
.cst-content.is-dich-vu .wp-block-gallery {
    display: none !important;
}

.cst-banner {
    position: relative;
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    height: 450px;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin-bottom: 40px;
}
.cst-banner::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.5);
}
.cst-banner h1 {
    position: relative;
    z-index: 1;
    font-size: 35px !important;
    color: #fff;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 20px;
    line-height: 1.4;
}

.cst-container {
    max-width: 1200px;
    margin: 0 auto;
}

/* Meta dùng chung ở Top */
.cst-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 0;
    font-size: 14px;
    font-weight: 500;
}
.cst-meta-left {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #888;
}
.cst-meta-left a {
    color: #888;
    font-weight: 700;
}

/* Meta cho Bottom */
.cst-meta-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 0;
    font-size: 14px;
    font-weight: 500;
    flex-wrap: wrap;
}
.cst-tags a {
    display: inline-block;
    background: #f5f5f5;
    color: #333;
    padding: 8px 16px;
    margin-right: 8px;
    font-size: 13px;
}

.cst-share {
    display: flex;
    align-items: center;
    gap: 12px;
}
.cst-share span { font-weight: 600; }
.cst-share img {
    width: 24px;
    cursor: pointer;
}

.cst-content {
    font-size: 16px;
    line-height: 1.8;
    margin: 30px 0;
}

.cst-related-wrapper {
    margin-top: 60px;
    padding-top: 40px;
    text-align: center;
}
.cst-related-wrapper h2 {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 40px;
    text-transform: uppercase;
}

/* Swiper Slider Styles */
.swiper {
    width: 100%;
    padding-bottom: 40px !important;
}
.swiper-pagination-bullet-active {
    background: #333 !important;
}

.cst-item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    width: 100%;
}
.cst-item img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
    margin-bottom: 15px;
}
.cst-item-title {
    font-size: 16px !important;
    color: #333;
    margin-bottom: 15px;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 500;
    min-height: 44px;
}
.cst-btn {
    display: inline-block;
    border: 1px solid #333;
    padding: 10px 20px;
    font-size: 10px !important;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 600;
}

@media (max-width: 767px) {
    .cst-banner { height: 300px; }
    .cst-banner h1 { font-size: 25px !important; }
    .cst-meta { flex-direction: row; flex-wrap: wrap; gap: 15px; }
    .cst-meta-bottom { gap: 10px; flex-wrap: nowrap; overflow-x: auto; }
    .cst-item-title { font-size: 13px !important; min-height: 36px; }
}