:root {
	--corp-ink: #05283a;
	--corp-muted: #65727a;
	--corp-orange: #ff9828;
	--corp-green: #1c8b49;
	--corp-pale: #f4f7f6;
	--corp-line: #dce4e6;
}

/* Diseño 2.2 — Single de afiliados basado en la maqueta aprobada. */
.corpoturismo-empresa {
	background: #f4f6f7;
}

.corp-profile,
.elementor-element-corp0001 {
	padding: 40px 24px 92px;
	background: #f4f6f7;
}

.corp-shell {
	max-width: 1120px;
}

/* Elementor convierte los contenedores en flex por defecto. Estas reglas
 * preservan la composición real de la maqueta dentro y fuera del editor. */
.corp-profile.elementor-element,
.elementor-element-corp0001 {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
	max-width: none !important;
}

.corp-profile > .corp-shell.elementor-element,
.elementor-element-corp0001 > .elementor-element-corp0002,
.elementor-element-corp0001 > .elementor-element-corp0004,
.elementor-element-corp0001 > .elementor-element-corp0010 {
	align-self: center !important;
	width: calc(100% - 48px) !important;
	max-width: 1120px !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 0 !important;
}

.corp-content-grid.elementor-element,
.elementor-element-corp0004 {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 320px !important;
	align-items: start !important;
	column-gap: 50px !important;
	row-gap: 0 !important;
}

