/*
Theme Name:   Alvaro Prieto
Description:  Custom child theme for twentytwentyfour
Author:       Marta Torre
Author URI:   https://martatorre.dev
Template:     twentytwentyfour
Version:      1.0.
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/

/*
	STRUCTURE:
	0. Reset/Normalize
	1. Global custom properties
	2. Global and inherited styles
	3. Composition / Layout primitives
	4. Utility classes
	5. Blocks
	6. Exceptions
*/

/* ============ 0. RESET/NORMALIZE ============ */

/* Document
======================================== */

/**
 * 1. Use border box sizing by default, globally (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */

*,
*::before,
*::after {
	box-sizing: border-box;
	background-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

/*
1. Prevent WebKit-based browsers on iOS (all iOS browsers) from automatically increasing the default text size in landscape orientation. Reference:
- https://kilianvalkhof.com/2022/css-html/your-css-reset-needs-text-size-adjust-probably/
- https://css-tricks.com/your-css-reset-needs-text-size-adjust-probably/
*/

html {
	-webkit-text-size-adjust: none;
	/* 1 */
}

/* ============ 1. GLOBAL CUSTOM PROPERTIES ============ */

:root {
	/* Spacing */

	/*
	 *  Viewports from design in Figma:
	 *  Mobile:  max. 1023px
	 *  Tablet:  1024–1440px
	 *  Desktop: min. 1441px
	 *
	 *  Responsive Design Approach: Mobile-First
	 */

	/* @link https://utopia.fyi/clamp/calculator?a=415,1440,8—32|12—24|14—26|16—8|16—20|16—40|20—64|32—40|40—56|40—64|40—80|56—80|56—120|64—120|80—120|80—140|80—180|80—220|150—235|212—254 */
	--fluid-8-32: clamp(0.5rem, -0.1073rem + 2.3415vw, 2rem);
	--fluid-12-24: clamp(0.75rem, 0.4463rem + 1.1707vw, 1.5rem);
	--fluid-14-26: clamp(0.875rem, 0.5713rem + 1.1707vw, 1.625rem);
	--fluid-16-8: clamp(0.5rem, 1.2024rem + -0.7805vw, 1rem);
	--fluid-16-20: clamp(1rem, 0.8988rem + 0.3902vw, 1.25rem);
	--fluid-16-40: clamp(1rem, 0.3927rem + 2.3415vw, 2.5rem);
	--fluid-20-64: clamp(1.25rem, 0.1366rem + 4.2927vw, 4rem);
	--fluid-32-40: clamp(2rem, 1.7976rem + 0.7805vw, 2.5rem);
	--fluid-40-56: clamp(2.5rem, 2.0951rem + 1.561vw, 3.5rem);
	--fluid-40-64: clamp(2.5rem, 1.8927rem + 2.3415vw, 4rem);
	--fluid-40-80: clamp(2.5rem, 1.4878rem + 3.9024vw, 5rem);
	--fluid-56-80: clamp(3.5rem, 2.8927rem + 2.3415vw, 5rem);
	--fluid-56-120: clamp(3.5rem, 1.8805rem + 6.2439vw, 7.5rem);
	--fluid-64-120: clamp(4rem, 2.5829rem + 5.4634vw, 7.5rem);
	--fluid-80-120: clamp(5rem, 3.9878rem + 3.9024vw, 7.5rem);
	--fluid-80-140: clamp(5rem, 3.4817rem + 5.8537vw, 8.75rem);
	--fluid-80-180: clamp(5rem, 2.4695rem + 9.7561vw, 11.25rem);
	--fluid-80-220: clamp(5rem, 1.4573rem + 13.6585vw, 13.75rem);
	--fluid-150-235: clamp(9.375rem, 7.2241rem + 8.2927vw, 14.6875rem);
	--fluid-212-254: clamp(13.25rem, 12.1872rem + 4.0976vw, 15.875rem);

	/* @link https://utopia.fyi/clamp/calculator?a=415,1024,14—60 */
	--fluid-14-60: clamp(14px, -17.3465px + 7.5534vw, 60px);

	/* @link https://utopia.fyi/clamp/calculator?a=415,1440,20—0&p=footer-inline-padding */
	--footer-inline-padding-20-0: clamp(0px, 28.0976px + -1.9512vw, 20px);

	/* Page: Home */
	/* @link https://utopia.fyi/clamp/calculator?a=415,1440,41—105|88—156|96—150|372—646|15—111 */
	--fluid-15-111: clamp(15px, -23.8683px + 9.3659vw, 111px);
	--fluid-41-105: clamp(41px, 15.0878px + 6.2439vw, 105px);
	--fluid-88-156: clamp(88px, 60.4683px + 6.6341vw, 156px);
	--fluid-96-150: clamp(96px, 74.1366px + 5.2683vw, 150px);
	--fluid-372-646: clamp(372px, 261.0634px + 26.7317vw, 646px);

	/* @link https://utopia.fyi/clamp/calculator?a=375,1140,40—60 */
	--fluid-40-60: clamp(40px, 30.1961px + 2.6144vw, 60px);

	/* Sizes */
	--max-header-content-height: 48px;

	/* Z-Indexes */
	--z-index-site-header: 1;
}

/* ============ 2. GLOBAL AND INHERITED STYLES ============ */

/* All elements
   ======================================== */

/* Sections and headings
   ======================================== */

body {
	--wp--style--root--padding-left: 20px !important;
	--wp--style--root--padding-right: 20px !important;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

@media (min-width: 1440px) {
	body {
		--wp--style--root--padding-left: 64px !important;
		--wp--style--root--padding-right: 64px !important;
	}
}

footer .footer-navs-wrapper>*+* {
	margin-block-start: var(--fluid-16-8);
	margin-block-end: 0;
}

footer .wp-block-navigation {
	column-gap: 16px;
	row-gap: 8px;
}

/* Grouping content
   ======================================== */

/* Text-level semantics
   ======================================== */

a,
b,
strong {
	font-weight: 500;
}

/* Embedded content
   ======================================== */
/*
1. Block display is usually what we want.
2. Responsive by default.
3. The `vertical-align` removes strange space-below in case authors overwrite the `display` value.
*/

img,
svg,
video,
canvas,
audio,
iframe,
embed,
object {
	display: block;
	/* 1 */
	max-inline-size: 100%;
	/* 2 */
	vertical-align: middle;
	/* 3 */
}

/*
Maintain intrinsic aspect ratios when `max-inline-size` is applied (`iframe`, `embed, and `object` are also embedded, but have no intrinsic ratio, so their `block-size` needs to be set explicitly).
*/

img,
svg,
video,
canvas {
	block-size: auto;
}

/* Tabular data
   ======================================== */

/* Forms
   ======================================== */
/*
1. Remove the margin on controls in all browsers.
2. Add typography inheritance.
*/

button,
input,
select,
textarea {
	margin: 0;
	/* 1 */
	font: inherit;
	/* 2 */
	letter-spacing: inherit;
	/* 2 */
	word-spacing: inherit;
	/* 2 */
	color: inherit;
}

/*
Correct the inability to style buttons in iOS and Safari.
*/

button,
[type="button" i],
[type="reset" i],
[type="submit" i] {
	/* stylelint-disable-next-line property-no-vendor-prefix -- Intended. */
	-webkit-appearance: button;
}

/*
Correct the odd appearance in Chrome, Edge, and Safari.
*/

[type="search" i] {
	/* stylelint-disable-next-line property-no-vendor-prefix -- Intended. */
	-webkit-appearance: textfield;
}

/*
Correct the text style of placeholders in Chrome, Edge, and Safari.
*/
/* stylelint-disable-next-line selector-no-vendor-prefix -- Intended. */
::-webkit-input-placeholder {
	color: inherit;
	opacity: 0.54;
}

/*
1. Change font properties to `inherit` in Safari.
2. Correct the inability to style upload buttons in iOS and Safari.
*/

::-webkit-file-upload-button {
	font: inherit;
	/* 1 */
	/* stylelint-disable-next-line property-no-vendor-prefix -- Intended. */
	-webkit-appearance: button;
	/* 2 */
}

/*
1. Remove the margin.
2. Change the border appearance.
*/

fieldset {
	margin-inline: 0;
	/* 1 */
	border-color: currentcolor;
	/* 2 */
	border-style: solid;
	/* 2 */
}

/*
The default `normal` line-height is tightly spaced, but takes font-metrics into account, which is important for many fonts. Looser spacing may improve readability in latin type, but may cause problems in some scripts -- from cursive/fantasy fonts to Javanese, Persian, and CJK languages.
*/

label,
legend {
	line-height: 1.375;
}

/*
Responsive by default by restricting sizing to the page width.
*/

input,
select,
textarea {
	max-inline-size: 100%;
}

/*
Set `vertical-align` to middle.
*/

[type="color" i],
[type="range" i] {
	vertical-align: middle;
}

/*
Maintain `hidden` behavior when overriding `display` values.
*/

[hidden] {
	display: none;
}

/*
Change the cursor on busy elements.
*/

[aria-busy="true" i] {
	cursor: progress;
}

/*
Change the cursor on disabled, not-editable, or otherwise inoperable elements.
*/

[disabled],
[aria-disabled="true" i] {
	cursor: not-allowed;
}

/*
Change the display on visually hidden accessible elements.
*/

[aria-hidden="false" i][hidden] {
	display: initial;
}

[aria-hidden="false" i][hidden]:not(:focus) {
	/* Visually hidden styles */
	position: absolute !important;
	inline-size: 1px !important;
	block-size: 1px !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

::placeholder {
	opacity: 1;
}

input:focus::-webkit-input-placeholder {
	color: inherit;
}

/* Interactive elements
   ======================================== */

/* Scripting
   ======================================== */

/* ============ 3. COMPOSITION / LAYOUT PRIMITIVES ============ */

/* Cluster */

.layout-cluster {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space, 1em);
	justify-content: flex-start;
	align-items: center;
}

/* ============ 4. UTILITY CLASSES ============ */

/* Standard
   ======================================== */

.bg-custom-image {
	background-image: url("/wp-content/uploads/2024/05/footer-pc.jpg");
	background-size: cover;
	color: var(--wp--preset--color--base);
}

.sin-borde {
	border: none !important;
	padding-left: 0;
}

.w-868 {
	align-items: center;
	justify-content: center;
}

/* Design Tokens: Layout
   ======================================== */

/* Display */

.hidden {
	display: none !important;
}

@media (max-width: 1439px) {
	.desactivado {
		display: none;
	}
}

/* Position */

.p-absolute {
	position: absolute;
}

.p-relative {
	position: relative;
}

/* Design Tokens: Flexbox & Grid
   ======================================== */

/* Justify Content */

.justify-content-end {
	justify-content: flex-end;
}

/* Design Tokens: Spacing
   ======================================== */

/* Padding */

/* Margin */

.mt-4 {
	margin-block-start: 0.25rem;
}

.mt-8 {
	margin-block-start: 0.5rem;
}

.mt-10 {
	margin-block-start: 0.625rem;
}

.mt-12 {
	margin-block-start: 0.75rem;
}

.mt-14 {
	margin-block-start: 0.875rem;
}

.mt-16 {
	margin-block-start: 1rem;
}

.mt-20 {
	margin-block-start: 1.25rem;
}

.mt-24 {
	margin-block-start: 1.5rem;
}

.mt-32 {
	margin-block-start: 2rem;
}

.mt-40 {
	margin-block-start: 2.5rem;
}

.mt-64 {
	margin-block-start: 4rem;
}

.mt-80 {
	margin-block-start: 5rem;
}

/* Space Between */

/* Design Tokens: Sizing
   ======================================== */

/* Max Width */

.w-424 {
	max-width: min(100%, 424px);
}

/* Design Tokens: Typography
   ======================================== */

/* Font Size */

.xs,
.xs a {
	font-size: 14px !important;
	line-height: 16px !important;
}

.xl,
.xl a {
	font-size: 24px !important;
	line-height: 34px !important;
}

/* Text Color */

.color-inherit {
	color: inherit;
}

/* Design Tokens: Backgrounds
   ======================================== */

/* Design Tokens: Borders
   ======================================== */

/* Mobile */

@media (max-width: 1023px) {
	.m-2xl {
		font-size: 32px;
		line-height: 1.25;
	}

	.m-mb-80 {
		margin-bottom: 80px !important;
	}

	.m-center {
		justify-content: center !important;
		text-align: center !important;
	}
}

/* ============ 5. BLOCKS ============ */

/* Site Header
   ======================================== */

.site-header {
	position: sticky;
	top: 0;
	z-index: var(--z-index-site-header);
	background-color: var(--wp--preset--color--base);
}

/* Fix for custom PHP template pages where WordPress dynamic layout styles don't apply */
body:has(.alicante-custom-page) .site-header {
	padding-left: var(--wp--preset--spacing--fluid-20-64, 20px) !important;
	padding-right: var(--wp--preset--spacing--fluid-20-64, 20px) !important;
}

.alicante-custom-page~.site-footer {
	width: 100%;
	max-width: none !important;
}

/* Force Gap in Footer for Custom Page (WordPress css vars might be missing) */
.alicante-custom-page~.site-footer .is-layout-flex {
	gap: 2rem;
	/* Fallback for missing var(--wp--style--block-gap) */
	display: flex;
	flex-wrap: wrap;
}

/* Widen the bottom columns container (Logos + Address) AND the Legal bottom section */
.alicante-custom-page~.site-footer .wp-block-columns,
.alicante-custom-page~.site-footer .legales {
	max-width: var(--wp--style--global--wide-size, 1200px) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100%;
}

/* Ensure the legal section behaves like a centered container */
.alicante-custom-page~.site-footer .legales {
	display: flex;
	justify-content: space-between;
	box-sizing: border-box;
}

.alicante-custom-page~.site-footer .is-vertical {
	flex-direction: column;
	row-gap: 2rem;
}

/* Reduce spacing for address/contact lines - TIGHTER */
.alicante-custom-page~.site-footer .footer-navs-wrapper>* {
	margin-bottom: 0.5rem !important;
	line-height: 1.3 !important;
}

/* Separate the Contact Button from the text */
.alicante-custom-page~.site-footer .wp-block-buttons {
	margin-top: 2rem !important;
	gap: 1.5rem;
}

/* Ensure footer template parts have zero padding to allow full-width backgrounds */
footer.site-footer.wp-block-template-part,
footer.wp-block-template-part {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Apply padding to footer content containers that need it - override inline styles */
footer .wp-block-group.has-global-padding {
	padding-left: var(--wp--preset--spacing--fluid-20-64, 20px) !important;
	padding-right: var(--wp--preset--spacing--fluid-20-64, 20px) !important;
}

body:has(.alicante-custom-page) .site-header>.wp-block-group {
	padding-top: var(--wp--preset--spacing--fluid-16-40, 34px);
	padding-bottom: var(--wp--preset--spacing--fluid-16-20, 19px);
}

body:has(.alicante-custom-page) .site-header .wp-block-group.is-layout-flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 8px;
}

body:has(.alicante-custom-page) .site-header .wp-block-group.is-content-justification-space-between {
	justify-content: space-between;
}

body:has(.alicante-custom-page) .site-header .wp-block-navigation.is-layout-flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--wp--preset--spacing--fluid-8-32, 24px);
}

