.elementor-widget a {
    color: inherit;
}
.custom-link li a {
    flex-direction: row-reverse;
}
.x-clip {
	overflow-x: clip;
}
.hfe-nav-menu__layout-horizontal .hfe-nav-menu {
	flex-wrap: nowrap;
}
.button {
    max-width: fit-content;
    color: #fff;
    background-color: var( --e-global-color-primary );
    font-size: 20px;
    font-weight: 700;
    padding: 10px 24px;
    border: none;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.24);
}
.button:hover {
    background-color: var( --e-global-color-secondary );
}

/* Posts */
.latest-posts {
	display: grid;
	grid-template-columns: 1fr;
    gap: 16px;
}

.post-item {
    background-color: var( --e-global-color-text );
    padding: 20px;
    border-radius: 10px;
	position: relative;
}
.post-item:hover .post-title {
    color: var( --e-global-color-primary );
}
.post-thumb {
	display: flex;
}
.latest-posts .post-thumb img {
	width: 100%;
    max-height: 100%;
    border-radius: 10px;
    aspect-ratio: 1/1;
    object-fit: cover;
}
.content-wrap p {
    color: var( --e-global-color-secondary );
	margin-bottom: 0;
}
.post-title {
    color: var( --e-global-color-secondary );
    font-size: 20px;
    font-weight: 600;
    margin-top: 16px;
    margin-bottom: 8px;
}
.blog .page-content a {
    text-decoration: none;
}

/* Forms */
.wpcf7 .red {
    color: #FF0000;
}
.form-wrapper > p {
    display: grid;
}
.contact-form .wpcf7 label {
    font-size: 18px;
}
.contact-form .wpcf7 input[type="text"],
.contact-form .wpcf7 input[type="email"],
.contact-form .wpcf7 input[type="tel"],
.contact-form textarea {
    width: 100%;
	background-color: transparent;
	border: 1px solid var( --e-global-color-accent );
    border-radius: 8px;
    box-shadow: 0 1px 2px 0 rgba(16,24,40,0.05);
    margin-top: 10px;
    min-height: 50px;
}
.wpcf7-spinner:empty {
    display: none;
}
.contact-form .button {
    margin: 0 auto;
}
.wpcf7 .subscribe-box {
	display: flex;
    gap: 16px;
}

.wpcf7 .subscribe-box input[type="email"] {
    min-height: 46px;
	border: none;
	border-radius: 0;
}
.subscribe-box .button {
    border: 1px solid #fff;
    box-shadow: none;
	border-radius: 0;
    padding: 7px 24px;
}
.subscribe-box .button:hover {
    border: 1px solid #000;
}

select {
    width: 100%;
    border: 1px solid var(--e-global-color-accent);
    border-radius: 8px;
    min-height: 50px;
    padding: 0 12px;
    font-size: 16px;
    color: var(--e-global-color-secondary);
    box-shadow: 0 1px 2px rgba(16,24,40,0.05);
}

/* Appointment form */
.wpcf7-form-control-wrap[data-name="appointment-time"] {
    margin-bottom: 24px;
}
.wpcf7-form-control-wrap[data-name="appointment-time"] + br {
    display: none;
}

/* Single page */
.single-hero-section {
	background-color: #000;
	padding-inline: 20px;
	padding-block: 60px;
	color: #fff;
}
.hero-inner {
	max-width: 1200px;
	margin-inline: auto;
	display: grid;
	text-align: center;
}
.site-main {
	padding-block: 80px;
}
article .post-content h2,
article .post-content h3,
article .post-content h4 {
	margin-top: 40px;
}
.pagination a {
	color: var( --e-global-color-primary );
}

/* Responsiveness */
@media screen and (min-width: 420px) {
    .latest-posts {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (min-width: 1024px) {
    .latest-posts {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media screen and (min-width: 1200px) {
	.blog #content.site-main {
		max-width: 1200px;
	}
}
@media screen and (max-width: 1025px) {
    .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
		flex-wrap: wrap;
	}
}
