/* wordpress/theme/blocks/card-block/style.css */
.wp-block-tsv-card-block {
    background-color: #fff; /* Default background */
    border-radius: 8px; /* Default from department card */
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1); /* Default shadow */
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s, border-top-color 0.3s;
    display: flex;
    flex-direction: column;
    border-top: 4px solid var(--primary-color); /* Add the top border */
    margin-bottom: 2rem; /* Add standard spacing to other elements */
}

.wp-block-tsv-card-block:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
    transform: translateY(-5px);
    border-top-color: var(--secondary-color); /* Change border color on hover */
}

.wp-block-tsv-card-block .card-image {
    background-color: #eee; /* Fallback if no image */
    background-position: center; /* Default, can be overridden by focal point */
    background-size: cover; /* Default, can be overridden by imageObjectFit */
    width: 100%;
    /* height: 180px; Default, will be controlled by attribute or aspect ratio */
    aspect-ratio: 16/9; /* Default aspect ratio, can be overridden */
}

.wp-block-tsv-card-block .card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; /* Default, controlled by attribute */
}

.wp-block-tsv-card-block .card-text-content {
    padding: 1.5rem;
    flex-grow: 1; /* Allows text content to fill remaining space */
    display: flex;
    flex-direction: column;
}

.wp-block-tsv-card-block .card-title {
    color: var(--primary-color); /* Default from department card */
    font: 500 1.3rem/1.3 var(--heading-font);
    margin-top: 0;
    margin-bottom: 0.5rem;
    padding-bottom: 0.5rem;
    position: relative;
}

/* Add the yellow underline like department-title */
.wp-block-tsv-card-block .card-title::after {
    background-color: var(--secondary-color);
    bottom: 0;
    content: '';
    height: 2px;
    left: 0;
    position: absolute;
    width: 40px;
}

.wp-block-tsv-card-block .card-content-text {
    color: #666; /* Default from department card */
    margin-bottom: 1rem;
    flex-grow: 1; /* Allows paragraph to expand if title/button are short */
}
.wp-block-tsv-card-block .card-content-text p:last-child {
    margin-bottom: 0;
}


.wp-block-tsv-card-block .card-link {
    background-color: var(--primary-color); /* Default from department card */
    border-radius: 4px;
    color: #fff !important; /* Important to override potential block text color */
    display: inline-block;
    font-weight: 500;
    padding: 0.5rem 1rem;
    transition: all 0.3s;
    text-decoration: none;
    margin-top: auto; /* Pushes button to the bottom if content is short */
    align-self: flex-start; /* Align button to the start of the cross axis */
}

.wp-block-tsv-card-block .card-link:hover {
    background-color: var(--secondary-color);
    color: var(--primary-color) !important;
}

/* Text alignment */
.wp-block-tsv-card-block.has-text-align-center .card-text-content {
    text-align: center;
}
.wp-block-tsv-card-block.has-text-align-center .card-link {
    align-self: center;
}
.wp-block-tsv-card-block.has-text-align-right .card-text-content {
    text-align: right;
}
.wp-block-tsv-card-block.has-text-align-right .card-link {
    align-self: flex-end;
}

/* Full width image handling */
.wp-block-tsv-card-block.alignfull .card-image,
.wp-block-tsv-card-block.alignwide .card-image {
    /* No specific change needed if image is already 100% width of card */
}
.wp-block-tsv-card-block.alignfull {
    /* Ensure border-radius is maintained if theme overwrites it for alignfull */
    border-radius: 8px;
}
.wp-block-tsv-card-block.alignfull .card-text-content {
    /* Potentially increase padding for full width cards */
    /* padding: 2rem; */
}