body:has(.alicante-custom-page) .site-header .wp-block-navigation__container {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: var(--wp--preset--spacing--fluid-8-32, 24px);
}

/* WordPress Block Layout Fixes for PHP Templates */
.alicante-custom-page .is-layout-constrained> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: var(--wp--style--global--content-size);
	margin-left: auto !important;
	margin-right: auto !important;
}

.alicante-custom-page .is-layout-constrained>.alignwide {
	max-width: var(--wp--style--global--wide-size);
}

.site-footer .wp-block-group {
	box-sizing: border-box;
}

.site-header [class*="site-logo"] img {
	max-height: var(--max-header-content-height);
	object-fit: cover;
}

/* Site Header: Buttons–Links
   ======================================== */

.site-header.bg-custom-image:is(.wp-element-button, .wp-block-button__link):hover {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
}

@media (max-width: 1023px) {
	.boton-llamar .button-text {
		display: none;
	}

	.boton-llamar a {
		padding: calc((var(--button-size) - var(--icon-height)) / 2);
		width: var(--button-size);
	}

	.wp-block-navigation__responsive-container-close {
		position: fixed;
		top: var(--wp--preset--spacing--fluid-16-40);
		right: calc(8px + var(--button-size) + var(--wp--style--root--padding-right));
	}
}