.corp-content-grid.elementor-element > .e-con,
.elementor-element-corp0004 > .e-con {
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.corp-content-grid .elementor-widget-shortcode,
.corp-content-grid .elementor-widget-shortcode > .elementor-widget-container,
.elementor-element-corp0004 .elementor-widget-shortcode,
.elementor-element-corp0004 .elementor-widget-shortcode > .elementor-widget-container {
	width: 100% !important;
}

.corp-breadcrumbs {
	margin-bottom: 18px;
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .015em;
	text-transform: uppercase;
}

.corp-profile__header {
	align-items: center;
	margin-bottom: 24px;
}

.corp-category {
	display: none;
}

.corp-profile h1,
.elementor-element-corp0001 h1 {
	font-size: clamp(36px, 4.2vw, 50px);
	line-height: 1;
}

.corp-meta-row {
	gap: 9px 12px;
	margin-top: 13px;
	font-size: 12px;
}

.corp-meta-row > span {
	display: inline-flex;
	align-items: center;
	min-height: 25px;
}

.corp-rating {
	padding: 5px 11px;
	border-radius: 999px;
	background: #176f32;
	color: #fff;
}

.corp-location {
	color: #7a674f;
	text-decoration: underline;
}

.corp-sustainable {
	padding: 5px 11px;
	border-radius: 999px;
	background: #07384b;
	color: #8ad6b1;
}

.corp-profile-actions {
	display: flex;
	flex: none;
	gap: 10px;
}

.corp-share,
.corp-save {
	min-width: 120px;
	padding: 11px 18px;
	border: 1px solid #b9c6ca;
	border-radius: 10px;
	background: #fff;
	color: var(--corp-ink);
	font: inherit;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
}

.corp-save,
.corp-save.is-saved {
	border-color: #a36113;
	background: #a36113;
	color: #fff;
}

.corp-gallery {
	grid-template-rows: 185px 185px;
	gap: 12px;
	margin-bottom: 42px;
	border-radius: 12px;
}

.corp-gallery--single {
	height: 382px;
}

.corp-gallery__item {
	border-radius: 10px;
}

.corp-logo-card {
	left: 18px;
	bottom: 18px;
	width: 76px;
	height: 76px;
	border-radius: 14px;
}

.corp-content-grid {
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 50px;
}

.corp-section {
	margin-bottom: 46px;
}

.corp-section h2,
.corp-related h2,
.corp-contact-card h2 {
	font-size: clamp(25px, 2.4vw, 31px);
}

.corp-section-title,
.corp-amenities h2,
.corp-related__heading h2 {
	display: flex;
	align-items: center;
	gap: 12px;
}

.corp-section-title > span,
.corp-amenities h2 > span,
.corp-related__heading h2 > span {
	display: block;
	flex: none;
	width: 5px;
	height: 29px;
	border-radius: 4px;
	background: var(--corp-orange);
}

.corp-amenities h2 > span {
	background: #176f32;
}

.corp-about-tabs {
	display: flex;
	gap: 28px;
	margin: 0 0 24px;
	border-bottom: 1px solid #ccd5d8;
}

.corp-about-tabs a {
	position: relative;
	padding: 0 0 11px;
	color: #7b858a;
	font-size: 11px;
	font-weight: 800;
	text-decoration: none;
}

.corp-about-tabs a.is-active {
	color: #9b5b12;
}

.corp-about-tabs a.is-active::after {
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 2px;
	background: #9b5b12;
	content: "";
}

.corp-description,
.corp-section > p:not(.corp-eyebrow) {
	font-size: 15px;
	line-height: 1.72;
}

.corp-impact {
	padding: 22px;
	border: 0;
	border-left: 4px solid #176f32;
	border-radius: 10px;
	background: #e9edec;
}

.corp-impact h2 {
	font-size: 19px;
}

.corp-services {
	gap: 30px 16px;
}

.corp-service__icon {
	width: 58px;
	height: 58px;
}

.corp-service__icon svg {
	width: 27px;
	height: 27px;
}

.corp-sidebar {
	top: 92px;
	gap: 24px;
}

.corp-contact-card {
	padding: 24px;
	border: 1px solid var(--corp-orange);
	border-top-width: 5px;
	border-radius: 16px;
	box-shadow: 0 12px 30px rgba(5, 40, 58, .08);
}

.corp-contact-card__logo {
	width: 58px;
	height: 58px;
	margin-bottom: 16px;
	border-radius: 12px;
}

.corp-contact-card h2 {
	font-size: 24px;
}

.corp-contact-intro {
	font-size: 12px;
}

.corp-whatsapp {
	background: #2fd267;
	box-shadow: none;
}

.corp-socials {
	justify-content: center;
	padding: 18px 0;
}

.corp-contact-item {
	padding: 12px 0;
}

.corp-sidebar-map {
	height: 235px;
	border-radius: 16px;
}

.corp-related {
	margin-top: 64px;
	padding-top: 0;
	border-top: 0;
}

.corp-related__grid {
	gap: 20px;
}

.corp-related-card__media {
	height: 178px;
}

.corp-related-card__body {
	padding: 17px;
}

.corp-related-card h3 {
	font-size: 18px;
}

@media (max-width: 680px) {
	.corp-profile-actions {
		width: 100%;
	}

	.corp-share,
	.corp-save {
		flex: 1;
		min-width: 0;
	}

	.corp-about-tabs {
		gap: 16px;
		overflow-x: auto;
	}
}

@media (max-width: 980px) {
	.corp-content-grid.elementor-element,
	.elementor-element-corp0004 {
		display: flex !important;
		flex-direction: column !important;
		gap: 12px !important;
	}

	.corp-content-grid.elementor-element > .e-con,
	.elementor-element-corp0004 > .e-con {
		width: 100% !important;
	}
}

@layer corpoturismo-legacy {
.corpoturismo-empresa {
	background: #fff;
	color: var(--corp-ink);
}

.corpoturismo-empresa .site-main,
.corpoturismo-empresa .corp-profile {
	width: 100%;
}

.corp-profile {
	padding: 34px 24px 80px;
	font-family: "Montserrat", "Inter", Arial, sans-serif;
}

.corp-shell {
	max-width: 1240px;
	margin: 0 auto;
}

.corp-profile.elementor-element,
.corp-shell.elementor-element,
.corp-content-grid.elementor-element {
	width: 100%;
}

.corp-content-grid > .e-con,
.corp-main-column.e-con {
	min-width: 0;
	padding: 0;
}

.corp-profile .elementor-widget-shortcode,
.corp-profile .elementor-widget-shortcode > .elementor-widget-container {
	width: 100%;
}

.corp-breadcrumbs {
	display: flex;
	gap: 9px;
	align-items: center;
	margin-bottom: 34px;
	color: #75828a;
	font-size: 13px;
}

.corp-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.corp-breadcrumbs strong {
	color: var(--corp-ink);
	font-weight: 700;
}

.corp-profile__header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap: 28px;
	margin-bottom: 30px;
}

.corp-category,
.corp-eyebrow {
	display: inline-block;
	margin: 0 0 10px;
	color: var(--corp-orange);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.corp-category {
	padding: 7px 12px;
	border-radius: 999px;
	background: #fff2df;
}

.corp-profile h1 {
	max-width: 850px;
	margin: 0;
	color: var(--corp-ink);
	font-size: clamp(38px, 5vw, 66px);
	font-weight: 850;
	letter-spacing: -.045em;
	line-height: 1.02;
}

.corp-meta-row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 22px;
	margin-top: 17px;
	color: #53636b;
	font-size: 14px;
	font-weight: 600;
}

.corp-rating {
	color: #e78110;
}

.corp-sustainable {
	color: var(--corp-green);
}

.corp-share {
	flex: none;
	padding: 12px 20px;
	border: 1px solid #bcc9cd;
	border-radius: 999px;
	background: #fff;
	color: var(--corp-ink);
	font: inherit;
	font-size: 14px;
	font-weight: 750;
	cursor: pointer;
}

.corp-gallery {
	position: relative;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	grid-template-rows: 210px 210px;
	gap: 10px;
	overflow: hidden;
	margin-bottom: 62px;
	border-radius: 26px;
	background: var(--corp-pale);
}

.corp-gallery__item {
	min-width: 0;
	min-height: 0;
	margin: 0;
	overflow: hidden;
}

.corp-gallery__item--1 {
	grid-row: 1 / 3;
}

.corp-gallery__item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.corp-gallery__item:hover img {
	transform: scale(1.025);
}

.corp-gallery--single {
	display: block;
	height: 460px;
}

.corp-gallery__placeholder {
	display: grid;
	place-items: center;
	height: 440px;
	background: linear-gradient(135deg, #eaf3ef, #dae8ee);
}

.corp-gallery__placeholder img {
	width: min(360px, 50%);
	max-height: 220px;
	object-fit: contain;
}

.corp-gallery__placeholder span {
	font-size: 120px;
	font-weight: 850;
	opacity: .18;
}

.corp-logo-card {
	position: absolute;
	left: 34px;
	bottom: 28px;
	display: grid;
	place-items: center;
	width: 96px;
	height: 96px;
	padding: 12px;
	border: 1px solid rgba(5, 40, 58, .1);
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(5, 40, 58, .16);
}

.corp-logo-card img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.corp-content-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 380px;
	gap: 70px;
	align-items: start;
}

.corp-main-column {
	min-width: 0;
}

.corp-section {
	margin-bottom: 58px;
}

.corp-section h2,
.corp-related h2,
.corp-contact-card h2 {
	margin: 0 0 20px;
	color: var(--corp-ink);
	font-size: clamp(27px, 3vw, 38px);
	font-weight: 830;
	letter-spacing: -.035em;
	line-height: 1.12;
}

.corp-description,
.corp-section > p:not(.corp-eyebrow) {
	color: #48575f;
	font-size: 17px;
	line-height: 1.85;
}

.corp-description p {
	margin: 0 0 18px;
}

.corp-services {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 34px 18px;
}

.corp-service {
	display: flex;
	flex-direction: column;
	gap: 13px;
	align-items: center;
	justify-content: flex-start;
	min-width: 0;
	padding: 0;
	color: #263d48;
	font-size: 13px;
	text-align: center;
}

.corp-service__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 66px;
	height: 66px;
	border-radius: 50%;
	background: #edf0f1;
	color: var(--corp-ink);
}

