/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: TUCHO Development Team
Template: flatsome
Version: 1.0
*/

/* tipografia */
@font-face {
	font-family: 'HedvigLettersSerif';
	src: url('/wp-content/themes/flatsome-child/fonts/HedvigLettersSerif.woff2') format('woff2');
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'StrichpunktSans';
	src: url('/wp-content/themes/flatsome-child/fonts/StrichpunktSans.woff2') format('woff2');
	font-weight: 400 900;
	font-style: normal;
	font-display: swap;
}

body, input, textarea, select, button, p {
    font-synthesis: none;
    -moz-font-feature-settings: 'kern';
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    direction: ltr;
	font-family: 'StrichpunktSans', sans-serif;
}
h1, h2, h3, h4, h5, h6, .widget-title {
	font-family: 'HedvigLettersSerif', serif;
	letter-spacing: -.015em;
}
p, ul {
	text-align: justify;
}
@media (min-width: 1100px) {
	h1 {
    font-size: 2.8rem;
	}
	h2 {
	font-size: 2.2rem;
	}
	h3 {
	font-size: 1.4rem;
	}
}
@media (min-width: 110px) and (max-width: 1024px){
	h2 {
		font-size: 1.6rem;
	}
	h3 {
		font-size: 1.2rem;
	}
}

/* helpers */
:root {
	--carbon: #50514F; /* primary-color */
	--oro: #B19325; /* secondary-color */
	--white: #FFF; /* white */
	--crema: #F7F5F0; /* background */
	--ink: #1C2B25;
	--muted: var(--oro); /*rgba(37, 86, 73, .68);*/
	--sombra: 0 30px 60px -32px rgba(28, 66, 55, .4);
	--line: rgba(37,86,73,.12);
	--line-soft: rgba(28,43,37,.08);
	--dur-base: 180ms;
	--ease-out-soft: cubic-bezier(.22,1,.36,1);
}
.center-section p {
	text-align: center;
}
.gap40 {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px;
}
@media (max-width: 768px) {
	.gap40 {
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

/* general */
body {
	font-size: 18px;
	overflow-x: clip;
}
h2 em, h3 em {
	font-style: italic;
	font-weight: 400;
}
.band {
	background: var(--crema);
}
.eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--muted);
}
.eyebrow::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--oro);
	flex-shrink: 0;
}
@media (max-width: 768px) {
	.col-bottom0 {
		padding-bottom: 0!important;
	}
}

/* botones */
.header-button .primary {
    padding: 2px 24px;
    font-weight: 600;
	background: var(--carbon)!important;
	color: var(--white)!important;
}
.stuck .header-button .primary {
	background: var(--carbon)!important;
	color: var(--white)!important;
}
.btn {
	font-weight: 600!important;
	font-size: 16px!important;
	line-height: 1!important;
	padding: 10px 32px!important;
	border: 1.5px solid transparent!important;
	transition: all var(--dur-base) var(--ease-out-soft);
}
.btn-white {
	background: var(--white)!important;
	color: var(--carbon)!important;
}
.btn-white:hover {
	background: var(--crema)!important;
	color: var(--carbon)!important;
}
.btn-line {
	border-color: rgba(255, 255, 255, .45)!important;
	color: var(--white)!important;
	background: transparent!important;
}
.button.white.is-outline.btn.btn-line:hover {
	background: rgba(255, 255, 255, .1)!important;
	color: var(--white)!important;
}
.link-more:hover, .bio-toggle:hover {
	color: var(--oro)!important;
}
.link-more i, .bio-toggle i {
	    transition: transform var(--dur-base) var(--ease-out-soft);
}
.link-more:hover i {
	transform: translateX(3px);
}
.bio-toggle:hover i {
	transform: translateY(3px);
}
a.enlace-light {
	color: rgba(37, 86, 73, 0.55)!important;
}
.footer-contacto a.enlace-light:hover {
	color: rgba(177, 147, 37, 0.55)!important;
}