@media (min-width: 1024px) {
	.boton-llamar :is(img, svg, .icon) {
		display: none;
	}

	.boton-llamar .button-text {
		display: revert;
	}

	.wp-block-navigation__responsive-container-close {
		position: fixed;
		top: var(--wp--preset--spacing--fluid-16-40);
		right: calc(24px + 83.55px + var(--wp--style--root--padding-right));
	}
}

/* Site Navigation
   ======================================== */

@media (max-width: 1439px) {
	.site-navigation--not-collapsed {
		display: none !important;
	}
}

@media (min-width: 1440px) {
	.site-navigation--collapsed {
		display: none !important;
	}
}

/* Navigation Items */

.wp-block-navigation-item:hover> :is(a, button) {
	color: var(--wp--preset--color--primary) !important;
}

/* Submenu Icon */

.wp-block-navigation .wp-block-navigation__submenu-icon {
	/* Override default styles */
	height: 1em;
	width: 1em;
	margin-left: 0;
}

.wp-block-navigation .wp-block-navigation__submenu-icon[aria-expanded="true"] {
	transform: rotate(180deg);
}

.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
	/* Override default styles */
	margin-top: 0;
}

/* Site Navigation (not collapsed)
   ======================================== */

@media (min-width: 1440px) {
	/* Submenu Icon */

	.wp-block-navigation ul li.wp-block-navigation-submenu> :first-child {
		/* Gap between text and icon */
		padding-right: 4px;
	}

	/* Submenu Container */

	.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"]~.wp-block-navigation__submenu-container,
	.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container,
	.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
		--submenu-padding: 20px;
		--submenu-gap: 12px;
		padding-inline: var(--submenu-padding);
		padding-block: var(--wp--preset--font-size--xs, 1rem);
	}

	.site-navigation--not-collapsed.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"]~.wp-block-navigation__submenu-container,
	.site-navigation--not-collapsed.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container,
	.site-navigation--not-collapsed.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
		left: calc(-1 * var(--submenu-padding));
		min-width: 306px;
		border: none;
		border-top: var(--submenu-gap) solid var(--wp--preset--color--base);
	}

	/* Different colors at Contact page */
	.site-header.bg-custom-image .site-navigation--not-collapsed.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"]~.wp-block-navigation__submenu-container,
	.site-header.bg-custom-image .site-navigation--not-collapsed.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container,
	.site-header.bg-custom-image .site-navigation--not-collapsed.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
		background-color: var(--wp--preset--color--base) !important;
		color: var(--wp--preset--color--contrast) !important;
		border-top-color: var(--wp--preset--color--contrast);
	}

	/* Submenu Child Items */

	.site-navigation--not-collapsed.wp-block-navigation .has-child .wp-block-navigation__submenu-container>*+* {
		margin-block-start: var(--submenu-gap, 1em);
	}

	.site-navigation--not-collapsed.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
		/* OVerride default styles */
		padding: revert;
	}
}

/* Site Navigation (collapsed)
   ======================================== */

@media (max-width: 1439px) {
	/* Buttons Open & Close Menu */

	.wp-block-navigation__responsive-container-open,
	.wp-block-navigation__responsive-container-close {
		--button-size: var(--max-header-content-height);
		display: grid;
		place-content: center;
		width: var(--button-size);
		height: var(--button-size);
	}

	.wp-block-navigation__responsive-container-close svg,
	.wp-block-navigation__responsive-container-open svg {
		height: 38px;
		width: 38px;
	}

	/* Button Open Menu */

	.wp-block-navigation__responsive-container-open {
		background: var(--wp--preset--color--contrast);
		color: var(--wp--preset--color--base);
	}

	html.has-modal-open .wp-block-navigation__responsive-container-open {
		/* Hide open-menu button when overlay menu is open */
		visibility: hidden;
	}

	/* Button Close Menu */

	.wp-block-navigation__responsive-container-close {
		background: var(--wp--preset--color--base);
		color: var(--wp--preset--color--contrast);
	}

	/* Navigation Container */

	.wp-block-navigation__responsive-container.is-menu-open {
		z-index: 2;
		margin-top: 80px;
		padding-top: 40px;
		animation: none;
	}

	.has-modal-open .site-header,
	.site-header:has(.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open),
	.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
		background-image: url("/wp-content/uploads/2024/05/footer-pc.jpg");
		background-size: cover;
	}

	.site-header .wp-block-buttons {
		z-index: 2;
	}

	.site-header .wp-block-site-logo {
		z-index: 3;
	}

	/* Navigation Container: Close */

	.has-modal-open .wp-block-navigation__responsive-close {
		overflow-y: auto;
		/* aprox. height of mobile menu footer with links */
		margin-block-end: 123px;
	}

	/* Navigation Container: Content */

	.site-navigation--collapsed .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
		/* important  */
		flex: 100%;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		--padding-top: var(--fluid-40-60);
		--total-space-above: calc(var(--padding-top) + var(--max-header-content-height) + var(--wp--preset--spacing--fluid-16-40));
		padding-top: var(--total-space-above);
		padding-top: 0;
	}

	/* Navigation Content: Submenu */

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
		/* Override default styles */
		flex-direction: row !important;
		flex-wrap: wrap !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu .wp-block-navigation-item__content {
		/* Gap between text and icon */
		padding-right: 16px;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		/* Show the default hidden submenu icon */
		display: revert;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
		display: none;
		/* hide submenu child items by default */
		gap: 16px;
		padding: 0;
		/* reset default */
		padding-block-start: 16px;
		padding-inline-start: 20px;
	}

	/* Navigation Footer */

	.submenu-overlay-footer {
		position: fixed;
		z-index: 2;
		right: 0;
		bottom: 0;
		left: 0;
		display: flex;
		padding: 20px;
		color: var(--wp--preset--color--base);
		border-block-start: 1px solid var(--wp--preset--color--border-light);
	}

	html:not(.has-modal-open) .submenu-overlay-footer {
		display: none !important;
	}

	html.has-modal-open .submenu-overlay-footer {
		display: flex !important;
	}
}

/* Footer
   ======================================== */

footer a:hover {
	color: var(--wp--preset--color--primary);
}

/* Footer links should always be white/base color - broadened to all footer links */
footer a {
	color: var(--wp--preset--color--base) !important;
}

/* Ensure EU logos section has no extra margin */
footer .wp-block-column .wp-block-columns {
	margin: 0 !important;
}

/* Ensure the seal logo container is vertically centered */
footer .wp-block-group.is-vertical {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
}

/* Match line-height and width to the home footer */
footer .wp-block-group.legales {
	line-height: 1.5 !important;
}

footer .wp-block-group.has-global-padding.is-layout-constrained {
	max-width: 100% !important;
}

/* Links and Buttons
   ======================================== */