.corp-service:nth-child(4n) .corp-service__icon {
	background: var(--corp-ink);
	color: #fff;
}

.corp-service__icon svg {
	width: 31px;
	height: 31px;
}

.corp-service strong {
	max-width: 130px;
	line-height: 1.35;
}

.corp-services-empty {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 18px;
	padding: 20px 22px;
	border: 1px dashed #b7c6cb;
	border-radius: 14px;
	background: #f7f9f9;
	color: #68767d;
	font-size: 13px;
}

.corp-services-empty strong {
	color: var(--corp-ink);
}

.corp-services-empty a {
	margin-left: auto;
	color: #a15b0a;
	font-weight: 800;
}

.corp-amenities h2,
.corp-related__heading h2 {
	display: flex;
	align-items: center;
	gap: 13px;
}

.corp-amenities h2 > span,
.corp-related__heading h2 > span {
	display: block;
	flex: none;
	width: 5px;
	height: 31px;
	border-radius: 4px;
	background: var(--corp-green);
}

.corp-impact {
	display: flex;
	gap: 22px;
	padding: 28px;
	border: 1px solid #a7c0ad;
	border-radius: 20px;
	background: #f1f7f2;
}

.corp-impact__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	background: #d8eedc;
	font-size: 24px;
}

.corp-impact h2 {
	font-size: 25px;
}