/* cabecera */
.header.transparent .header-wrapper {
	background: rgba(255, 255, 255, .78);
	border-radius: 18px;
	box-shadow: 0 20px 44px -26px rgba(28, 66, 55, .45);
	backdrop-filter: blur(16px) saturate(1.4);
	-webkit-backdrop-filter: blur(16px) saturate(1.4);
	border: 1px solid rgba(255, 255, 255, .75);
	max-width: 1250px;
	position: fixed;
	top: 10px;
	left: 50%;
	transform: translateX(-50%);
}
.header-top {
	background-color: var(--carbon);
	border-radius: 18px 18px 0 0;
}
.header-nav-main.nav {
	gap: 20px !important;
}
.header-main .nav>li>a, .header-main .nav>li>a:hover {
	text-transform: uppercase;
	color: var(--carbon);
}
.nav-dark .nav>li.active>a {
	color: var(--carbon);
}
.nav-line-bottom>li>a:before {
	background-color: var(--oro);
	height: 1px;
}
.nav-dropdown {
	min-width: 220px;
	border-radius: 16px!important;
	border: 1px solid var(--line);
	box-shadow: 0 20px 50px rgba(28, 43, 37, .07);
}
.nav-dropdown.nav-dropdown-bold > li > a {
	font-size: 14px;
}
.no-link > a {
    cursor: default;
}

/* menu */
.menu-servicios div {
	font-size: 14px;
}
.submenu-servicios div {
	margin-left: 20px;
}

/* highlights */
.chip {
	position: absolute;
	display: flex;
	align-items: center;
	gap: 14px;
	border-radius: 18px;
	padding: 14px 20px;
	z-index: 1;
}
.chip-a {
	top: 24px;
	left: 24px;
}
.chip-b {
	bottom: 24px;
	right: 24px;
}
.glass {
	background: rgba(255, 255, 255, .78);
	backdrop-filter: blur(16px) saturate(1.4);
	-webkit-backdrop-filter: blur(16px) saturate(1.4);
	border: 1px solid rgba(255, 255, 255, .75);
	box-shadow: 0 20px 44px -26px rgba(28, 66, 55, .45);
}
.chip .num p {
	font-family: 'HedvigLettersSerif', serif;
	font-size: 34px;
	line-height: 1;
	color: var(--carbon);
}
.chip .lbl {
	font-size: 13px;
	line-height: 1.35;
	color: var(--muted);
	text-align: left;
}
.firma-badge {
	position: absolute;
	top: 22px;
	left: -22px;
	border-radius: 18px;
	padding: 14px 20px;
	display: flex;
	flex-direction: column;
	line-height: 1.15;
	z-index: 1;
}
.firma-badge .num p {
	font-family: 'HedvigLettersSerif', serif;
	font-size: 30px;
	color: var(--carbon);
}
.firma-badge .lbl {
	font-size: 12px;
	color: var(--muted);
}

/* cifras */
.stats-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	padding: 64px 0;
}
.stat-c, .stat-c p {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	text-align: center;
	padding: 0 20px;
}
.stat-c .num p {
	font-family: 'HedvigLettersSerif', serif;
	font-size: clamp(2.2rem, 3.6vw, 3rem);
	line-height: 1;
	color: var(--carbon);
	display: flex;
	flex-direction: row;
	justify-content: center;
}
.stat-c .lbl {
	font-size: 14.5px;
	color: var(--muted);
}
@media (max-width: 768px) {
	.stats-row {
		grid-template-columns: repeat(1, 1fr);
		padding: 40px 0 20px;
		gap: 20px;
	}
}

/* listado */
.checks {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 14px 22px;
	margin: 24px 0 32px;
}
.ci svg {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: rgba(37, 86, 73, .1);
	color: var(--carbon);
	padding: 4px;
}
.ci p {
	font-weight: 500;
}
@media (max-width: 768px) {
	.checks {
		grid-template-columns: 1fr;
	}
}

/* cards */
.member {
	background: var(--crema);
	border-radius: 28px;
	padding: 48px 32px 32px;
}
.member-top {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 16px;
}
.avatar {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--carbon);
	color: var(--white);
	font-family: 'HedvigLettersSerif', serif;
	font-size: 22px;
	display: grid;
	place-items: center;
	flex-shrink: 0;
}
.member h3 {
	font-size: 22px;
	letter-spacing: -.01em;
}
.role {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--muted);
	margin-top: 3px;
}
.bio {
	color: var(--muted);
	font-size: 15px;
}
.ftag {
	font-size: .66rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--oro);
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--oro);
	align-self: stretch;
}
@media (max-width: 768px) {
	.avatar {
		width: 40px;
		height: 40px;
		font-size: 16px;
	}
	.member h3 {
		font-size: 20px;
	}
	.role {
		font-size: 11px;
		letter-spacing: 0;
	}
}

