/*
==================================================================
Theme Name: Encarni Fernández
Version: 1.0
Author: Neobrand®
Author URI: https://neobrand.com
==================================================================
*/

@import url('css/config.css');

/* General */

html,body {
	font-family: 'Open Sans', sans-serif;
	line-height: 1.4;
	color: var(--black);
	font-size: var(--size-400);
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body figure {
	margin: 0;
}

h1,h2,h3,h4,h5 {
	width: 100%;
	margin: 0;
}

p,li {
	width: 100%;
	margin: 0;
	line-height: 1.4;
}

a {
	color: var(--black);
	text-decoration: none;
	transition: all 280ms ease;
}

.angle {
	width: fit-content;
	padding-block: 5px;
	padding-right: 3px;
	font-weight: var(--weight-700);
	display: flex;
	align-items: center;
	gap: 10px;
}

.angle span {
	opacity: 0;
	transform: translateX(5px);
	transition: all 280ms ease;
}

.angle:hover span,
.angle-parent:hover .angle span {
	opacity: 1;
	transform: none;
}

.angle::after {
	content: '';
	width: 12px;
	height: 12px;
	border-top: 3px solid currentcolor;
	border-right: 3px solid currentcolor;
	transform: rotate(45deg);
}

/* Header */

#header {
	height: 85px;
}

#header #logo {
	width: 200px;
}

#header nav a.parent {
	cursor: default;
}

#header nav a::after {
	content: '';
	width: 0;
	height: 1px;
	background-color: #fff;
	transform: translateY(15px);
	transition: all 280ms ease;
	position: absolute;
	left: 50%;
}

#header nav a#appointment::after {
	display: none;
}

#header nav .submenu a::after {
	transform: translateY(25px);
}

#header nav a:hover::after,
#header nav a.current::after {
	width: 100%;
	left: 0;
}

#header nav .panel:hover {
	background-color: #449eb6;
}

#header nav .submenu {
	transform: translateY(calc(100% + 20px));
	pointer-events: none;
	opacity: 0;
	transition: all 280ms ease;
	bottom: 0;
}

#header nav .submenu::after {
	content: '';
	width: 85%;
	height: 5px;
	position: absolute;
	top: -5px;
	left: 0;
}

#header nav .submenu.active {
	transform: translateY(calc(100% + 5px));
	opacity: 1;
	pointer-events: all;
}

#header #appointment i {
 	width: 25px;
 	height: 24px;
 	background-image: url('images/appointment.svg');
 	background-size: cover;
}

#header #mobile {
	display: none;
}

#header #mobile a {
	width: 40px;
	height: 40px;
} 

#header #mobile a i {
	transition: all 280ms ease;
}

#header #mobile a .fa-times,
#header #mobile a.active i:not(.fa-times) {
	opacity: 0;
	transform: scale(0);
}

#header #mobile a.active .fa-times {
	opacity: 1;
	transform: scale(1);
}

#booking-form {
	background-color: rgb(0 0 0 / 15%);
	pointer-events: none;
	opacity: 0;
	transition: all 560ms ease 320ms;
	backdrop-filter: blur(30px);
}

#booking-form.active {
	opacity: 1;
	pointer-events: all;
	transition-delay: 0ms;
}

#booking-form > div {
	width: 100%;
	max-width: 800px;
	padding: 50px;
	border-radius: 35px 35px 0 35px;
	background-color: #fff;
	transform: translateY(30px);
	opacity: 0;
	transition: all 320ms ease;
	position: relative;
}

#booking-form.active > div {
	transform: translateY(0);
	opacity: 1;
	transition-delay: 320ms;
}

#booking-form .close {
	width: 30px;
	height: 30px;
	color: #999;
	cursor: pointer;
	top: 20px;
	right: 20px;
}

#booking-form .close:hover {
	color: var(--black);
}

#booking-form .close::before,
#booking-form .close::after {
	content: '';
	width: 80%;
	height: 2px;
	background-color: currentcolor;
	transition: all 280ms ease;
	position: absolute;
}

#booking-form .close::before {
	transform: rotate(45deg);
}

#booking-form .close::after {
	transform: rotate(-45deg);
}

#booking-form input[name="your-name"],
#booking-form input[name="your-phone"],
#booking-form input[name="your-email"],
#booking-form select[name="your-type"] {
	width: 100%;
	height: 45px;
	padding-left: 15px;
	font-size: var(--size-300);
	border: 2px solid #eaeaea;
}