.boton-llamar a {
	--icon-height: 30px;
	--button-size: var(--max-header-content-height);
	display: grid;
	place-content: center;
	height: var(--button-size);
}

.boton-llamar :is(img, svg, .icon) {
	height: var(--icon-height);
	width: auto;
}

.hover-azul a:hover {
	background: var(--wp--preset--color--contrast);
}

.hover-blanco a:hover {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast);
}

.hover-texto-azul a:hover {
	color: var(--wp--preset--color--contrast);
}

.hover-texto-blanco a:hover {
	color: var(--wp--preset--color--base) !important;
}

.hover-texto-azul li:hover a {
	color: var(--wp--preset--color--contrast);
}

/* With icon arrow */

[class*="flecha"] :is(a, button),
.servicios-list a,
a.wp-block-post-excerpt__more-link,
.entry-content :is(.wp-element-button, .wp-block-button__link) a,
.ti-widget.ti-goog .ti-read-more span,
button.moove-gdpr-infobar-allow-all,
button.moove-gdpr-modal-allow-all {
	--arow-width: 20px;
	--arow-width-hover: 25px;
	--arow-height: 12.7px;
	--arrow-margin: 0.75em;
	display: inline-flex;
	align-items: baseline;
	gap: var(--arrow-margin, 0.75em);
}

.servicios-list a {
	display: flex;
	justify-content: space-between;
}

[class*="flecha-izquierda"] :is(a, button)::before,
[class*="flecha-derecha"] :is(a, button)::after,
.servicios-list a::after,
a.wp-block-post-excerpt__more-link::after,
.entry-content :is(.wp-element-button, .wp-block-button__link) a::after,
.ti-widget.ti-goog .ti-read-more span::after,
button.moove-gdpr-infobar-allow-all::after,
button.moove-gdpr-modal-allow-all::after {
	content: "";
	flex-shrink: 0;
	/* prevent icon getting squished when space runs out in a flex context */
	display: inline-block;
	width: var(--arow-width-hover, 1.5em);
	height: var(--arow-height, 0.75em);
	background-color: currentColor;
	-webkit-mask-image: url("/wp-content/uploads/2024/07/icon-lounge-row.svg");
	mask-image: url("/wp-content/uploads/2024/07/icon-lounge-row.svg");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: 0% center;
	mask-position: 0% center;
}

[class*="flecha-izquierda"] a::before {
	transform: rotate(180deg);
}

[class*="flecha-izquierda"] :is(a, button):hover::before,
[class*="flecha-derecha"] :is(a, button):hover::after,
.servicios-list a:hover::after,
a.wp-block-post-excerpt__more-link:hover::after,
.entry-content :is(.wp-element-button, .wp-block-button__link) a:hover::after,
.ti-widget.ti-goog .ti-read-more span:hover::after,
button.moove-gdpr-infobar-allow-all:hover::after,
button.moove-gdpr-modal-allow-all:hover::after {
	-webkit-mask-size: 100% auto;
	mask-size: 100% auto;
}

/* Query Pagination: Page Numbers
   ======================================== */

.page-numbers {
	display: inline-grid;
	place-content: center;
	width: 32px;
	height: 32px;
}

.page-numbers:hover {
	color: var(--wp--preset--color--primary);
}

.page-numbers:is(.current, [aria-current="page"]) {
	color: var(--wp--preset--color--base);
	background-color: var(--wp--preset--color--contrast);
}

/* Query Pagination: Previous/Next Arrows
   ======================================== */

/* Remove the default arrow */
.wp-block-query-pagination-previous-arrow,
.wp-block-query-pagination-next-arrow {
	font-size: 0;
}

/* Add a custom arrow */
.wp-block-query-pagination-previous-arrow:after,
.wp-block-query-pagination-next-arrow:after {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 1px solid var(--wp--preset--color--contrast);
	border-left: 1px solid var(--wp--preset--color--contrast);
	display: inline-block;
}

.wp-block-query-pagination-previous-arrow:after {
	transform: rotate(-45deg);
}

.wp-block-query-pagination-previous-arrow:hover:after {
	border-top-color: var(--wp--preset--color--primary);
	border-left-color: var(--wp--preset--color--primary);
}

.wp-block-query-pagination-next-arrow:after {
	transform: rotate(135deg);
}

.wp-block-query-pagination-next-arrow:hover:after {
	border-top-color: var(--wp--preset--color--primary);
	border-right-color: var(--wp--preset--color--primary);
}

/* Posts Layout
   ======================================== */

.layout-posts {
	display: grid;
	grid-template-columns: repeat(auto-fit,
			minmax(min(100%, 344px), 1fr)) !important;
	grid-auto-rows: 1fr;
}

/* Make all card content have equal height */

.layout-posts>* {
	display: flex;
	flex-direction: column;
}

.layout-posts>*>.post-card-content {
	block-size: 100%;
}

/* Assuming there are 3 posts, just show 2 posts on mobile and tablet */
@media (max-width: 1439px) {
	:is(.home, .yarpp-related) .layout-posts> :last-child {
		display: none;
	}
}

/* Post Card
   ======================================== */

/* Content */

.wp-block-post .post-card-content {
	--card-padding: 1.25rem;
	--card-gap: 1.25rem;
	--card-footer-margin: 2.5rem;
	--card-footer-line-height: 1.5rem;
	padding: var(--card-padding);
	gap: var(--card-gap);
	background-color: var(--wp--preset--color--base-2);
	transition: 0.1s ease-in-out;
}

.wp-block-post:hover .post-card-content {
	background: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--base);
}

.wp-block-post:hover .post-card-content * {
	color: inherit !important;
}

/* Content: Title & Excerpt */

