/*
 Theme Name:   Climares
 Theme URI:    https://climares.nl/
 Description:  Climares theme
 Author:       Construo
 Author URI:   https://construo.nl
 Template:     Divi
 Version:      1.1.0
 Text Domain:  divi5-child
*/

/* <-- Custom Team Members styling */
.tm-wrapper {
    display: flex;
    flex-direction: column;
    gap: 3rem;
}

.tm-group__title {
	padding-bottom: 0px !important;
    font-size: clamp(1.4rem, 2vw, 2rem);
    font-weight: 500;
    color: #067360;
    font-family: "Gantari", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.tm-group__description {
    margin-top: 0.9rem;
    font-size: 1.1rem;
    color: #666666;
}

/* 5 per row on big screens */
.tm-group__grid {
	margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1.5rem;
}

@media (max-width: 1200px) {
    .tm-group__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 992px) {
    .tm-group__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .tm-group__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .tm-group__grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

.tm-card {
    text-align: left;
}

.tm-card__content {
    width: 100%;
    text-align: left;
}

.tm-card__inner {
    display: flex;
    flex-direction: column;
    align-items: left;
    text-decoration: none;
    height: 100%;
}

/* Round image + border + zoom on hover */
.tm-card__image {
	margin-bottom: 1rem;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    overflow: hidden;
    display: block;
    border: 2px solid #067360;
}

.tm-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transform: scale(1);
    transition: transform 0.25s ease-out;
}

.tm-card__inner:hover .tm-card__image img {
    transform: scale(1.06);
}

.tm-card__name {
    margin: 0 0 0.15rem;
	padding-bottom: 0px !important;
    font-size: 1.1rem;
    font-weight: 600;
}

/* function under name in grey */
.tm-card__function {
    margin: 0 0 0.2rem;
    font-size: 1rem;
    color: #666666;
}

/* organization below function */
.tm-card__org {
    margin: 0;
    font-size: 0.9rem;
    opacity: 0.8;
}
/* Custom Team Members styling --> */

/* <-- WPForms overrides */
.wpforms-submit {
	background-color: #3b7bbd !important;
}
/* WPForms overrides --> */


/* <-- The Events Calendar overrides */
.tribe-events-event-image {
	display: none;
}

.tribe-events-single-event-title {
	font-family: 'Gantari',Helvetica,Arial,Lucida,sans-serif !important;
	color: #067360 !important;
	font-size: 36px !important;
}

.tribe-event-date-start, .tribe-event-date-end {
	font-family: 'Gantari',Helvetica,Arial,Lucida,sans-serif !important;
	color: #3b7bbd !important;
}

.tribe-events-content {
	font-family: 'Gantari',Helvetica,Arial,Lucida,sans-serif !important;
	color: rgb(102, 102, 102) !important;
}

.tribe-events-back a {
	font-family: 'Gantari',Helvetica,Arial,Lucida,sans-serif !important;
	color: #3b7bbd !important;
	margin-bottom: 32px !important;
}

.tribe-events .tribe-events-c-search__button, .tribe-events button.tribe-events-c-search__button {
	background-color: #00a451 !important;
}

.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-text {
	color: #00a451 !important;
}

.tribe-common .tribe-common-c-btn-border, .tribe-common a.tribe-common-c-btn-border {
	color: #00a451 !important;
	border: 1px solid #00a451 !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active, .single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus, .single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within, .single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button.tribe-events-c-subscribe-dropdown__button--active, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:focus-within, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover {
  background-color: rgba(0, 164, 81, 0.3) !important;
}

.tribe-events-meta-group a {
	color: #3b7bbd !important;
}

.tribe-common .tribe-common-h5 {
	color: #067360 !important;
}

.tribe-events .tribe-events-calendar-list__event-featured-image {
	border: 1px solid #067360;
}

.tribe-events .tribe-events-calendar-list__event-title-link, .tribe-events .tribe-events-calendar-list__event-title-link:visited {
	color: #00a451 !important;
}

.tribe-events .tribe-events-calendar-list__event-featured-image-link:focus, .tribe-events .tribe-events-calendar-list__event-featured-image-link:hover {
	filter: brightness(65%) !important;
	opacity: 1 !important;
    transition: filter 0.25s ease-in;
}
/* The Events Calendar overrides --> */

/* <-- Programmes database styling */
.db-archive-wrapper {
    max-width: 1200px;
    margin: 0 auto;
    padding: 40px 20px;
    font-family: inherit;
}

.db-archive-wrapper h1 {
    color: #067360;
}

/* --- Filter Container --- */
.db-filter-container { 
    background: #fff; 
    padding: 25px 25px 50px 25px; 
    margin-bottom: 40px; 
    border-radius: 2px; 
    border: 1px solid #e1e1e1; 
    box-shadow: 0 4px 12px rgba(0,0,0,0.03); 
    position: relative; 
}

.db-filter-row { 
    display: flex; 
    gap: 20px; 
    flex-wrap: wrap; 
    align-items: flex-end; 
}

.db-field { 
    display: flex; 
    flex-direction: column; 
    flex: 1; 
    min-width: 200px; 
    margin-bottom: 10px; 
}

.db-field label { 
    font-weight: 600; 
    margin-bottom: 8px; 
    font-size: 0.85em; 
    text-transform: uppercase; 
    color: #555; 
    letter-spacing: 0.5px;
    line-height: 1.2; 
    display: block; 
}

.db-archive-wrapper select { 
    width: 100%; 
    padding: 0 10px; 
    border: 1px solid #ccc; 
    border-radius: 2px; 
    background: #fff; 
    height: 42px; 
    box-sizing: border-box;
}

.db-reset-link {
    position: absolute;
    bottom: 20px;
    left: 25px;
    font-size: 0.85em;
    color: #999;
    text-decoration: none;
    border-bottom: 1px dotted #ccc;
    transition: color 0.2s;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.db-reset-link:hover { 
    color: #d00; 
    border-color: #d00; 
}

.db-reset-link::before { 
    content: '×'; 
    font-size: 1.4em; 
    line-height: 0.5; 
}

.db-range-wrapper { 
    width: 100%; 
    height: 42px; 
    display: flex; 
    align-items: center; 
    position: relative; 
}

.db-range-labels { 
    position: absolute; 
    bottom: -20px; 
    left: 0; 
    width: 100%; 
    display: flex; 
    justify-content: space-between; 
    font-size: 0.75em; 
    color: #888; 
}

input[type=range].db-range-input { 
    -webkit-appearance: none; 
    width: 100%; 
    background: transparent; 
    margin: 0; 
    padding: 0;
    border: none;
}
input[type=range].db-range-input:focus { outline: none; }

/* Slider Track */
input[type=range].db-range-input::-webkit-slider-runnable-track { 
    width: 100%; 
    height: 8px; 
    cursor: pointer; 
    background: #e0e0e0; 
    border-radius: 2px; 
    border: 1px solid #dcdcdc; 
}
input[type=range].db-range-input::-moz-range-track { 
    width: 100%; 
    height: 8px; 
    cursor: pointer; 
    background: #e0e0e0; 
    border-radius: 2px; 
    border: 1px solid #dcdcdc; 
}

/* Slider Thumb */
input[type=range].db-range-input::-webkit-slider-thumb { 
    height: 24px; 
    width: 24px; 
    border-radius: 50%; 
    background: #067360; 
    cursor: pointer; 
    -webkit-appearance: none; 
    margin-top: -9px; 
    box-shadow: 0 1px 3px rgba(0,0,0,0.3); 
    border: 2px solid #fff; 
}
input[type=range].db-range-input::-moz-range-thumb { 
    height: 24px; 
    width: 24px; 
    border: 2px solid #fff; 
    border-radius: 50%; 
    background: #067360; 
    cursor: pointer; 
    box-shadow: 0 1px 3px rgba(0,0,0,0.3); 
}

/* --- Results Grid & Cards --- */
.db-grid { 
    display: grid; 
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); 
    gap: 30px; 
}

.db-card { 
    border: 1px solid #eaeaea; 
    background: #fff; 
    border-radius: 2px; 
    padding: 25px; 
    display: flex; 
    flex-direction: column; 
    transition: transform 0.2s ease, box-shadow 0.2s ease; 
}

.db-card:hover { 
    transform: translateY(-4px); 
    box-shadow: 0 10px 20px rgba(0,0,0,0.08); 
    border-color: #ddd; 
}

.db-type-badge { 
    display: inline-block; 
    background: #f0f0f0; 
    color: #333; 
    padding: 4px 8px; 
    border-radius: 3px; 
    font-size: 0.75em; 
    font-weight: 600; 
    text-transform: uppercase; 
    margin-bottom: 15px; 
    align-self: flex-start; 
}

.db-card h3 { margin: 0 0 15px 0; }
.db-card h3 a { text-decoration: none; color: inherit; }

/* --- Card Metadata --- */
.db-meta-wrapper {
    margin-bottom: 20px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f5f5f5;
}

.db-meta-grid { 
    display: grid; 
    grid-template-columns: 1fr 1fr;
    gap: 12px; 
    font-size: 0.9em; 
    color: #555; 
}

.db-meta-full-row {
    margin-top: 12px;
    font-size: 0.9em;
    color: #555;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
}

.db-meta-item { 
    display: flex; 
    align-items: center; 
    gap: 8px; 
}

.db-icon { 
    width: 16px; 
    height: 16px; 
    fill: #888; 
    flex-shrink: 0; 
    position: relative;
}

.db-excerpt { 
    font-size: 0.95em; 
    line-height: 1.6; 
    color: #666; 
    margin-bottom: 20px; 
    flex-grow: 1; 
}

.db-btn { 
    display: inline-flex; 
    align-items: center; 
    justify-content: center; 
    text-decoration: none; 
    background: #fff; 
    color: #067360; 
    border: 1px solid #067360; 
    padding: 10px 20px; 
    border-radius: 2px; 
    font-size: 0.9em; 
    font-weight: 500; 
    transition: all 0.2s; 
}

.db-btn:hover { 
    background: #00a451; 
    color: #fff; 
}

/* --- Pagination wrap --- */
.db-pagination { 
    margin-top: 50px; 
    text-align: center; 
}

/* Target wrapped WP classes */
.db-pagination .page-numbers {
    font-size: 0.9rem;
    padding: 2px 10px; 
    border: 1px solid #ddd; 
    margin: 0 2px; 
    text-decoration: none;
    color: #333; 
    cursor: pointer; 
    display: inline-block;
}

.db-pagination .current { 
    background: #067360; 
    color: #fff; 
    border-color: #067360; 
}

.db-is-loading { 
    opacity: 0.5; 
    pointer-events: none; 
}
/* Programmes database styling --> */