/* imágenes */
.hero-media img {
	width: 100%;
	aspect-ratio: 16 / 8;
	object-fit: cover;
	border-radius: 32px;
	box-shadow: var(--sombra);
	overflow: hidden;
}
.firma-media img {
    width: 100%;
    aspect-ratio: 4 / 3.1;
    object-fit: cover;
    border-radius: 32px;
    box-shadow: var(--sombra);
}
.hero-media .img-inner, .firma-media .img-inner {
	overflow: unset!important;
}
.hero-align-top img {
	object-position: 50% 20%;
}
/*.member-img img {
	height: 520px;
	object-fit: cover;
}*/

@media (max-width: 768px) {
	.hero-media img {
		aspect-ratio: 4 / 5;
	}
}

/* cta */
.cta-panel .col-inner {
	background-image: url("/wp-content/uploads/pinero-romero-abogados-icon.svg");
	background-size: 300px;
	background-repeat: no-repeat;
	background-position: top 20px right 20px;
}
.cta-panel h2 {
	font-size: clamp(2rem, 3.6vw, 3rem);
	letter-spacing: -.02em;
}
.cta-panel p {
	color: rgba(255, 255, 255, .82);
	max-width: 54ch;
	margin: 16px auto 32px;
}
.cta-note {
	text-align: center;
	margin-top: 24px;
	font-size: 13.5px;
}
.columna-cta .col-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* faqs */
.faq-list {
	max-width: 880px;
	margin: 0 auto;
	background: var(--crema);
	border-radius: 28px;
	padding: 6px 40px;
}
.accordion-title {
	border-bottom: 1px solid var(--line);
	border-top: none!important;
	font-size: 17px!important;
	font-weight: 600;
	color: var(--carbon)!important;
	padding: 25px 2px!important;
}
.faq-list > div:last-child > .accordion-title {
	border-bottom: 0!important;
}
.accordion-title.active {
	background-color: transparent!important;
	border-color: var(--line)!important;
	font-weight: 600!important;
}
.accordion .toggle {
	position: absolute;
	left: unset!important;
	right: 0;
	top: 20px!important;
	width: 32px!important;
	height: 32px!important;
	background: var(--white);
	border: 1px solid var(--line);
	margin: 0!important;
	margin-right: 0!important;
	min-height: unset!important;
}
.toggle i {
	font-size: 1.4em!important;
	line-height: 1.5!important;
}
.faq-a p {
	color: var(--muted);
	font-size: 15.5px;
	max-width: 60ch;
	text-align: justify!important;
	margin-bottom: 0!important;
}
.accordion-inner {
	padding: 1em 0!important;
}
@media (max-width: 768px) {
	.accordion-title span {
		display: block;
		padding-right: 30px;
		line-height: 18px;
	}
}

/* firma */
.hero-firma .col-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.lede p {
	font-family: 'HedvigLettersSerif', serif;
	font-style: italic;
	font-size: clamp(1.15rem, 2vw, 1.45rem);
	line-height: 1.55;
	color: var(--carbon);
	max-width: 46ch;
	margin: 0 auto 34px;
}
.pullquote {
	max-width: 680px;
	margin: clamp(40px, 5vw, 64px) auto 0;
	padding-top: clamp(28px, 4vw, 40px);
}
.pullquote::before {
	content: '';
	display: block;
	width: 44px;
	height: 1px;
	background: var(--oro);
	margin: 0 auto 24px;
	opacity: .6;
}
.pullquote .blockquote p {
	font-family: 'HedvigLettersSerif', serif;
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.35rem, 2.6vw, 1.85rem);
	line-height: 1.4;
	color: var(--carbon);
}
.pullquote .blockquote .comillas {
	content: '“';
	color: var(--oro);
	font-family: 'HedvigLettersSerif', serif;
	font-size: clamp(1.35rem, 2.6vw, 1.85rem);
	line-height: 1.4;
	padding: 0 10px;
}