#booking-form select[name="your-type"] {
	appearance: none;
	cursor: pointer;
	background: #fff url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%234444%22%2F%3E%3C%2Fsvg%3E') no-repeat right 15px top 55%;
}

#booking-form input.wpcf7-not-valid {
	border-color: #ff5722;
}

#booking-form [readonly=readonly] {
	display: none;
}

#booking-form .flatpickr-calendar {
	border: 2px solid #eaeaea;
	border-radius: 0;
	box-shadow: 0 0 0 transparent;
}

#booking-form .flatpickr-calendar .flatpickr-day.selected {
	background: var(--main);
	border-color: var(--main);
}

#booking-form .wpcf7-acceptance {
	display: flex;
}

#booking-form .wpcf7-acceptance label {
	font-size: 14px;
	font-weight: 400;
	color: var(--black);
	display: flex;
	align-items: center;
	cursor: pointer;
	float: left;
	position: relative;
}

#booking-form .wpcf7-acceptance label input {
	width: 18px;
	height: 18px;
	opacity: 0;
	cursor: pointer;
	position: absolute;
}

#booking-form .wpcf7-acceptance label::before {
	content: '';
	min-width: 16px;
	max-width: 16px;
	height: 16px;
	margin-right: 10px;
	border: 2px solid #eaeaea;
	float: left;
}

#booking-form .wpcf7-acceptance label::after {
	content: '';
	width: 12px;
	height: 12px;
	background-color: var(--main);
	transform: scale(0);
	transition: all 280ms ease;
	position: absolute;
	left: 4px;
}

#booking-form .wpcf7-acceptance label.active::after {
	transform: scale(1);
}

#booking-form [type="submit"] {
	height: 40px;
	padding-inline: 20px;
	border: 0;
	border-radius: 50vw;
	font-weight: 700;
	color: #fff;
	background-color: var(--main);
	cursor: pointer;
}

#booking-form [type="submit"]:disabled {
	opacity: 0.5;
	filter: grayscale(1);
	cursor: not-allowed;
	transition: all 280ms ease;
}

#booking-form .wpcf7-list-item {
	margin-left: 0;
}

#booking-form .wpcf7-not-valid-tip {
	display: none;
}

#booking-form .wpcf7-response-output {
	padding: 10px 0 0 0;
	margin: 20px 0 0 0;
	border-right: 0;
	border-bottom: 0;
	border-left: 0;
	text-align: center;
}

/* Main */

#hero {
	height: 50vh;
	min-height: 500px;
}

.home #hero {
	height: 100vh;
	min-height: 1080px;
}

.regular #hero {
	height: auto;
	min-height: 200px;
}

#modality article figure {
	height: 250px;
	background-color: #f2f2f2;
}

#modality article > div {
	height: calc(100% - 250px);
}

#therapies article figure {
	width: 50px;
	height: 50px;
}

.therapy article #hero {
	margin-bottom: calc(var(--space-120) * -1);
}

.therapy article nav {
	top: 85px;
}

.therapy article nav mark {
	top: 15px;
	bottom: 15px;
	pointer-events: none;
}

.about #intro figure {
	order: 2;
} 

.about #highlights figure {
	max-height: 100px;
}

.about #highlights figure img {
	width: auto;
}

.about #highlights num {
	font-size: 60px;
}

.about #highlights p {
	line-height: 1.1;
}

/* Content */

.content h3 {
	font-size: var(--size-600);
	font-weight: var(--weight-700);
}

.content p,
.content li {
	font-size: var(--size-500);
	line-height: 1.6;
}

.content ul,
.content ol {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.content ul ul {
	margin-top: 20px;
	padding-left: 20px;
}

.content ul li {
	list-style: disc;
	list-style-position: inside;
}

/* Footer */

#footer .logo {
	width: 220px;
}

#footer .legal a:not(:last-child)::after {
	content: '';
	width: 2px;
	height: 2px;
	background-color: var(--black);
}

#footer .kd {
	width: 320px;
}


/*COOKIES */

.cmplz-cookiebanner .cmplz-links ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	gap: var(--cmplz_banner_margin);
	justify-content: center;
	width: 100%;
}
/* Misc */

.border-radius {
	border-radius: 35px 35px 0 35px;
}
.border-radius-top {
	border-radius: 0 35px 35px 35px;
}

.edit-post {
	bottom: 10px;
	left: 10px;
}