.wp-block-post .post-card-content:is(.wp-block-post-title, .wp-block-post-excerpt__excerpt) {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Content: Title */

.wp-block-post .post-card-content .wp-block-post-title {
	-webkit-line-clamp: 2;
	line-clamp: 2;
}

.wp-block-post .post-card-content .wp-block-post-title a {
	display: revert;
}

.wp-block-post .post-card-content .wp-block-post-title a:where(:not(.wp-element-button)):hover {
	text-decoration: none;
}

/* Content: Excerpt More Text & Date */

.wp-block-post .post-card-content {
	position: relative;
}

.wp-block-post .post-card-content:is(.wp-block-post-excerpt__more-text, .fecha) {
	line-height: var(--card-footer-line-height);
}

.wp-block-post .post-card-content .wp-block-post-excerpt__more-text {
	text-transform: uppercase;
	position: absolute;
	bottom: var(--card-padding);
	left: var(--card-padding);
}

/* Content: Date */

.wp-block-post .post-card-content .fecha {
	align-self: flex-end;
	margin-block-start: auto;
	padding-block-start: var(--card-footer-margin);
}

/* Related posts
   ======================================== */

/* Revert YARPP default styles */

.yarpp-related {
	margin: revert;
}

.yarpp-related a {
	font-weight: revert;
}

.yarpp-related .yarpp-thumbnail-title {
	font-size: revert;
	font-weight: revert;
}

.yarpp-related h3 {
	margin: revert;
	padding: revert;
}

.yarpp-related {
	--wp--preset--spacing--40-px: 40px;
	--wp--preset--spacing--fluid-40-56: var(--fluid-40-56);
	--wp--style--root--padding-top: 0px;
	--wp--style--root--padding-right: var(--wp--preset--spacing--fluid-20-64);
	--wp--style--root--padding-bottom: 0px;
	--wp--style--root--padding-left: var(--wp--preset--spacing--fluid-20-64);
	max-width: none !important;
	color: var(--wp--preset--color--contrast);
	font-family: var(--wp--preset--font-family--default);
	font-size: var(--wp--preset--font-size--m);
	font-style: normal;
	font-weight: var(--wp--custom--font-weight--regular);
	line-height: var(--wp--custom--line-height--default);
}

.yarpp-related>div {
	max-width: 1312px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.yarpp-related :is(h2, h3).wp-block-heading {
	font-size: var(--wp--preset--font-size--xxl);
	line-height: 1.25;
	border-left-color: var(--wp--preset--color--primary);
	border-left-width: 2px;
	border-left-style: solid;
	margin-bottom: 20px;
	padding-left: var(--wp--preset--spacing--fluid-12-24);
	text-transform: uppercase;
	max-width: var(--wp--style--global--content-size);
	margin-right: auto !important;
	margin-left: 0 !important;
	margin-block-start: 0;
	margin-block-end: 0;
}

.yarpp-related p {
	font-size: var(--wp--preset--font-size--l) !important;
	max-width: var(--wp--style--global--content-size);
}

.yarpp-related :is(ol, ul, .wp-block-post-template) {
	list-style: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
	background: none;
	gap: 20px;
	max-width: none;
	margin-block-start: var(--wp--preset--spacing--fluid-40-80);
	margin-block-end: 0;
}

.yarpp-related :is(figure, .wp-block-post-featured-image) {
	margin: 0;
	position: relative;
}

.yarpp-related :is(figure, .wp-block-post-featured-image)>a {
	display: block;
	height: 100%;
}

.yarpp-related a> :is(img, .attachment-post-thumbnail, .size-post-thumbnail, .wp-post-image) {
	aspect-ratio: auto 1500 / 1001;
	border-radius: 0;
	border-style: none;
	border-width: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.yarpp-related .post-card-content {
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	gap: var(--wp--preset--spacing--20-px);
	flex-direction: column;
	align-items: flex-start;
}

.yarpp-related .wp-block-post-title {
	color: var(--wp--preset--color--contrast);
	font-weight: var(--wp--custom--font-weight--medium);
	line-height: 1.25;
	word-break: break-word;
	font-size: var(--wp--preset--font-size--xl) !important;
	margin: 0;
}

.yarpp-related .block-post-excerpt__excerpt {
	margin-bottom: 0;
	margin-top: 0;
}

.yarpp-related .wp-block-post-excerpt__more-text {
	margin: 0;
}

.yarpp-related .wp-block-post-date {
	text-align: right;
	font-size: var(--wp--preset--font-size--xs);
	text-transform: lowercase;
}

/* Widget Google
   ======================================== */

.ti-widget.ti-goog .ti-rating-text strong.ti-rating {
	line-height: 34px !important;
	color: var(--wp--preset--color--primary) !important;
	text-transform: uppercase;
	font-weight: 400;
}

.ti-widget .source-Google .ti-star.f {
	background-image: url("/wp-content/uploads/2024/07/icon-star.svg");
}

.ti-widget.ti-goog .ti-widget-container .ti-name {
	font-weight: 400;
	font-size: 18px;
	color: var(--wp--preset--color--contrast);
}

.ti-widget.ti-goog .ti-read-more span {
	font-size: 18px;
	line-height: 24px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin-top: 20px;
}

/* Cookies
   ======================================== */

/* Info Bar */

#moove_gdpr_cookie_info_bar {
	background: var(--wp--preset--color--contrast) !important;
	border-top: none !important;
}

.moove-gdpr-info-bar-container {
	padding-block: 1rem !important;
	padding-inline: var(--wp--style--root--padding-right, 1rem) !important;
}

.moove-gdpr-info-bar-content {
	display: flex !important;
	flex-wrap: wrap !important;
	column-gap: 2em !important;
	row-gap: 1em !important;
	padding: 0 !important;
}

.moove-gdpr-info-bar-content> :last-child {
	flex-grow: 1 !important;
}

.moove-gdpr-info-bar-content> :first-child {
	flex-basis: 0 !important;
	flex-grow: 999 !important;
	min-inline-size: 50% !important;
}

.moove-gdpr-cookie-notice {
	margin: 0 !important;
	padding: 0 !important;
	font-size: 16px !important;
}

.moove-gdpr-button-holder {
	gap: 1em !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Text */

[class*="moove-gdpr"] p {
	font: inherit !important;
}

/* Links & Buttons */

[class*="moove-gdpr"] a {
	font: inherit !important;
	color: var(--wp--preset--color--primary) !important;
	cursor: pointer !important;
}

[class*="moove-gdpr"] button,
.mgbutton {
	display: flex !important;
	margin: 0 !important;
	padding-block: 16px !important;
	padding-inline: 20px !important;
	font-size: 16px !important;
	line-height: 24px !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
	border: none !important;
	border-radius: 0 !important;
}

/* Button: Reject */

.moove-gdpr-infobar-reject-btn:hover {
	color: var(--wp--preset--color--contrast) !important;
	background: var(--wp--preset--color--base) !important;
}

/* Button: Allow */

.moove-gdpr-infobar-allow-all,
.moove-gdpr-modal-allow-all {
	background: var(--wp--preset--gradient--primary) !important;
}

.moove-gdpr-infobar-allow-all:hover {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
}

.moove-gdpr-modal-allow-all:hover {
	background: var(--wp--preset--color--contrast) !important;
	color: var(--wp--preset--color--base) !important;
}

/* Modal */

#moove_gdpr_cookie_modal .cookie-switch .cookie-slider {
	background-color: black !important;
}

#moove_gdpr_cookie_modal .cookie-switch .cookie-slider::after,
#moove_gdpr_cookie_modal .cookie-switch .slider::after,
#moove_gdpr_cookie_modal .switch .cookie-slider::after,
#moove_gdpr_cookie_modal .switch .slider::after {
	color: black !important;
}

#moove_gdpr_cookie_modal .cookie-switch input:checked+.cookie-slider::before {
	background: var(--wp--preset--color--primary) !important;
	border-color: var(--wp--preset--color--primary) !important;
}

.moove-gdpr-modal-content {
	background-color: var(--wp--preset--color--base) !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content .moove-gdpr-company-logo-holder img {
	max-height: 125px !important;
	max-width: 125px !important;
}

#moove_gdpr_cookie_modal .moove-gdpr-modal-content:is(.moove-gdpr-modal-left-content,
	.moove-gdpr-modal-right-content,
	.moove-gdpr-modal-footer-content,
	.moove-gdpr-modal-footer-content:before) {
	background: transparent !important;
	box-shadow: none !important;
}

.moove-gdpr-modal-close {
	top: 0% !important;
	right: 0% !important;
	display: grid !important;
	place-content: center !important;
	padding: 0.5em !important;
	width: auto !important;
	height: auto !important;
}

.moove-gdpr-modal-close span.moovegdpr-arrow-close {
	width: 48px !important;
	height: 48px !important;
	line-height: 1 !important;
	background-color: transparent !important;
	color: var(--wp--preset--color--contrast) !important;
	border: none !important;
}

.moove-gdpr-branding-cnt {
	display: none !important;
}

/* Menu */

#moove-gdpr-menu li {
	margin-bottom: 0 !important;
}

#moove-gdpr-menu li button {
	padding: 0.5em !important;
	background-color: transparent !important;
}

#moove-gdpr-menu li.menu-item-selected button {
	color: var(--wp--preset--color--primary) !important;
}

#privacy_overview span,
#strict-necessary-cookies span,
#third_party_cookies span {
	font-size: 24px !important;
	line-height: 34px !important;
	font-weight: 500 !important;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary) !important;
}

/* Section: Hero
   ======================================== */

.hero-section {
	--text-margin-block-start: 0;
	--text-margin-block-end: 0;
	display: grid;
	gap: 40px;
}

.hero-section h2+p {
	max-inline-size: 45ch;
}

.hero-section img {
	min-block-size: 100%;
	object-fit: cover;
}

.hero-section:not(.hero-section--flipped)> :first-child,
.hero-section.hero-section--flipped> :last-child {
	margin-block-start: var(--text-margin-block-start);
	margin-block-end: var(--text-margin-block-end);
}

