body {
    font-family: 'Inter', sans-serif;
}

.material-symbols-outlined {
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24
}

/* Swiper Functionality */
/* Swiper Functionality */
.reviews-swiper .swiper-button-next,
.reviews-swiper .swiper-button-prev {
    color: #007aff !important;
    /* Default Swiper Blue */
    width: 44px;
    height: 44px;
    background: none;
    box-shadow: none;
}

.reviews-swiper .swiper-button-next:after,
.reviews-swiper .swiper-button-prev:after {
    font-size: 24px !important;
    font-weight: bold;
}



.reviews-swiper .swiper-button-next:hover,
.reviews-swiper .swiper-button-prev:hover {
    background-color: #fff;
    transform: translateY(-50%) scale(1.1);
}

/* Service Content Typography Enhancement */
.service-content h2, .cms-content h2 {
    font-size: 1.75rem;
    font-weight: 700;
    line-height: 1.3;
    margin-top: 2rem;
    margin-bottom: 1rem;
    color: var(--color-text-main, #1a202c);
}
.service-content h3, .cms-content h3 {
    font-size: 1.375rem;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 1.75rem;
    margin-bottom: 0.75rem;
    color: var(--color-text-main, #1a202c);
}
.service-content h4, .cms-content h4 {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.4;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
    color: var(--color-text-main, #1a202c);
}
.service-content p {
    line-height: 1.8;
    margin-bottom: 1.5rem;
}
.service-content ul, .service-content ol {
    margin-bottom: 1.5rem;
    list-style-type: none; /* We use custom bullets */
}
.service-content li {
    line-height: 1.4;
    margin-bottom: 0.75rem;
    padding-left: 2.25rem;
    position: relative;
}
.service-content li::before {
    content: "•";
    position: absolute;
    left: 0.25rem;
    color: var(--color-primary);
    font-weight: 900;
    font-size: 1.2em;
}

/* Catalog cards */
.cat-card { overflow: visible; display: flex; flex-direction: column; height: 100%; }
.cat-card-img { overflow: hidden; border-radius: 0.5rem 0.5rem 0 0; flex-shrink: 0; }
.cat-card-img { position: relative; }
.cat-card-img::after { content: ''; position: absolute; inset: 0; background: #fff; opacity: 0; transition: opacity 0.3s ease; pointer-events: none; }
.cat-card:hover .cat-card-img::after { opacity: 0.12; }
.cat-card-body { flex: 1; display: flex; flex-direction: column; }
.cat-card-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.6em;
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}
.cat-card-desc-wrap { position: relative; padding-left: 0.75rem; padding-right: 0.75rem; }
.cat-card-desc-inner { overflow: hidden; max-height: 4.5em; }
.cat-card-desc-fade { position: absolute; bottom: 0; left: 0; right: 0; height: 1.5em; pointer-events: none; }
.cat-card-desc-popup { position: absolute; left: 0; right: 0; top: 0; padding: 0.75rem; border-radius: 0.5rem; box-shadow: 0 8px 24px rgba(0,0,0,0.14); z-index: 30; font-size: 0.8rem; line-height: 1.3; border: 1px solid #e5e7eb; opacity: 0; visibility: hidden; transition: opacity 0.15s, visibility 0.15s; }
.cat-card-desc-popup p { font-size: 0.8rem; line-height: 1.3; }
.cat-card:hover .cat-card-desc-popup { opacity: 1; visibility: visible; }
.cat-card-btn-wrap { margin-top: auto; padding-top: 0.75rem; padding-left: 1.25rem; padding-right: 1.25rem; }

@media (max-width: 767px) {
    .cat-card-desc-inner { overflow: visible; max-height: none; }
    .cat-card-desc-fade { display: none !important; }
    .cat-card-desc-popup { display: none !important; }
}