.corp-sidebar {
	position: sticky;
	top: 115px;
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.corp-contact-card {
	padding: 30px;
	border: 1px solid var(--corp-line);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(5, 40, 58, .10);
}

.corp-contact-card__logo {
	width: 74px;
	height: 74px;
	margin-bottom: 24px;
	padding: 8px;
	border: 1px solid var(--corp-line);
	border-radius: 16px;
	object-fit: contain;
}

.corp-contact-card h2 {
	font-size: 29px;
}

.corp-contact-intro {
	margin: -8px 0 24px;
	color: var(--corp-muted);
	font-size: 14px;
	line-height: 1.6;
}

.corp-whatsapp {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 15px 18px;
	border-radius: 12px;
	background: #138c42;
	box-shadow: 0 8px 18px rgba(19, 140, 66, .22);
	color: #fff !important;
	font-size: 14px;
	font-weight: 800;
	text-align: center;
	text-decoration: none !important;
}

.corp-whatsapp svg {
	width: 20px;
	height: 20px;
}

.corp-socials {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	padding: 22px 0;
	border-bottom: 1px solid var(--corp-line);
}

.corp-social {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--corp-line);
	border-radius: 50%;
	background: #f7f9f9;
	color: var(--corp-ink) !important;
	font-size: 14px;
	font-weight: 850;
	text-decoration: none !important;
}

.corp-social svg {
	width: 19px;
	height: 19px;
}

.corp-social:hover {
	border-color: var(--corp-orange);
	color: var(--corp-orange) !important;
	transform: translateY(-2px);
}

.corp-contact-list {
	padding-top: 8px;
}

.corp-contact-item {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 12px;
	align-items: start;
	padding: 16px 0;
	border-bottom: 1px solid var(--corp-line);
}

.corp-contact-item:last-child {
	border-bottom: 0;
}

.corp-contact-item__icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #f2f5f5;
	color: #a15b0a;
}

.corp-contact-item__icon svg {
	width: 17px;
	height: 17px;
}

.corp-contact-item__label {
	display: block;
	margin-bottom: 5px;
	color: #7a888f;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.corp-contact-item a,
.corp-contact-item p {
	overflow-wrap: anywhere;
	margin: 0;
	color: var(--corp-ink);
	font-size: 14px;
	font-weight: 650;
	line-height: 1.5;
	text-decoration: none;
}

.corp-sidebar-map {
	position: relative;
	overflow: hidden;
	height: 255px;
	border: 1px solid #a9c8d1;
	border-radius: 20px;
	background: #b7e2ec;
	box-shadow: 0 10px 28px rgba(5, 40, 58, .10);
}

.corp-sidebar-map iframe {
	width: 100%;
	height: 100%;
	border: 0;
}

.corp-sidebar-map > a {
	position: absolute;
	right: 16px;
	bottom: 16px;
	left: 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 15px;
	min-height: 46px;
	padding: 11px 15px;
	border: 1px solid rgba(5, 40, 58, .12);
	border-radius: 13px;
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 6px 18px rgba(5, 40, 58, .12);
	color: var(--corp-ink);
	font-size: 12px;
	text-decoration: none;
}

.corp-sidebar-map > a b {
	flex: none;
	color: #a15b0a;
	font-size: 11px;
}

.corp-related {
	margin-top: 75px;
	padding-top: 55px;
	border-top: 1px solid var(--corp-line);
}

.corp-related__heading {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	margin-bottom: 25px;
}

.corp-related__heading h2 {
	margin: 0;
}

.corp-related__heading h2 > span {
	background: var(--corp-orange);
}

.corp-related__heading > a {
	color: var(--corp-ink);
	font-size: 13px;
	font-weight: 800;
	text-decoration: underline;
}

.corp-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.corp-related-card {
	overflow: hidden;
	border: 1px solid var(--corp-line);
	border-radius: 13px;
	background: #fff;
	color: var(--corp-ink) !important;
	text-decoration: none !important;
	transition: transform .2s ease, box-shadow .2s ease;
}

.corp-related-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 15px 35px rgba(5, 40, 58, .10);
}