@media (min-width: 1024px) {
	.hero-section {
		--text-margin-block-start: 147px;
		--text-margin-block-end: 20px;
		grid-template-columns: repeat(8, 1fr);
		gap: 20px;
	}

	.hero-section> :first-child {
		grid-column: 1 / span 5;
	}

	.hero-section> :last-child {
		grid-column: 6 / span 3;
	}

	.hero-section.hero-section--flipped> :first-child {
		grid-column: 1 / span 3;
	}

	.hero-section.hero-section--flipped> :last-child {
		grid-column: 4 / span 5;
	}
}

@media (min-width: 1440px) {
	.hero-section {
		--text-margin-block-start: 267px;
		--text-margin-block-end: 80px;
		grid-template-columns: repeat(12, 1fr);
	}

	.hero-section> :first-child {
		grid-column: 1 / span 6;
	}

	.hero-section:not(.hero-section--flipped)> :first-child {
		margin-inline-end: 70px;
	}

	.hero-section> :last-child {
		grid-column: 7 / span 6;
	}

	.hero-section.hero-section--flipped> :first-child {
		grid-column: 1 / span 5;
	}

	.hero-section.hero-section--flipped> :last-child {
		grid-column: 6 / span 6;
		margin-inline-start: 70px;
	}
}

/* Page: Home
   ======================================== */

/* Spacing between outer sections */

.home>.home__hero-weare {
	margin-block-start: 60px;
}

.home>.home__quote {
	margin-block-start: 138px;
}

.home>.home__services {
	/* This block and the above have a background image and without this negative margin there is visible a 1px space between them */
	margin-block-start: -1px;
}

.home>.home__blog {
	margin-block-start: 40px;
}

.home>.home__opinion {
	margin-block-start: 80px;
}

.home>.home__contact {
	margin-block-start: 80px;
}

/* Hero Header */

.home-hero-header>*+* {
	margin-block-start: 20px;
}

/* Hero We-Are */

.home-hero-weare>*+* {
	margin-block-start: 60px;
}

.home-hero-weare>.home-hero-weare__image {
	margin-inline: auto;
}

/* Quote & Services */

.home-quote,
.home-services {
	margin-inline-start: calc(50% - 50vw);
	inline-size: 100vw;
}

/* Quote */

.home-quote__text,
.home-quote__image {
	padding-inline-start: var(--wp--style--root--padding-left);
	padding-inline-end: var(--wp--style--root--padding-right);
}

.home-quote__image {
	position: relative;
	top: -58px;
	margin-inline: auto;
}

/* Services */

.home-services {
	display: flex;
	flex-direction: column;
	gap: 56px;
	padding-block-start: 10px;
	padding-block-end: 56px;
	padding-inline-start: var(--wp--style--root--padding-left);
	padding-inline-end: var(--wp--style--root--padding-right);
}

@media (min-width: 1024px) {
	/* Spacing between outer sections */

	.home>.home__hero-weare {
		margin-block-start: 80px;
	}

	.home>.home__quote {
		margin-block-start: 606px;
	}

	.home>.home__blog {
		margin-block-start: 120px;
	}

	.home>.home__opinion {
		margin-block-start: 120px;
	}

	.home>.home__contact {
		margin-block-start: 120px;
	}

	/* Hero Header */

	.home-hero-header>*+* {
		margin-block-start: 10px;
	}

	/* Hero We-Are */

	.home-hero-weare {
		position: relative;
	}

	.home-hero-weare>*+* {
		margin-block-start: 0;
	}

	.home-hero-weare>.home-hero-weare__text {
		padding-inline-start: 26px;
		max-inline-size: 50%;
	}

	.home-hero-weare>.home-hero-weare__image {
		position: absolute;
		top: 76px;
		right: 0;
		z-index: -1;
		margin-inline: 0;
		max-inline-size: 100%;
		inline-size: 646px;
	}

	/* Quote & Services */

	.home-quote,
	.home-services {
		margin-inline-start: revert;
		inline-size: revert;
	}

	/* Quote */

	.home-quote {
		position: relative;
	}

	.home-quote .home-quote__image {
		position: absolute;
		top: -120px;
		margin-inline: 0;
		padding-inline-start: 64px;
		padding-inline-end: 0;
		max-inline-size: min(100%, 535px);
	}

	.home-quote__text {
		padding-block-start: calc(384px + 40px);
		padding-block-end: 40px;
		padding-inline: 64px;
	}

	/* Services */

	.home-services {
		padding-block-start: 56px;
		padding-block-end: 80px;
		padding-inline: 64px;
		flex-direction: row;
		align-items: flex-start;
		gap: 24px;
	}

	.home-services>* {
		flex: 1;
	}

	.home-services> :last-child {
		margin-block-start: 127px;
	}
}

@media (min-width: 1440px) {
	/* Spacing between outer sections */

	.home>.home__hero-weare {
		margin-block-start: 98px;
	}

	.home>.home__quote {
		margin-block-start: 261px;
	}

	.home>.home__blog {
		margin-block-start: 180px;
	}

	.home>.home__opinion {
		margin-block-start: 180px;
	}

	.home>.home__contact {
		margin-block-start: 180px;
	}

	/* Hero We-Are */

	.home {
		position: relative;
	}

	.home-hero-weare {
		position: revert;
	}

	.home-hero-weare>.home-hero-weare__text {
		padding-inline-start: 111px;
		max-inline-size: 41%;
	}

	.home .home-hero-weare>.home-hero-weare__image {
		position: absolute;
		top: 41px;
		right: 0;
	}

	/* Quote & Services */

	.home-quote,
	.home-services {
		margin-inline-start: 111px;
	}

	/* Quote */

	.home-quote {
		padding-inline-end: 56px;
		block-size: 612px;
	}

	.home-quote .home-quote__image {
		top: 56px;
		left: -111px;
		padding-inline: 0;
	}

	.home-quote__text {
		position: relative;
		top: 110px;
		margin-inline-start: auto;
		padding-block: 40px;
		padding-inline: revert;
		max-inline-size: 664px;
	}

	/* Services */

	.home-services {
		padding-block-start: 56px;
		padding-block-end: 120px;
		padding-inline-start: 221px;
		padding-inline-end: 0;
	}
}

/* Page: Álvaro Prieto
   ======================================== */

.page-alvaro-prieto>*+* {
	margin-block-start: 64px;
}

.page-alvaro-prieto>*:nth-child(2) {
	margin-block-start: 80px;
}

@media (min-width: 1024px) {
	.page-alvaro-prieto>*+* {
		margin-block-start: 80px;
	}

	.page-alvaro-prieto>*:nth-child(2) {
		margin-block-start: 120px;
	}
}

@media (min-width: 1440px) {
	.page-alvaro-prieto>*+* {
		margin-block-start: 120px;
	}
}

.page-alvaro-prieto [class*="who-are-description-wrapper"] {
	display: flex !important;
	flex-direction: column !important;
	gap: 40px !important;
}

@media (min-width: 1024px) {
	.page-alvaro-prieto .who-are-description-wrapper-1 {
		gap: 120px !important;
	}

	.page-alvaro-prieto [class*="who-are-description-wrapper"]>* {
		margin-inline: 64px !important;
	}
}

@media (min-width: 1440px) {
	.page-alvaro-prieto [class*="who-are-description-wrapper"] {
		flex-direction: row !important;
		align-items: flex-start !important;
		gap: 124px !important;
		margin-inline: 111px !important;
	}

	.page-alvaro-prieto [class*="who-are-description-wrapper"]>* {
		margin-inline: 0 !important;
		flex: 1 !important;
	}

	.page-alvaro-prieto .who-are-description-wrapper-1> :last-child {
		margin-top: 383px !important;
	}

	.page-alvaro-prieto .who-are-description-wrapper-2> :last-child {
		margin-top: 242px !important;
	}

	.page-alvaro-prieto .who-are-description-wrapper-2> :last-child>*+* {
		margin-top: 80px !important;
	}

	.page-alvaro-prieto .who-are-description-wrapper-2 .logos-wrapper {
		justify-content: flex-start !important;
	}
}

