/* ==============================================
   LAFORET Service Page CSS
   ============================================== */

/* Cards */
.service-card {
    transition: box-shadow 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.service-card:hover {
    box-shadow: 0 12px 40px rgba(0,0,0,0.06);
    border-color: rgba(163, 149, 125, 0.4);
    transform: translateY(-4px);
}

/* Category Gallery */
.category-section { margin-bottom: 6rem; }
.category-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}
@media (min-width: 768px) {
    .category-grid {
        grid-template-columns: repeat(12, 1fr);
        gap: 2rem;
        align-items: center;
    }
    .category-content { grid-column: span 4; }
    .category-images { grid-column: span 8; }
    .category-section:nth-child(even) .category-content { grid-column: 9 / span 4; order: 2; }
    .category-section:nth-child(even) .category-images { grid-column: 1 / span 8; order: 1; }
}

.image-collage {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 200px);
    gap: 1rem;
}
.image-collage img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.7s ease;
}
.collage-item { overflow: hidden; }
.collage-item:hover img { transform: scale(1.05); }
.collage-main { grid-column: span 1; grid-row: span 2; }
@media (min-width: 768px) {
    .image-collage { grid-template-rows: repeat(2, 280px); }
}

/* Plan List */
.plan-item {
    position: relative;
    padding-left: 0;
    transition: padding-left 0.3s;
}
.plan-item:hover { padding-left: 10px; }
.plan-item::before {
    content: '\2192';
    position: absolute;
    left: -20px;
    opacity: 0;
    transition: all 0.3s;
    color: #A3957D;
}
.plan-item:hover::before { left: -5px; opacity: 1; }

/* Flow Steps */
.step-circle {
    width: 3rem;
    height: 3rem;
    border: 1px solid #A3957D;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Montserrat', sans-serif;
    color: #A3957D;
    background: white;
    z-index: 2;
}
