/* Menú hamburguesa en las páginas internas (mismo breakpoint que la portada). */
.service-menu-toggle {
	display: none;
	order: 2;
	margin-left: auto;
	padding: 0;
	cursor: pointer;
}

@media (max-width: 680px) {
	.service-menu-toggle {
		display: block;
	}

	.service-page-header-inner .service-page-menu {
		display: none;
		order: 3;
		grid-template-columns: 1fr;
		gap: 0;
		width: 100%;
		margin: 0;
		padding: 6px 0 10px;
		border-top: 1px solid #c59d5538;
	}

	.service-page-header-inner .service-page-menu.is-open {
		display: grid;
	}

	.service-page-header-inner .service-page-menu > a {
		padding: 13px 0;
		border-bottom: 1px solid #ffffff1f;
		text-align: left;
	}

	.service-page-header-inner .button--nav {
		order: 4;
	}
}

.service-page .service-hero .service-hero-code {
	color: #168fa314;
	pointer-events: none;
	z-index: 0;
}

@media (min-width: 801px) {
	.service-page .service-hero .service-hero-code {
		top: auto;
		right: auto;
		bottom: -80px;
		left: 0;
		font-size: clamp(56px, 6.5vw, 96px);
		transform: none;
	}
}

@media (max-width: 800px) {
	.service-page .service-hero .service-hero-code {
		color: #168fa3;
	}
}


/* ==========================================================================
   Barra superior, cabecera y pie: plantillas de Elementor (OceanWP > My Library)
   asignadas desde Personalizar y desde los ajustes de OceanWP de cada página.
   Las hojas de OceanWP no se cargan en estas páginas: aquí se neutralizan sus
   envoltorios y se da estilo al menú (Apariencia > Menús) y al menú móvil.
   ========================================================================== */
body.ocean-site {
	overflow: visible;
	overflow-x: clip;
}

.kontrol-native-page #top-bar,
.kontrol-native-page #top-bar-inner,
.kontrol-native-page #top-bar-content,
.kontrol-native-page #site-header-inner,
.kontrol-native-page #footer,
.kontrol-native-page #footer-inner,
.kontrol-native-page #footer-widgets,
.kontrol-native-page #footer-widgets .footer-widgets-inner {
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.kontrol-native-page #site-header {
	position: relative;
	z-index: 50;
}

body.ocean-site #site-header {
	position: sticky;
	top: 0;
}

.kontrol-native-page .kontrol-nav,
.kontrol-native-page .kontrol-nav .main-menu {
	display: flex;
	align-items: center;
}

.kontrol-native-page .kontrol-nav .custom-header-nav,
.kontrol-native-page .kontrol-nav #site-navigation-wrap,
.kontrol-native-page .kontrol-nav #site-navigation {
	display: contents;
}

.kontrol-native-page .kontrol-nav .main-menu,
.kontrol-native-page #mobile-dropdown ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.kontrol-native-page .kontrol-nav .main-menu a {
	transition: color .18s;
}

.kontrol-native-page .kontrol-nav .main-menu a:hover {
	color: var(--gold);
}

.kontrol-native-page .kontrol-nav .oceanwp-mobile-menu-icon,
.kontrol-native-page #mobile-dropdown,
.kontrol-native-page #mobile-menu-search,
.kontrol-native-page .search-toggle-li {
	display: none;
}

.kontrol-nav--inicio {
	gap: 22px;
	color: #fff;
	font-family: Marcellus, Georgia, serif;
	font-size: 15px;
	letter-spacing: 1px;
}

.kontrol-nav--inicio .main-menu {
	gap: 22px;
}

.kontrol-nav--inicio .current-menu-item > a {
	color: var(--gold-light);
}

.kontrol-nav--interior {
	gap: 22px;
	margin-left: auto;
	margin-right: 18px;
	font-family: Marcellus, Georgia, serif;
	font-size: 13px;
	letter-spacing: .4px;
}

.kontrol-nav--interior .main-menu {
	gap: 22px;
}

.service-brand-type {
	display: flex;
	flex-direction: column;
	line-height: .9;
}

@media (max-width: 1050px) and (min-width: 681px) {
	.kontrol-nav--inicio,
	.kontrol-nav--inicio .main-menu {
		gap: 12px;
		font-size: 12px;
	}

	.kontrol-nav--inicio .ocean-btn .elementor-button,
	.kontrol-nav--inicio a.ocean-btn {
		padding: 12px 10px;
		font-size: 10px;
	}

	.kontrol-nav--interior {
		order: 3;
		width: 100%;
		margin: 0;
		padding: 12px 0 0;
		border-top: 1px solid #c59d5538;
	}

	.kontrol-nav--interior .main-menu {
		justify-content: space-between;
		gap: 12px;
		width: 100%;
	}
}

@media (max-width: 680px) {
	.kontrol-native-page .kontrol-nav .main-menu {
		display: none;
	}

	.kontrol-native-page .kontrol-nav .oceanwp-mobile-menu-icon {
		display: block;
	}

	.kontrol-nav--interior {
		order: 2;
		margin-right: 0;
	}

	.kontrol-native-page .mobile-menu {
		display: block;
		padding: 0;
		color: #fff;
		background: none;
		border: 0;
		cursor: pointer;
	}

	.kontrol-native-page .mobile-menu .fa-bars {
		display: block;
		width: 23px;
		height: 23px;
		background: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.kontrol-native-page .mobile-menu .oceanwp-text,
	.kontrol-native-page .mobile-menu .oceanwp-close-text {
		display: none;
	}

	.kontrol-native-page #mobile-dropdown {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 60;
		padding: 10px 18px 20px;
		color: #fff;
		background: var(--ink);
		border-bottom: 1px solid #b9965566;
		font-family: Marcellus, Georgia, serif;
		font-size: 15px;
		letter-spacing: 1px;
	}

	.kontrol-native-page #mobile-dropdown a {
		display: block;
		padding: 15px 0;
		border-bottom: 1px solid #ffffff1f;
	}

	.kontrol-native-page #mobile-dropdown .current-menu-item > a {
		color: var(--gold-light);
	}
}

.kontrol-native-page .screen-reader-text:not(:focus) {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

@media (max-width: 800px) {
	.info-page .ocean-topbar .ocean-social-links,
	.service-page .ocean-topbar .ocean-social-links {
		display: none;
	}
}

@media (max-width: 680px) {
	body.kontrol-native-page .elementor-widget.ocean-topbar-slogan,
	.kontrol-native-page .kontrol-nav--inicio .elementor-widget.ocean-btn {
		display: none;
	}

	.kontrol-native-page .service-page-header-inner .elementor-button {
		order: 4;
	}
}

.kontrol-native-page .kontrol-nav .main-menu .menu-cta {
	display: none;
}

.service-page-brand .brand-mark .elementor-heading-title {
	margin: 0;
	color: inherit;
	font: inherit;
	display: inline;
}

@media (max-width: 680px) {
	.kontrol-native-page #mobile-dropdown .menu-cta > a {
		margin-top: 10px;
		padding: 16px 20px;
		color: var(--ink);
		background: var(--gold);
		border: 0;
		font-family: Montserrat, Arial, sans-serif;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 1px;
		text-align: center;
		text-transform: uppercase;
	}
}

.kontrol-native-page .ocean-social-links .elementor-button-text {
	display: block;
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}
