/* Contact form */
.wp-block-jetpack-contact-form input {
    padding: 8px 10px;
    font-size: 14px;
}
.wp-block-jetpack-contact-form .grunion-field-wrap {
    margin-bottom: 10px;
}

/* Constrain dropdown width */
.grunion-field-select-wrap {
    max-width: 68.5% !important;
}

/* Reduce message box height */
.wp-block-jetpack-field-textarea textarea.grunion-field {
    max-height: 100px !important;
    height: 100px !important;
    min-height: unset !important;
    overflow-y: auto;
}

/* Two column layout for checkbox group */
.wp-block-jetpack-contact-form .grunion-checkbox-multiple-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 20px;
}

/* Align buttons to bottom of all columns */
.wp-block-column {
    display: flex;
    flex-direction: column;
}
.wp-block-column .wp-block-buttons {
    margin-top: auto;
    padding-top: 10px;
}

/* Program cards */
.current-programs-card {
    display: flex;
    flex-direction: column;
    height: 100%;
}
.current-programs-card h3,
.current-programs-card h4,
.current-programs-card p,
.current-programs-card ul {
    margin-top: 0;
    margin-bottom: 16px;
}
.current-programs-card .wp-block-buttons {
    margin-top: auto;
    padding-top: 20px;
}
.current-programs-card .wp-block-heading {
    line-height: 1.2;
}

/* Force equal height columns and aligned buttons */
.wp-block-columns:has(.current-programs-card) {
    align-items: stretch;
}
.current-programs-card.wp-block-column {
    justify-content: flex-start;
}
.current-programs-card.wp-block-column > .wp-block-group {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.current-programs-card.wp-block-column > .wp-block-group .wp-block-buttons {
    margin-top: auto;
	}/* Travel fee table */
.travel-table table {
    table-layout: fixed;
    width: 100%;
    border-collapse: collapse;
}
.travel-table th {
    font-weight: 700;
    text-align: left;
}
.travel-table th:first-child,
.travel-table td:first-child {
    width: 75% !important;
}
.travel-table th:last-child,
.travel-table td:last-child {
    width: 25% !important;
    text-align: center;
}

/* Map and table layout */
.map-table-columns {
    display: flex;
    gap: 24px;
}
.map-table-columns > .wp-block-column:first-child {
    flex: 0 0 60%;
}
.map-table-columns > .wp-block-column:last-child {
    flex: 0 0 40%;
}

/* Scrollable table */
.scroll-table {
    max-height: 350px;
    overflow-y: auto;
}
.scroll-table table {
    border-collapse: collapse;
}
.scroll-table thead th {
    position: sticky;
    top: 0;
    background: #ffffff;
    z-index: 3;
}

/* iFrame border */
iframe {
    border: 1px solid #ccc;
}

/* Heading and paragraph spacing */
.entry-content h2,
.entry-cont
}