/* timeline */
.timeline {
	max-width: 800px;
	margin: 0 auto;
}
.timeline::before {
	content: '';
	position: absolute;
	top: 14px;
	bottom: 14px;
	left: 150px;
	width: 1px;
	background: var(--line);
}
.tl-item {
	position: relative;
	display: grid;
	grid-template-columns: 150px 1fr;
	gap: 44px;
	padding: 26px 0;
}
.tl-item::before {
	content: '';
	position: absolute;
	left: 135px;
	top: 40px;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: var(--white);
	border: 2px solid var(--oro);
	transform: translateX(-50%);
}
.tl-year {
	font-family: 'HedvigLettersSerif', serif;
	font-style: italic;
	font-size: 1.9rem;
	line-height: 1;
	color: var(--oro);
	padding-top: 4px;
}
.tl-body h3 {
	font-size: 1.45rem;
	margin-bottom: 8px;
}
.tl-body p {
	font-size: .97rem;
	max-width: 58ch;
	text-align: left;
}
@media (max-width: 768px) {
	.timeline::before {
		left: 115px;
	}
	.tl-item {
		grid-template-columns: 80px 1fr;
	}
	.tl-item::before {
		left: 100px;
	}
}

/* row columnas */
.row-tipo {
	gap: 1px;
	background: var(--line);
	border: 1px solid var(--line);
	border-radius: 22px;
	overflow: hidden;
}
.columna-tipo {
	background: var(--white);
	padding: 42px 38px 36px;
	display: flex;
	flex-direction: column;
	gap: 14px;
	position: relative;
	transition: background .25s;
}
.columna-tipo .num {
    display: block;
    font-family: 'HedvigLettersSerif', serif;
    font-style: italic;
    font-size: 1rem;
    color: var(--oro);
    margin-bottom: 14px;
}
@media (min-width: 769px) {
	.row-tipo {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
}

/* servicio */
.hero h1 {
	font-size: clamp(2.4rem, 5.4vw, 4rem);
	margin: 20px 0 22px;
	max-width: 14ch;
}
.hero h1 .underline {
	background: linear-gradient(transparent 62%, rgba(198, 161, 91, .35) 62%);
}
.hero .subtitle p {
	font-family: 'HedvigLettersSerif', serif;
	font-style: italic;
	font-size: clamp(1rem, 2.2vw, 1.4rem);
	line-height: 1.5;
	color: var(--carbon);
	margin-bottom: 26px;
	max-width: 32ch;
}
.hero .intro p {
	max-width: 56ch;
	margin-bottom: 34px;
}
.spec {
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 30px 30px 24px;
	background: var(--white);
	box-shadow: 0 20px 50px rgba(28, 43, 37, .07);
}
.title-spec p {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 18px!important;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--line-soft);
}
.tabla {
	gap: 14px;
}
.tabla-fila {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 14px;
	align-items: baseline;
}
.tabla-fila-title {
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--muted);
}
.tabla-fila-texto {
	font-size: .93rem;
	color: var(--ink);
	font-weight: 500;
	line-height: 1.45;
}
.spec-foot {
	margin-top: 20px!important;
	padding-top: 16px;
	border-top: 1px solid var(--line-soft);
	font-size: .85rem;
	color: var(--muted);
	display: flex;
	align-items: center;
	gap: 8px;
}
.hero-strip .float-badge small {
    font-size: .7rem;
    line-height: 1.35;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 600;
}
.hero-strip img {
	height: clamp(240px, 32vw, 380px);
}
.hero-strip .lbl-hero p {
	font-size: .7rem;
	line-height: 1.35;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: .08em;
	font-weight: 600;
}
.trust-inner {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 12px 0;
	padding: 30px 28px 0;
	font-size: .85rem;
	font-weight: 500;
	color: var(--carbon);
}
.trust-inner p:not(.first-child p)::before {
	content: '·';
	margin: 0 22px;
	color: var(--oro);
	font-weight: 700;
}
.toc-title {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 16px;
}
.toc-cta {
	margin-top: 28px;
	padding: 22px 20px;
	background: var(--crema);
	border-radius: 18px;
}
.toc-cta-titulo p {
	display: block;
	font-family: 'HedvigLettersSerif', serif;
	font-size: 1.15rem;
	color: var(--carbon);
	font-weight: 700;
	margin-bottom: 4px!important;
}
.toc-cta-texto p {
	font-size: .82rem;
	color: var(--muted);
	margin-bottom: 14px;
}
.toc-cta a.tel {
	display: block;
	font-family: 'HedvigLettersSerif', serif;
	font-size: 1.35rem;
	color: var(--carbon);
	margin-bottom: 6px;
	padding: 20px 0;
}
.toc-cta-small p {
	font-size: .72rem;
	color: var(--muted);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.chapter {
	padding-bottom: clamp(56px, 7vw, 88px);
	margin-bottom: clamp(56px, 7vw, 88px);
	border-bottom: 1px solid var(--line-soft);
}
.chapter .ghost p {
	position: absolute;
	right: -10px;
	top: -46px;
	z-index: 0;
	font-family: 'HedvigLettersSerif', serif;
	font-size: clamp(110px, 13vw, 170px);
	line-height: 1;
	color: var(--carbon);
	opacity: .055;
}
.chapter .kicker {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--oro);
	margin-bottom: 14px;
}
.chapter .kicker::after {
	content: '';
	height: 1px;
	width: 44px;
	background: var(--oro);
	opacity: .5;
}
.chapter h2 {
	font-size: clamp(1.6rem, 3.4vw, 2.4rem);
	max-width: 20ch;
	position: relative;
	z-index: 1;
}
.cta-band {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	background: var(--crema);
	border: 1px solid var(--line-soft);
	border-radius: 18px;
	padding: 26px 32px;
	margin: 3em 0;
	max-width: 68ch;
	flex-wrap: wrap;
}
@media (max-width: 768px) {
	.spec {
		width: auto;
	}
	.tabla-fila {
		grid-template-columns: auto;
	}
}

