.card {

    background: var(--bg-white);

    border-radius: 15px;

    padding: 24px;

    box-shadow: var(--shadow);

    transition: all .3s ease;
}

.card:hover {

    transform: translateY(-5px);

    box-shadow: var(--shadow-hover);
}

.card-title {

    color: var(--primary-dark);
    font-size: 1.3rem;
    
}

.card-description {

    color: var(--text-light);

    margin-top: 10px;
}

.btn {

    display: inline-block;

    background: var(--primary-dark);

    color: white;

    text-decoration: none;

    padding: 14px 28px;

    border-radius: 999px;

    transition: all .3s ease;

    box-shadow: var(--shadow-sm);

}

.btn:hover {

    transform: translateY(-3px);

    box-shadow: var(--shadow-md);

}
.header-btn {

    padding: 10px 20px;

    font-size: .9rem;
}
.btn-outline {

    background: white;

    color: var(--primary-dark);

    border: 2px solid var(--primary-dark);
}

.btn-outline:hover {

    background: var(--primary-dark);

    color: white;
}
.service-icon {

    font-size: 48px;

    color: #e754a6;

    margin-bottom: 20px;
}
/* ==========================
   SERVICE CARD
========================== */
.service-card {

    background: #fff;

    border: 2px solid #f3bfd8;

    border-radius: 24px;

    overflow: hidden;

    box-shadow: 0 8px 20px rgba(0,0,0,.05);

    transition: .3s ease;

    display: flex;

    flex-direction: column;
}

.service-card:hover {

    transform: translateY(-8px);

    box-shadow: 0 15px 35px rgba(0,0,0,.12);
}
.service-image {

    padding: 18px 18px 0 18px;
}

.service-image img {

    width: 100%;

    height: 180px;

    object-fit: cover;

    border-radius: 18px;

    display: block;
}
.service-accent {

    height: 4px;

    margin: 14px 18px 0;

    border-radius: 20px;

    background: linear-gradient(
        90deg,
        #e754a6,
        #f3bfd8
    );
}
.service-content {

    padding: 20px;

    display: flex;

    flex-direction: column;

    flex: 1;
}
.service-card .card-title {

    font-size: 2rem;

    font-weight: 700;

    color: #d76cab;

    margin: 0 0 20px 0;

    min-height: 80px;
}
.service-card .card-description {

    color: #555;

    line-height: 1.8;

    font-size: 1rem;

    margin-bottom: 25px;
}
.service-consultation {

    border-top: 2px dashed #f3bfd8;

    padding-top: 18px;

    margin-top: auto;

    color: #d76cab;

    font-weight: 600;

    font-size: 1rem;
}
.service-btn {

    margin-top: 20px;

    width: 100%;

    text-align: center;
}
/* ==========================
   GALLERY CARD
========================== */

.gallery-card {

    overflow: hidden;

    padding: 0;
}

.gallery-card img {

    width: 100%;

    height: 260px;

    object-fit: cover;

    transition: .4s ease;
}

.gallery-card:hover img {

    transform: scale(1.05);
}

.gallery-content {

    padding: 20px;
}

.gallery-card .card-title {

    margin: 0;
}
/* ==========================
   TESTIMONIAL CARD
========================== */

.testimonial-card {

    text-align: center;

    border-top: 4px solid
        var(--primary-color);
}

.testimonial-rating {

    color: #F4B400;

    font-size: 1.3rem;

    margin-bottom: 15px;
}

.testimonial-text {

    font-style: italic;

    min-height: 80px;

    margin-bottom: 20px;
}

.testimonial-name {

    color: var(--primary-dark);

    margin-bottom: 5px;
}

.testimonial-service {

    font-size: .9rem;

    color: var(--text-light);
}