/* Clinic Specfic Overrides Focus on 'Approachable' */

/* Masonry Grid Setup */
.clinic-masonry-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 200px);
    gap: 1.5rem;
}

.grid-item {
    border-radius: var(--border-radius-lg);
}

.item-main {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}

.item-sub-1 {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

.item-sub-2 {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}

@media (max-width: 768px) {
    .clinic-masonry-grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }

    .item-main {
        grid-column: 1;
        grid-row: 1;
        height: 300px;
    }

    .item-sub-1 {
        grid-column: 1;
        grid-row: 2;
        height: 250px;
    }

    .item-sub-2 {
        grid-column: 1;
        grid-row: 3;
        height: 250px;
    }
}

/* Base Interactions */
.group-hover-scale {
    transition: transform 1.2s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.group:hover .group-hover-scale {
    transform: scale(1.08);
    /* slight zoom out on photo grid */
}

/* Hover Lift Button */
.hover-lift {
    transition: transform var(--transition-fast), box-shadow var(--transition-fast);
}

.hover-lift:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}

/* Input Focus states for booking form */
.form-control:focus,
.form-select:focus {
    box-shadow: 0 0 0 0.25rem rgba(212, 175, 55, 0.25);
    background-color: var(--color-bg-white) !important;
}

/* Form Success Checkmark */
.alert-success {
    background-color: rgba(74, 124, 89, 0.1);
    border-color: rgba(74, 124, 89, 0.2);
    color: var(--color-primary-dark);
}