/* Empresas: tarjetas de fase/servicio */
.row-phases {
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media screen and (min-width:850px) {
	.row-phases .large-4 {
		flex-basis: calc(33.3333333333% - 20px);
		max-width: calc(33.3333333333% - 20px);
	}
	.row-phases .large-6 {
		flex-basis: calc(50% - 10px);
		max-width: calc(50% - 10px);
	}
}
	@media screen and (min-width:550px) {
	.row-phases .medium-4 {
		flex-basis: calc(33.3333333333% - 20px);
		max-width: calc(33.3333333333% - 20px);
		}
	.row-phases .medium-6 {
		flex-basis: calc(50% - 10px);
		max-width: calc(50% - 10px);
		}
}
.phase-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--crema);
	border: 1px solid var(--line-soft);
	border-radius: 18px;
	padding: 26px 32px;
	text-align: left;
	transition: transform .3s ease, box-shadow .3s ease;
}
.phase-card:hover {
	transform: translateY(-4px);
	box-shadow:0 24px 48px rgba(28,43,37,.10);
}
.phase-card .num {
    display: block;
    font-family: 'HedvigLettersSerif', serif;
    font-style: italic;
    font-size: 1rem;
    color: var(--oro);
    margin-bottom: 14px;
}
.phase-card .button {
	margin-top: auto;
	align-self: flex-start;
}
.phase-card p {text-align: left;}
.phase-list {
	list-style: none;
	margin:18px 0 26px;
	padding:0;
}
.phase-list li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
	padding: 9px 0;
	border-top: 1px solid rgba(28,43,37,.08);
	font-size: .9rem;
	line-height: 1.6;
	color:#1C2B25;
}
.phase-list li::before{ content:'—'; color:#C6A15B; font-weight:600; flex:none; }
@media (prefers-reduced-motion: reduce){
  .phase-card, .phase-card:hover{ transition:none; transform:none; }
}

/* equipo */
.loc {
	padding: clamp(76px, 9vw, 120px) 0 0;
}
.loc-head {
	border-top: 1px solid var(--line);
	padding-top: 28px;
	margin-bottom: clamp(32px, 4vw, 48px);
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px 28px;
	flex-wrap: wrap;
}
.loc-head h2 {
	font-size: clamp(1.7rem, 3vw, 2.3rem);
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}
.loc-head p {
	font-size: .88rem;
	color: var(--muted);
}

/* parrilla equipo */
.people {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: clamp(24px, 3vw, 36px);
}
.person .pphoto img {
	border-radius: 18px;
	overflow: hidden;
	background: var(--crema);
	margin-bottom: 18px;
	width: 100%;
	aspect-ratio: 3 / 3.8;
	object-fit: cover;
	transition: transform .5s var(--ease);
}
.person h3 {
	font-size: 1.22rem;
	margin-bottom: 5px;
}
.person .prole {
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--muted);
}
.person .parea {
	font-size: .8rem;
	color: var(--muted);
	margin-top: 6px;
}

