/* ======================================================
   Sarekam CSS — home.css
   Extracted from index.html | Phase 1 Refactor
   DO NOT add styles from other sections to this file.
   ====================================================== */

        /* SAREKAM CATEGORIES LAYOUT */
        .main-content {
            width: 90%;
            max-width: 1200px;
            margin: 0 auto 50px;
            padding-top: 85px; /* Offset the sticky desktop header */
            min-height: 60vh;
        }

        .categories-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 25px;
            margin-bottom: 50px;
        }

        .category-card {
            background: var(--white);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 25px;
            box-shadow: none;
            text-align: center;
        }

        .category-title {
            font-size: 1.3rem;
            font-weight: 800;
            margin-bottom: 25px;
            color: var(--text-dark);
            letter-spacing: -0.3px;
        }

        .sub-services-grid {
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            gap: 15px;
            align-items: start;
        }

        /* Exceptions for 2-column look on specific cards (like Social Essentials) */
        .grid-2col {
            grid-template-columns: repeat(2, 1fr);
            gap: 25px 15px;
        }

        .sub-service-item {
            display: flex;
            flex-direction: column;
            align-items: center;
            cursor: pointer;
            transition: transform 0.2s;
        }

        .sub-service-item:hover {
            transform: translateY(-4px);
        }

        .sub-service-icon {
            width: 85px;
            height: 85px;
            border-radius: 18px;
            background: #ffffff; /* No colour fillings (white) */
            border: 1px solid #e8e8e8; /* Thin grey border around the box */
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 1.6rem;
            color: var(--primary);
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.02);
            margin-bottom: 10px;
        }

        /* Specific icon colors to mimic the image's vibrant icons safely via font-awesome */
        .icon-blue {
            color: #1E88E5;
        }

        .icon-yellow {
            color: #FFB300;
        }

        .icon-green {
            color: #43A047;
        }

        .icon-purple {
            color: #8E24AA;
        }

        .icon-orange {
            color: #FB8C00;
        }

        .icon-dark {
            color: #424242;
        }

        .icon-red {
            color: #E53935;
        }

        .sub-service-icon img {
            width: 82%;
            height: 82%;
            object-fit: cover;
            border-radius: 12px; /* Make the image itself have curved edges */
            background: transparent;
        }

        .sub-service-text {
            font-size: 0.85rem;
            font-weight: 600;
            color: var(--text-dark);
            line-height: 1.25;
            padding: 0 5px;
        }

        @media (max-width: 1000px) {
            .categories-grid {
                grid-template-columns: repeat(2, 1fr);
            }
        }

        @media (max-width: 650px) {
            .categories-grid {
                grid-template-columns: 1fr;
            }
            .sub-service-icon {
                width: 95px;
                height: 95px;
            }
            .sub-service-text {
                font-size: 0.95rem;
            }
        }

