/*** ---------- Cards ----------  ***/
.wpb-card { --br: 1rem; --p: 2rem; border-radius: var(--br); border: 1px solid var(--clr-border); background-color: #fff; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; position: relative; text-decoration: none; }
.wpb-card a { text-decoration: none; }
.wpb-card .wpb-card__header { display: flex; overflow: hidden; }
.wpb-card .wpb-card__header img { width: 100%; height: auto; } 
.wpb-card .wpb-card__body { padding: var(--p); -webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1; }
.wpb-card .wpb-card__footer  { padding: var(--p); padding-top: 0; }
.wpb-card > *:first-child { border-top-left-radius: var(--br); border-top-right-radius: var(--br); }
.wpb-card > *:first-child img { border-top-left-radius: var(--br); border-top-right-radius: var(--br); } 
.wpb-card > *:last-child { border-bottom-left-radius: var(--br); border-bottom-right-radius: var(--br); }

.wpb-card.wpb-card__search-result .wpb-card__header img { aspect-ratio: 16/9; object-fit: cover; }
.wpb-card.wpb-card__search-result .wpb-card__footer { display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 1.6rem; }

.toggle-bookmark { display: grid; padding: 1.2rem; place-items: center; border-radius: var(--br); border-color: transparent; overflow: clip; cursor: pointer; }
.toggle-bookmark i { pointer-events: none; }
.toggle-bookmark i.fa-solid { display: none; }
.toggle-bookmark[data-bookmarked="true"] i.fa-regular { display: none; }
.toggle-bookmark[data-bookmarked="true"] i.fa-solid { display: block; }

.wpb-card.wpb-card--contact-info { --p: 4rem 2rem 3.2rem 2rem; background-color: var(--clr-dark-80); color: #fff; border: none; border-radius: 0 0 var(--br) var(--br);}
.wpb-card.wpb-card--contact-info .logo { display: block; margin-bottom: 2.4rem; }
.wpb-card.wpb-card--contact-info a { color: #fff; }
.wpb-card.wpb-card--contact-info .wpb-icon { --clr: #fff; }

@media(min-width: 768px) {
    .wpb-card.wpb-card--contact-info { border-radius: var(--br) ; }
}


/* ------------------ card locations ------------------ */
.wpb-card--location {--gap: 1.6rem; --p: 2rem; --h: 16rem;}
.wpb-card--location { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; gap: var(--gap); padding: var(--p); height: var(--h); color: var(--clr-light);}
.wpb-card--location .wpb-card__header { margin-left: auto; z-index: 2;}
.wpb-card--location .wpb-card__header .card-icon { color: var(--clr-light);}
.wpb-card--location .wpb-card__body { padding: 0; z-index: 1; flex-grow: 0;}
.wpb-card--location .wpb-card__body .card-title { font-family: var(--font-heading); font-size: clamp(1.6rem, 2vw, 2.8rem); text-transform: capitalize;}
.wpb-card--location .wpb-card__body .card-image { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: -1; }


/* ------------------ Single article ------------------ */
.wpb-card.wpb-card--article .excerpt { --excerpt-line-clamp: 2; display: -webkit-box; -webkit-line-clamp: var(--excerpt-line-clamp); -webkit-box-orient: vertical; overflow: hidden; }
.wpb-card.wpb-card--article .wpb-card__title { font-size: clamp(2rem, 3vw, 2.4rem); line-height: 1; margin-bottom: .8rem; font-weight: bold; font-family: var(--font-heading);}
.wpb-card.wpb-card--article .toggle-bookmark {--size: 4rem; width: var(--size); height: var(--size); position: absolute; top: 1.6rem; right: 1.6rem; z-index: 1; border-radius: 4rem; border: 1px solid var(--clr-border); background-color: transparent; color: var(--clr-primary); cursor: pointer; transition: all 0.2s ease-in-out;}
.wpb-card.wpb-card--article .toggle-bookmark:hover { background-color: var(--clr-primary); color: var(--clr-secondary); }