/* footer */
.absolute-footer {
	display: none;
}
.footer-bottom {
	border-top: 1px solid rgba(246, 241, 232, .12);
	padding-top: 24px;	
}
.footer-entry p, .footer-contacto p, .footer-contacto a {
	font-size: 14px;
	color: rgba(246,241,232,.55);
	text-align: left;
	max-width: 400px;
}
.footer-title p {
	font-family: HedvigLettersSerif, serif;
	font-size: 18px;
	font-weight: 500;
	color: var(--cream);
	margin-bottom: 14px;
}
.footer-menu, .footer-contacto {
	gap: 10px;
}
.footer-menu a {
	font-size: 14px;
	color: rgba(246,241,232,.55)!important;
	min-height: unset!important;
	padding-bottom: 0!important;
	padding-top: 0!important;
}
.footer-menu a:hover, .footer-contacto a:hover, .footer-legal a:hover {
	color: rgba(246,241,232,.35)!important;
}
.footer-legal a, .tuchonet-footer small {
	font-size: 14px!important;
	color: rgba(246,241,232,.55)!important;
}
.footer-legal {
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	gap: 20px;
}
.logo-footer .image- {
	padding: 0 0 15px!important;
}
.ue-logos div {
	max-width: fit-content;
}
.ue-logos img {
	max-height: 40px;
	object-fit: contain;
	object-position: left;
}
@media (max-width: 768px) {
	.col-entry .col-inner, .col-contacto .col-inner, .footer-contacto {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	.footer-title {
		margin-bottom: 20px;
	}
	.footer-entry p {
		max-width: 280px;
		text-align: center;
	}
	.footer-contacto .icon-box {
		width: fit-content;
	}
	.footer-bottom {
		padding-top: 40px;
		text-align: center;
	}
	.footer-bottom .col-inner {
		display: flex;
		flex-direction: row;
		justify-content: center;
	}
	.footer-legal {
	    justify-content: flex-start;
	}
}

/* ContactForm 7 */
form.wpcf7-form label {
	font-size: 13px;
	color: var(--carbon);
	font-weight: 500;
	margin-bottom: 7px;
}
form.wpcf7-form input,
form.wpcf7-form select,
form.wpcf7-form textarea {
	width: 100%;
	background: var(--crema);
	border: 1px solid var(--line);
	border-radius: 10px;
	padding: 13px 15px;
	font-size: 15px;
	color: var(--ink);
	box-shadow: none!important;
}
form.wpcf7-form input:focus,
form.wpcf7-form select:focus,
form.wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--carbon);
	background: var(--white);
	box-shadow: 0 0 0 3px rgba(63, 94, 102, .12);
}
.form-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--line);
	flex-wrap: wrap;
}
@media (min-width: 769px) {
	.form-actions {
		margin-bottom: -60px;
	}
}
.req-note {
	font-size: 12px;
	color: var(--carbon);
}
form.wpcf7-form input[type="submit"] {
	padding: 15px 26px;
	border-radius: 99px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1rem;
	text-transform: none;
	cursor: pointer;
	border: none;
	background: var(--carbon);
	color: var(--crema);
}
form.wpcf7-form input[type="submit"]:hover {
	background: var(--oro)!important;
	color: var(--crema);
	transform: translateY(-1px);
	box-shadow: 0 10px 24px -12px rgba(61, 79, 84, .5);
}
.wpcf7-list-item-label {
	margin: 0;
	font-size: 14px;
	color: var(--carbon);
	font-weight: 400;
	cursor: pointer;
}
.wpcf7-list-item-label a {
	color: var(--carbon);
	text-decoration: underline;
	text-underline-offset: 3px;
}
span.wpcf7-not-valid-tip {
	position: relative;
	top: -1em;
	background-color: var(--white)!important;
	border-radius: 0!important;
	margin-top: 10px!important;
}
.wpcf7-not-valid-tip:after {
	border-bottom-color: var(--fs-color-alert)!important;
}
div.wpcf7-response-output {
	padding: 1em !important;
	margin: 0 !important;
}
form.wpcf7-form .wpcf7-acceptance label {
	display: inline-flex;
}
form.wpcf7-form .wpcf7-acceptance label input {
	max-width: 50px;
}
div.wpcf7 .ajax-loader {
	display:none;
	background: none;
	-webkit-animation: spin 1s ease-in-out infinite;
	animation: spin 1s cubic-bezier(0.36, 0.09, 0.27, 0.97) infinite;
	border: 3px solid #dedede;
	border-top: 3px solid #000000;
	border-radius: 50%;
	height: 1em;
	width: 1em;
	margin: 0;
	vertical-align: middle;
}
}
.wpcf7-form-control.g-recaptcha.wpcf7-recaptcha {
    opacity: .75;
}
.wpcf7-list-item {
	display: block!important;
}