/* Page: Services
   ======================================== */

/* Services Description Wrapper */

.services-description-wrapper>*+* {
	margin-block-start: 80px;
	margin-block-end: 0;
}

@media (min-width: 1024px) {
	.services-description-wrapper>* {
		margin-inline: 64px;
	}

	.services-description-wrapper> :first-child {
		margin-inline-end: 127px;
		max-inline-size: 80%;
	}

	.services-wrapper {
		padding-inline: 59px;
	}
}

@media (min-width: 1440px) {
	.services-description-wrapper {
		margin-inline: 111px;
	}

	.services-description-wrapper>* {
		padding-inline: revert;
	}

	.services-description-wrapper> :first-child {
		margin-inline: 0;
		max-inline-size: 59%;
	}
}

/* Services List */

.servicios-list {
	padding-inline-end: 15px;
}

.servicios-list a:hover {
	color: var(--wp--preset--color--primary);
}

/* Contact Section */

.section-contact-wrapper {
	margin-block-start: 50vw;
	margin-inline: calc(-1 * var(--wp--style--root--padding-left, 20px));
}

.section-contact {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 40px;
	padding-block-start: 110px;
	padding-block-end: 80px;
	padding-right: var(--wp--style--root--padding-right);
	padding-left: var(--wp--style--root--padding-left);
}

.section-contact h2+p {
	max-inline-size: 45ch;
}

.section-contact .section-contact__image {
	position: absolute;
	top: 0;
	left: 50%;
	margin-block-start: 80px;
	padding-inline: var(--wp--style--root--padding-left);
	width: 100%;
	transform: translate(-50%, -100%);
}

@media (min-width: 1024px) {
	.section-contact-wrapper {
		margin-block-start: 240px;
		margin-inline: 0;
	}

	.section-contact {
		gap: 64px;
		padding-block-start: 288px;
		padding-inline: 64px;
	}

	.section-contact .section-contact__image {
		top: -120px;
		left: 64px;
		margin-block-start: 0;
		padding-inline: 0;
		max-width: 645px;
		transform: revert;
	}
}

@media (min-width: 1440px) {
	.section-contact-wrapper {
		margin-block-start: 140px;
		margin-inline-start: 111px;
		margin-inline-end: 0;
	}

	.section-contact {
		flex-direction: row;
		gap: 20px;
		padding-block-start: 80px;
	}

	.section-contact .section-contact__image {
		top: 56px;
		left: -111px;
		transform: revert;
	}

	.section-contact .section-contact__image+div {
		margin-block-start: 390px;
	}

	.section-contact .section-contact__form-wrapper {
		margin-block-start: 132px;
	}
}

/* Page: Blog > Post Entry
   ======================================== */

/* Table of Contents */

#ez-toc-container {
	padding: 20px !important;
}

#ez-toc-container a:hover {
	text-decoration-line: none !important;
	color: var(--wp--preset--color--primary) !important;
}

#ec-toc-container li+li {
	margin-block-start: 0.5em !important;
}

/* Author */

.wp-block-post-author-name {
	font-size: 14px;
	text-transform: uppercase;
}

.wp-block-post-author-name:before {
	content: "-";
	margin-right: 0.2em;
}

.grecaptcha-badge {
	visibility: hidden;
}

/* Remove old manually-added spacers from entry content because block spacing is now handled in the WP editor */
.entry-content.wp-block-post-content>.wp-block-spacer[style*="height"] {
	margin-block-start: 0 !important;
	height: 0 !important;
}

/* Remove border and padding of WP block headings just inside an post entry content */
#ez-toc-container~.wp-block-heading,
#ez-toc-container~* .wp-block-heading[style] {
	padding-left: revert;
	border: revert;
}

/* Page: Contacto
   ======================================== */

/* Map */

.page-contact-map-wrapper {
	position: relative;
}

.page-contact-map-image-visible {
	z-index: 1;
}

.page-contact-map-image-hidden {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	transition: all 0.5s ease-in-out;
}

.page-contact-map-wrapper:hover .page-contact-map-image-hidden {
	opacity: 1;
}

/* Contact Form */

/* Visually hidden */
.wpcf7-spinner {
	all: revert;
	position: absolute !important;
	inline-size: 1px !important;
	block-size: 1px !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
}

.contacto>*+* {
	margin-block-start: 2.5rem;
}

.contacto a {
	text-decoration-line: underline;
	color: inherit;
}

.contacto .aceptar {
	font-weight: 500;
}

.contacto .aceptar * {
	margin: 0;
}

.contacto p {
	position: relative;
	margin-block-start: 0;
	margin-block-end: 0;
}

.contacto p>label>small {
	position: absolute;
	top: 10px;
	display: none;
}

.contacto p:focus>label>small {
	display: block;
}

.contacto input:not([type="submit"]) {
	background: transparent;
	width: 100%;
	border: none;
	padding-top: 40px;
	padding-bottom: 16px;
	border-bottom: 1px solid;
}

.contacto :is(input, label) {
	font-weight: 500;
}

.contacto :is(input, label > small) {
	padding-left: 12px;
}

.contacto input[type="checkbox"] {
	margin-right: 0.5em;
}

.contacto input:focus {
	outline: none;
	border-bottom-color: var(--wp--preset--color--primary);
}

.contacto .formulario {
	color: inherit;
	font-size: 18px;
	text-decoration: underline;
}

.contacto .contacto-aceptar {
	margin: 0;
	padding-top: 40px;
	padding-bottom: 40px;
}

.contacto .contacto-aceptar span {
	margin: 0;
}

.contacto .submit-wrapper>p {
	--submit-color: var(--wp--preset--color--base);
	--submit-padding-block: 16px;
	--submit-padding-inline: 20px;
	--arow-width: 20px;
	--arow-width-hover: 25px;
	--arow-height: 12.7px;
	--arrow-margin: 0.75em;
	position: relative;
	display: inline-flex;
	align-items: center;
}

.contacto .submit-wrapper input[type="submit"] {
	padding-block: var(--submit-padding-block);
	padding-inline: var(--submit-padding-inline);
	padding-right: calc(var(--submit-padding-inline) + var(--arrow-margin) + var(--arow-width-hover));
}

.contacto .submit-wrapper>p::after {
	content: "";
	display: inline-block;
	width: var(--arow-width-hover, 1.5em);
	height: var(--arow-height, 0.75em);
	background-color: currentColor;
	-webkit-mask-image: url("/wp-content/uploads/2024/07/icon-lounge-row.svg");
	mask-image: url("/wp-content/uploads/2024/07/icon-lounge-row.svg");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: 0% center;
	mask-position: 0% center;
	pointer-events: none;
	position: absolute;
	right: var(--submit-padding-inline);
	color: var(--submit-color);
}

.contacto .submit-wrapper>p:hover {
	--submit-color: var(--wp--preset--color--contrast);
}

.contacto .submit-wrapper>p:hover:is(.wp-element-button, .wp-block-button__link) {
	color: var(--submit-color);
	background: var(--wp--preset--color--base);
}

.contacto .submit-wrapper>p:hover::after {
	-webkit-mask-size: 100% auto;
	mask-size: 100% auto;
}

.home .contacto .submit-wrapper>p:hover {
	--submit-color: var(--wp--preset--color--base);
}

.home .contacto .submit-wrapper>p:hover:is(.wp-element-button, .wp-block-button__link) {
	background: var(--wp--preset--color--contrast);
}


/* ============ Rediseño Alicante ============ */

.alicante-custom-page {
	--container-max-width: 1312px;
	--text-margin-block-start: 0px !important;
}