.corp-related-card__media {
	position: relative;
	height: 192px;
	overflow: hidden;
}

.corp-related-card__media img,
.corp-related-card__placeholder {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.corp-related-card__tag {
	position: absolute;
	z-index: 1;
	top: 12px;
	left: 12px;
	max-width: calc(100% - 24px);
	padding: 7px 12px;
	overflow: hidden;
	border-radius: 999px;
	background: rgba(255, 255, 255, .94);
	color: var(--corp-ink);
	font-size: 10px;
	font-weight: 800;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.corp-related-card__placeholder {
	display: grid;
	place-items: center;
	background: #edf4f1;
	font-size: 64px;
	font-weight: 850;
	opacity: .4;
}

.corp-related-card__body {
	padding: 20px;
}

.corp-related-card h3 {
	margin: 0 0 9px;
	font-size: 20px;
	line-height: 1.2;
}

.corp-related-card__body > p {
	margin: 0 0 16px;
	color: #68767d;
	font-size: 12px;
}

.corp-related-card__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	padding-top: 14px;
	border-top: 1px solid var(--corp-line);
}

.corp-related-card__footer > span {
	color: #a15b0a;
	font-size: 13px;
	font-weight: 850;
}

.corp-related-card__footer small {
	color: #7b878d;
	font-weight: 500;
}

.corp-related-card__footer b {
	color: var(--corp-ink);
	font-size: 11px;
}

@media (max-width: 980px) {
	.corp-content-grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.corp-sidebar {
		position: static;
		order: -1;
		margin-bottom: 45px;
	}

	.corp-gallery {
		grid-template-columns: 2fr 1fr;
	}

	.corp-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.corp-services {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.corp-profile {
		padding: 22px 16px 60px;
	}

	.corp-breadcrumbs {
		margin-bottom: 24px;
	}

	.corp-profile__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.corp-share {
		align-self: flex-start;
	}

	.corp-gallery,
	.corp-gallery--single {
		display: block;
		height: 320px;
		margin-bottom: 44px;
		border-radius: 18px;
	}

	.corp-gallery__item {
		display: none;
		height: 100%;
	}

	.corp-gallery__item:first-child {
		display: block;
	}

	.corp-logo-card {
		left: 18px;
		bottom: 18px;
		width: 76px;
		height: 76px;
	}

	.corp-related__grid {
		grid-template-columns: 1fr;
	}

	.corp-services {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 14px;
	}

	.corp-related__heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.corp-section {
		margin-bottom: 43px;
	}

	.corp-impact {
		flex-direction: column;
	}

	.corp-contact-card {
		padding: 24px;
		border-radius: 18px;
	}
}
}

.corp-native-badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.corp-native-badges span { padding:6px 11px; border-radius:999px; color:#fff; font-size:11px; font-weight:800; }
.corp-native-rating { background:#176f32; }
.corp-native-sustainable { background:#07384b; }
.corp-contact-actions { display:flex; flex-wrap:nowrap; align-items:stretch; gap:10px; margin-bottom:26px; }
.corp-contact-actions a { display:inline-flex; align-items:center; justify-content:center; gap:6px; min-height:50px; padding:12px 8px; border-radius:12px; font-size:12px; font-weight:800; line-height:1; text-decoration:none !important; white-space:nowrap; box-shadow:0 5px 10px rgba(5,40,58,.12); }
.corp-contact-actions svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.corp-action-whatsapp { flex:1 1 auto; border:2px solid #075218; background:#075218; color:#fff !important; }
.corp-action-website { flex:0 0 auto; border:2px solid #05283a; background:#fff; color:#05283a !important; box-shadow:none !important; }
.corp-practical-info { padding:24px 0 0; border-top:1px solid #e4e8e9; }
.corp-practical-info h3 { margin:0 0 22px; color:#05283a; font-size:20px; font-weight:850; letter-spacing:-.02em; }
.corp-practical-row { display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; margin-bottom:18px; color:#303d45; }
.corp-practical-icon { display:grid; place-items:start center; padding-top:1px; color:#ff8f1f; }
.corp-practical-icon svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.corp-practical-row strong { display:block; margin-bottom:4px; color:#05283a; font-size:14px; font-weight:800; }
.corp-practical-row p { margin:0; color:#39464d; font-size:13px; line-height:1.35; }
.corp-practical-row a { color:inherit; text-decoration:none; }
.corp-native-socials { display:flex; flex-wrap:wrap; gap:8px; }
.corp-practical-info .corp-native-socials { margin-top:20px; padding-top:18px; border-top:1px solid #e4e8e9; }
.corp-native-socials a { display:grid; place-items:center; width:36px; height:36px; border:1px solid #dce4e6; border-radius:50%; color:#05283a; font-size:14px; font-weight:850; text-decoration:none; }
.corp-native-map { position:relative; overflow:hidden; min-height:235px; border-radius:16px; }
.corp-native-map iframe { display:block; width:100%; height:235px; border:0; }
.corp-native-map > a { position:absolute; right:14px; bottom:14px; left:14px; display:flex; justify-content:space-between; gap:10px; padding:11px 14px; border-radius:12px; background:rgba(255,255,255,.96); color:#05283a; font-size:11px; text-decoration:none; box-shadow:0 6px 18px rgba(5,40,58,.12); }
.corp-native-map > a b { color:#a15b0a; }
.corp-service-item:has(.elementor-heading-title:empty) { display:none !important; }
.corp-service-item .elementor-widget-icon .elementor-icon { color:#002234; }
.corp-service-item .elementor-widget-icon .elementor-icon svg { fill:currentColor; stroke:currentColor; }
.corp-service-item .elementor-widget-icon .elementor-icon i { display:grid; place-items:center; width:32px; height:32px; color:#002234; font-size:30px; line-height:1; }
.corp-gallery-lightbox-image a.elementor-clickable { display:block; cursor:zoom-in; }
.corp-gallery-clickable-card { cursor:zoom-in; }
.corp-gallery-modal { position:fixed; z-index:999999; inset:0; display:grid; place-items:center; padding:54px 76px; background:rgba(0,18,28,.93); backdrop-filter:blur(5px); }
.corp-gallery-modal__image { display:block; max-width:min(92vw,1500px); max-height:86vh; width:auto; height:auto; border-radius:14px; object-fit:contain; box-shadow:0 24px 80px rgba(0,0,0,.5); }
.corp-gallery-modal__close,
.corp-gallery-modal__nav { position:absolute; display:grid; place-items:center; width:48px; height:48px; padding:0; border:1px solid rgba(255,255,255,.35); border-radius:50%; background:rgba(5,40,58,.72); color:#fff; font-family:Arial,sans-serif; cursor:pointer; }
.corp-gallery-modal__close { top:22px; right:24px; font-size:36px; line-height:1; }
.corp-gallery-modal__nav { top:50%; translate:0 -50%; font-size:42px; line-height:1; }
.corp-gallery-modal__previous { left:22px; }
.corp-gallery-modal__next { right:22px; }
.corp-gallery-modal__counter { position:absolute; bottom:20px; left:50%; translate:-50% 0; padding:6px 12px; border-radius:999px; background:rgba(5,40,58,.72); color:#fff; font-size:13px; font-weight:700; }
.corp-gallery-modal--single .corp-gallery-modal__nav { display:none; }
.corp-gallery-modal button:focus-visible { outline:3px solid #ff9418; outline-offset:3px; }
@media (max-width:680px) {
	.corp-gallery-modal { padding:58px 12px; }
	.corp-gallery-modal__nav { top:auto; bottom:17px; width:42px; height:42px; translate:0; }
	.corp-gallery-modal__previous { left:18px; }
	.corp-gallery-modal__next { right:18px; }
	.corp-gallery-modal__counter { bottom:26px; }
}
.corp-no-services .corp-services-section,
.corp-not-sustainable .corp-sustainability-cards { display:none !important; }

/* Bloques nativos de Elementor: acciones e información práctica. */
.corp-native-contact-actions { display:flex; flex-wrap:nowrap; align-items:stretch; gap:10px; margin-bottom:26px; }
.corp-native-contact-button { width:auto !important; }
.corp-native-contact-button .elementor-button { display:flex; align-items:center; justify-content:center; gap:4px; width:100%; min-height:50px; padding:12px 2px; border-radius:12px; font-family:"Hanken Grotesk",sans-serif; font-size:11px; font-weight:800; line-height:1; white-space:nowrap; text-decoration:none; }
.corp-native-contact-button .elementor-button-icon { display:inline-flex; font-size:15px; }
.corp-native-contact-whatsapp { flex:1 1 auto !important; }
.corp-native-contact-whatsapp .elementor-button { border:2px solid #075218; background:#075218; color:#fff; box-shadow:0 5px 10px rgba(5,40,58,.12); }
.corp-native-contact-whatsapp .elementor-button:hover { border-color:#053f13; background:#053f13; color:#fff; }
.corp-native-contact-website { flex:0 0 auto !important; }
.corp-native-contact-website .elementor-button { border:2px solid #05283a; background:#fff; color:#05283a; box-shadow:none; }
.corp-native-contact-website .elementor-button:hover { background:#f3f6f7; color:#05283a; }
.corp-native-contact-button:has(a:not([href])),
.corp-native-contact-button:has(a[href=""]) { display:none !important; }

.corp-native-practical-info { padding-top:24px; border-top:1px solid #e4e8e9; }
.corp-native-practical-title { margin-bottom:20px; }
.corp-native-practical-title .elementor-heading-title { margin:0; color:#05283a; font-family:"Hanken Grotesk",sans-serif; font-size:20px; font-weight:850; line-height:1.2; letter-spacing:-.02em; }
.corp-native-practical-row { display:flex; align-items:flex-start; gap:12px; margin-bottom:18px; }
.corp-native-practical-icon { flex:0 0 22px !important; width:22px !important; padding-top:1px; }
.corp-native-practical-icon .elementor-icon { color:#ff8f1f; font-size:18px; }
.corp-native-practical-copy { flex:1 1 auto; min-width:0; }
.corp-native-practical-label .elementor-heading-title { margin:0 0 4px; color:#05283a; font-family:"Hanken Grotesk",sans-serif; font-size:14px; font-weight:800; line-height:1.2; }
.corp-native-practical-value .elementor-heading-title { margin:0; color:#39464d; font-family:"Hanken Grotesk",sans-serif; font-size:13px; font-weight:400; line-height:1.35; }
.corp-native-practical-row:not(:has(.corp-native-practical-value)),
.corp-native-practical-row:has(.corp-native-practical-value .elementor-heading-title:empty) { display:none !important; }

.corp-native-socials-editable { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:2px; padding-top:18px; border-top:1px solid #e4e8e9; }
.corp-native-social { flex:0 0 36px !important; width:36px !important; }
.corp-native-social .elementor-icon { display:grid; place-items:center; width:36px; height:36px; border:1px solid #dce4e6; border-radius:50%; color:#05283a; font-size:14px; text-decoration:none; }
.corp-native-social:not(:has(a[href])),
.corp-native-social:has(a[href=""]) { display:none !important; }

@media (max-width:680px) {
	.corp-contact-actions { gap:10px; }
	.corp-action-whatsapp,
	.corp-action-website { flex:1 1 100%; }
	.corp-native-contact-actions { flex-wrap:wrap !important; }
	.corp-native-contact-whatsapp,
	.corp-native-contact-website { flex:1 1 100% !important; width:100% !important; }
}