/* tarjeta contacto */
.side-block {
	border: 1px solid var(--line);
	border-radius: 18px;
	padding: 22px 24px;
}
.side-block .lbl {
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--oro);
	font-weight: 500;
	margin-bottom: 14px!important;
	display: flex;
	align-items: center;
	gap: 8px;
}
.lbl::before {
	content: "";
	width: 18px;
	height: 1px;
	background: var(--oro);
}
.side-row .icon-box {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
}
.side-row .ico .icon-inner {
	width: 32px;
	height: 32px;
	border-radius: 9px;
	background: var(--crema);
	border: 1px solid var(--white);
	display: grid;
	place-items: center;
	color: var(--oro);
	flex-shrink: 0;
}
.side-row .ico .icon-inner svg {
	padding: 0.2em;
}
.side-row .info .tit p {
	font-size: 12px;
	color: var(--muted);
	text-transform: uppercase;
	letter-spacing: .1em;
	margin-bottom: 4px!important;
	font-weight: 500;
}
.side-row .info .cont p {
	font-family: HedvigLettersSerif, serif;
	font-size: 18px;
	color: var(--carbon);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -.005em;
}
.side-row .info .sub p {
	font-size: 12.5px;
	color: var(--muted);
	margin-top: 3px;
	line-height: 1.4;
}
.hours-list {
	gap: 8px;
	font-size: 14px;
}
.hours-list .day p {
	color: var(--carbon);
	font-weight: 500;
}
.hours-list .time p {
	color: var(--muted);
	font-family: HedvigLettersSerif, serif;
	font-size: 15px;
}
.hours-list .time.closed p {
	color: #B7503D;
	font-style: italic;
}

/* mapa */
.map-grid {
	display: grid;
	grid-template-columns: .85fr 1.15fr;
	gap: 0;
	border: 1px solid var(--line);
	border-radius: 18px;
	overflow: hidden;
	background: var(--white);
	max-width: 1180px;
	margin: 0 auto;
}
.map-text {
	padding: 46px 44px;
}
.map-text p {
	font-size: 15px;
	color: var(--carbon);
	line-height: 1.6;
	margin-bottom: 24px;
	text-wrap: pretty;
	max-width: 340px;
}
.map-cta {
	font-size: 14px;
}
.col-mapa {
	padding: 0!important;
}
.col-mapa p {
	margin-bottom: 0!important;
	line-height: 0!important;
}
.mapa {
	border-radius: 0 18px 18px 0;
	overflow: hidden;
	width: 100%;
	height: 420px;
}
@media (max-width: 768px) {
	.map-grid {
		grid-template-columns: unset;
	}
	.col-mapa .col-inner {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 0 0 60px;
	}
	.mapa {
		border-radius: 18px;
		width: auto;
		height: 350px;
	}
}

/* Blog */
.post_comments.op-8.block.is-xsmall {
	display: none!important;
}