.alicante-custom-page .container {
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
	padding-inline: var(--wp--style--root--padding-right, 20px);
}

.alicante-custom-page .hero-section {
	padding-top: var(--fluid-40-64);
	padding-bottom: var(--fluid-40-64);
	display: flex;
	justify-content: center;
	--text-margin-block-start: 0px !important;
}

.alicante-custom-page .bg-light {
	background-color: var(--wp--preset--color--base-2);
}

.alicante-custom-page .section-title {
	font-size: var(--wp--preset--font-size--xxl);
	line-height: 1.25;
	border-left: 2px solid var(--wp--preset--color--primary);
	padding-left: var(--fluid-12-24);
	text-transform: uppercase;
	margin-bottom: var(--fluid-40-64);
}


.alicante-custom-page .hero-section .container {
	display: grid;
	gap: 40px;
	align-items: center;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

@media (min-width: 1024px) {
	.alicante-custom-page .hero-section .container {
		grid-template-columns: 1.2fr 0.8fr;
	}
}

.alicante-custom-page .hero-content {
	margin: 0 !important;
	padding: 0 !important;
}

.alicante-custom-page .hero-section h1 {
	font-size: var(--wp--preset--font-size--xxxl-xxl);
	line-height: 1.1;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.alicante-custom-page .hero-description {
	font-size: var(--wp--preset--font-size--l);
	margin-bottom: 40px;
	color: var(--wp--preset--color--contrast-4);
	max-width: 50ch;
}

.alicante-custom-page .hero-ctas {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.alicante-custom-page .hero-image img {
	width: 100%;
	border-radius: 4px;
	box-shadow: 20px 20px 0px var(--wp--preset--color--primary);
}

/* Trust Grid */
.alicante-custom-page .trust-grid {
	display: grid;
	gap: 32px;
}

@media (min-width: 768px) {
	.alicante-custom-page .trust-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.alicante-custom-page .trust-item {
	padding: 32px;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border-light);
}

.alicante-custom-page .trust-item h3 {
	font-size: var(--wp--preset--font-size--xl);
	margin-bottom: 16px;
	color: var(--wp--preset--color--primary);
}

/* Services Grid */
.alicante-custom-page .services-grid {
	display: grid;
	gap: 24px;
}

@media (min-width: 768px) {
	.alicante-custom-page .services-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.alicante-custom-page .service-card {
	padding: 40px;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	transition: transform 0.3s ease;
}

.alicante-custom-page .service-card:hover {
	transform: translateY(-10px);
}

.alicante-custom-page .service-card h3 {
	font-size: var(--wp--preset--font-size--l);
	margin-bottom: 16px;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}

/* FAQ Section */
.alicante-custom-page .faq-list {
	max-width: 800px;
}

.alicante-custom-page .faq-item {
	margin-bottom: 32px;
	padding-bottom: 32px;
	border-bottom: 1px solid var(--wp--preset--color--border-light);
}

.alicante-custom-page .faq-item h3 {
	font-size: var(--wp--preset--font-size--xl);
	margin-bottom: 16px;
}


.alicante-custom-page .hero-trust-bullets {
	list-style: none;
	padding: 0;
	margin-bottom: 32px;
}

.alicante-custom-page .hero-trust-bullets li {
	position: relative;
	padding-left: 28px;
	margin-bottom: 12px;
	font-size: var(--wp--preset--font-size--m);
}

.alicante-custom-page .hero-trust-bullets li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--primary);
	font-weight: bold;
}

.alicante-custom-page .hero-disclaimer {
	margin-top: 24px;
	color: var(--wp--preset--color--contrast-4);
	font-style: italic;
}

/* Needs Section */
.alicante-custom-page .needs-grid {
	display: grid;
	gap: 24px;
	margin-top: 40px;
}

@media (min-width: 768px) {
	.alicante-custom-page .needs-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.alicante-custom-page .need-item {
	padding: 24px;
	border-bottom: 2px solid var(--wp--preset--color--primary);
	background: var(--wp--preset--color--base);
}

.alicante-custom-page .need-item h3 {
	font-size: var(--wp--preset--font-size--l);
	margin-bottom: 12px;
}

/* Methodology */
.alicante-custom-page .section-header {
	margin-bottom: 50px;
}

.alicante-custom-page .section-subtitle {
	font-size: var(--wp--preset--font-size--m);
	color: var(--wp--preset--color--contrast-4);
	margin-top: -30px;
}

.alicante-custom-page .method-steps {
	display: grid;
	gap: 30px;
}

.alicante-custom-page .method-steps {
	display: flex;
	flex-direction: column;
	gap: 15px;
	margin-top: 40px;
}

.alicante-custom-page .step-card {
	background: var(--wp--preset--color--base);
	padding: 25px 40px;
	border: 1px solid var(--wp--preset--color--border-light);
	border-left: 4px solid var(--wp--preset--color--primary);
	display: flex;
	align-items: center;
	gap: 30px;
	transition: all 0.3s ease;
}

.alicante-custom-page .step-card:hover {
	transform: translateX(10px);
	background: #fcfcfc;
	box-shadow: 5px 5px 20px rgba(0, 0, 0, 0.05);
}

.alicante-custom-page .step-number {
	font-size: 32px;
	font-weight: 800;
	color: var(--wp--preset--color--primary);
	opacity: 0.3;
	min-width: 50px;
}

.alicante-custom-page .step-content {
	display: flex;
	flex-direction: column;
}

@media (min-width: 768px) {
	.alicante-custom-page .step-content {
		flex-direction: row;
		align-items: center;
		gap: 40px;
		width: 100%;
	}

	.alicante-custom-page .step-content h3 {
		min-width: 250px;
		margin: 0 !important;
	}
}

.alicante-custom-page .step-card h3 {
	font-size: 20px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.alicante-custom-page .step-card p {
	font-size: 16px;
	color: var(--wp--preset--color--contrast-4);
	margin: 0;
}

/* Text Content Sections */
.alicante-custom-page .text-content-limit {
	max-width: 800px;
}

.alicante-custom-page section {
	padding: 40px 0;
}

.alicante-custom-page h2.section-title {
	margin-bottom: 30px;
	font-size: 32px;
	line-height: 1.2;
}

.alicante-custom-page .standard-list,
.alicante-custom-page .flow-list,
.alicante-custom-page .check-list {
	list-style: none;
	padding: 0;
	margin: 25px 0;
}

.alicante-custom-page .standard-list li,
.alicante-custom-page .flow-list li,
.alicante-custom-page .check-list li {
	position: relative;
	padding-left: 25px;
	margin-bottom: 12px;
	font-size: 17px;
}

.alicante-custom-page .standard-list li::before,
.alicante-custom-page .check-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--primary);
	font-weight: bold;
}

.alicante-custom-page .flow-list li::before {
	content: "→";
	position: absolute;
	left: 0;
	color: var(--wp--preset--color--primary);
	font-weight: bold;
}

.alicante-custom-page .flow-container,
.alicante-custom-page .results-container {
	margin-top: 40px;
	padding: 30px;
	background: rgba(var(--wp--preset--color--primary-rgb), 0.03);
	border-left: 4px solid var(--wp--preset--color--primary);
}

.alicante-custom-page .flow-container h3,
.alicante-custom-page .results-container h3 {
	font-size: 20px;
	margin-bottom: 20px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/* About Section */
.alicante-custom-page .about-grid {
	display: grid;
	gap: 64px;
	align-items: center;
}

@media (min-width: 1024px) {
	.alicante-custom-page .about-grid {
		grid-template-columns: 1.5fr 1fr;
	}
}

.alicante-custom-page .about-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.alicante-custom-page .badge {
	padding: 8px 16px;
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--xs);
	text-transform: uppercase;
	letter-spacing: 0.1em;
}

/* ============ 6. EXCEPTIONS ============ */