/*
	Theme Name: Revolution Child Theme
	Theme URI: http://themeforest.net/user/fuelthemes
	Description: <strong>A Premium theme for magazine, editor, community and more! WordPress Theme by <a href="http://www.themeforest.net/user/fuelthemes">fuelthemes</a></strong> – Update notifications available on Twitter and Themeforest <a href="http://twitter.com/anteksiler">Follow us on twitter</a> – <a href="http://themeforest.net/user/fuelthemes">Follow us on Themeforest</a>
	Version: 1.0.0
	Author: fuelthemes
	Template: revolution
	Text Domain: revolution
	Domain Path: /inc/languages
*/

/* ── Global: thb_button hover ── */
a.btn.style1:hover::after { background: #0e8880 !important; }

.z-50 {
	z-index: 50 !important;
}

.headroom--top:not(.fixed) {
	background: rgb(0, 0, 0);
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.594297093837535) 0%, rgba(0, 0, 0, 0) 90%, rgba(0, 0, 0, 0) 100%);
}

/* Frosted glass header on scroll */
header.header.fixed {
	background: rgba(255, 255, 255, 0.75) !important;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
}

/* Center header logo */
header.header .logo-holder .logolink .logoimg.logo-light {
	height: 130px !important;
	width: auto !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	margin-top: 30px !important;
}

.hero-height {
	height: 800px;
}

/* Bulletproof hero centering on inner pages, regardless of where `.hero-height` was placed. */
body.page:not(.home) .hero-height {
	display: flex;
	align-items: center;
	justify-content: center;
}

body.page:not(.home) .hero-height > .wpb_wrapper,
body.page:not(.home) .hero-height > .vc_column-inner,
body.page:not(.home) .hero-height > [class*="wpb_column"],
body.page:not(.home) .hero-height > [class*="vc_col-"] {
	width: 100%;
}

body.page:not(.home) .hero-height .thb-slidetype,
body.page:not(.home) .thb-slidetype.hero-height {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	text-align: center;
}

body.page:not(.home) .hero-height h1,
body.page:not(.home) .hero-height h2,
body.page:not(.home) .hero-height .title-xxl {
	text-align: center;
	width: 100%;
}

/* Home keeps its own menu/hero composition. */
body.home .hero-height {
	display: flex;
}

.title-xxl span {
	font-size: clamp(48px, 5vw, 68px);
}

@media (max-width: 1023px) and (min-width: 779px) {
	.hero-height {
		height: 743px;
	}
}

@media (max-width: 778px) and (min-width: 481px) {
	.hero-height {
		height: 565px;
	}
}

@media (max-width: 480px) {
	.hero-height {
		height: 348px;
	}
}

.w-full {
	width: 100%;
}

.object-cover img {
	object-fit: cover;
}

.w-full-children-full,
.w-full-children-full > div {
	width: 100%;
}

#menu_hero {
	position: absolute;
	top: 180px;
	left: 0;
	z-index: 10;
	width: 100%;
}

@media only screen and (max-width: 768px) {
	#menu_hero {
		display: none;
	}
}

@media only screen and (max-width: 810px) {
	#menu_hero .widget ul li a {
		font-size: 14px !important;
	}
}

.menu-navigation-container #menu-navigation,
.menu-navigation-english-container #menu-navigation-english {
	display: flex;
	justify-content: center;
}

#menu_hero ul.menu {
	padding-top: 60px;
}

#menu_hero .widget ul li {
	margin-bottom: 0;
}

#menu_hero .widget ul li a {
	display: block;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
}

.menu-navigation-container #menu-navigation > li,
.menu-navigation-english-container #menu-navigation-english > li {
	margin: 0 20px;
}

.menu-navigation-container #menu-navigation > li > a,
.menu-navigation-english-container #menu-navigation-english > li > a {
	border-bottom: 2px solid #fff;
	padding: 0 50px 8px;
}

.menu-navigation-container #menu-navigation > li > ul,
.menu-navigation-english-container #menu-navigation-english > li > ul {
	background-color: rgba(0, 96, 169, 0.8);
	padding: 20px 0;
}

.menu-navigation-container #menu-navigation ul a,
.menu-navigation-english-container #menu-navigation-english ul a {
	display: block;
	padding: 10px;
}

.menu-navigation-container #menu-navigation ul a:hover,
.menu-navigation-english-container #menu-navigation-english ul a:hover {
	background-color: rgba(51, 51, 51, 0.5);
}

/* Hero submenu arrow rotation (open/close indicator) */
.menu-navigation-container .thb-arrow {
	transition: transform 0.3s ease;
}
.menu-navigation-container .thb-arrow.is-open {
	transform: rotate(180deg);
}

#menu_hero .fixed-on-menu {
	position: absolute;
	top: 0;
}

#menu_hero .fixed-on-menu a {
	display: block;
	width: auto;
	padding: 12px 28px !important;
	font-size: 14px !important;
	border-radius: 100px;
	border-bottom: 0 !important;
	background: #16c0b4;
}

.pto-cancun-btn {
	background: #16c0b4;
}

.pto-cancun-btn:hover {
	background: #0e8880;
}

.box-content {
	display: block;
	text-align: left;
}

.btn-round {
	display: inline-block;
	border-radius: 100px;
	padding: 8px 16px;
}

/* Golf page */
.golf-logo img {
	max-width: 150px !important;
	width: auto;
}

.ratings-logo img {
	max-width: 100px !important;
	width: auto;
}

.photo-bg .vc_column-inner {
	z-index: 1;
	position: relative;
}

.photo-bg .wpb_wrapper:before {
	content: "";
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
	position: absolute;
	display: block;
}

/* Contacto page */
.form-container-flex {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 30px;
	grid-auto-rows: minmax(15px, auto);
}

.form-container-flex input {
	margin: 0 !important;
}

.form-container-flex input.wpcf7-form-control.wpcf7-submit {
	margin-top: 50px !important;
}

.form-container-flex input[type="submit"] {
	margin-top: 30px;
}

.custom-paddings {
	padding: 0 !important;
}

.square-bg img {
	max-height: 500px;
	object-fit: cover;
}

.square-content > div {
	display: flex;
	padding: 0 !important;
	align-items: center;
	justify-content: center;
}

.square-content > div .wpb_wrapper {
	max-width: 480px;
}

.square-bg .thb_image_link,
.square-bg.thb_image_link {
	margin: 0 !important;
}

.hidden {
	display: none;
}

@media (max-width: 768px) {
	.row.mobile-reverse-columns {
		flex-direction: column-reverse !important;
	}

	.row.mobile-pt-0 {
		padding-top: 0 !important;
	}

	.row.mobile-pb-small {
		padding-bottom: 32px !important;
	}

	.mobile-inne-pr-smallest .vc_column-inner,
	.mobile-inner-pr-smallest .vc_column-inner {
		padding-right: 15px !important;
	}

	.mobile-inner-pb-small .vc_column-inner {
		padding-bottom: 32px !important;
	}

	.row.wpb_row.vc_inner.mobile-mb-small,
	.mobile-mb-small {
		margin-bottom: 32px !important;
	}

	.mobile-inner-pb-0 .vc_column-inner {
		padding-bottom: 0 !important;
	}

	.mobile-pr-0 {
		padding-right: 0 !important;
	}

	.mobile-mb-0 {
		margin-bottom: 0 !important;
	}
}

.white-banner > * {
	background: #fff;
	padding: 52px;
}

.hero-sibling {
	position: relative;
	z-index: 2;
}

.hero-sibling-banner {
	margin-top: -25vh;
}

.home .upb_video-wrapper.uvc-video-fixer {
	opacity: 0.5;
}

.thb-fancy-content {
	position: relative;
	overflow: hidden;
}

.thb-fancy-box:hover .thb-fancy-content::before {
	opacity: 0;
	background: none;
}

.thb-fancy-content::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 70%;
	transition: all ease-in-out 0.2s;
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	-webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: bottom;
	-webkit-mask-size: 100% 100%;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));
	z-index: 1;
	pointer-events: none;
}

.thb-fancy-text-content {
	position: relative;
	z-index: 2;
	padding: 16px;
	text-align: left;
	color: #fff;
}

.slick-prev,
.slick-next {
	background: #fff !important;
	border: 0 !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1) !important;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	z-index: 5;
	transition: opacity 0.3s ease, box-shadow 0.3s ease;
}

.slick-prev:before,
.slick-next:before {
	color: #000;
	font-size: 18px;
	line-height: 40px;
	opacity: 0.75;
}

.slick-prev:hover,
.slick-next:hover {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

.slick-prev.slick-disabled,
.slick-next.slick-disabled {
	opacity: 0.35 !important;
	pointer-events: none;
}

/* ===================================================================
   Language Switcher — mobile & desktop
   =================================================================== */

/* --- Mobile: hide ALL flag imagery (nuclear belt-and-suspenders) --- */
#mobile-menu .thb-mobile-language-switcher img,
#mobile-menu .thb-mobile-language-switcher svg,
#mobile-menu .thb-mobile-language-switcher .wpml-ls-flag {
	display: none !important;
}

#mobile-menu .thb-mobile-language-switcher a {
	background-image: none !important;
	background: none !important;
	color: #000 !important;
}

/* Hide any WPML-injected language menu items inside the mobile nav list */
#mobile-menu .thb-mobile-menu > .menu-item-type-wpml_ls_menu_item,
#mobile-menu .thb-mobile-menu > li[class*="wpml-ls"],
#mobile-menu .wpml-ls-statics-shortcode_actions,
#mobile-menu .wpml-ls-slot-shortcode_actions {
	display: none !important;
}

/* --- Desktop: language toggle dropdown --- */
.wpml-ls-current-language > a {
	display: flex !important;
	align-items: center !important;
	gap: 6px !important;
}

.wpml-ls-current-language > a .wpml-ls-native {
	display: inline !important;
	font-size: inherit !important;
	color: inherit !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/* Disable hover — only open on click (.menu-open) */
.wpml-ls-current-language:hover > .sub-menu {
	display: none !important;
	opacity: 0 !important;
	visibility: hidden !important;
}

.wpml-ls-current-language.menu-open > .sub-menu {
	display: block !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* Hide parent theme's language switcher (in case the action wasn't fully removed) */
.secondary-area > .thb-language-switcher {
	display: none !important;
}

/* Hide WPML language switcher from the hero menu (WPBakery nav widget) */
#menu_hero .wpml-ls-item,
#menu_hero .menu-item-type-wpml_ls_menu_item {
	display: none !important;
}

/* Hide orphan custom menu item in secondary area */
.secondary-area li.menu-item-type-custom:first-of-type {
	display: none;
}

/* ===== Events carousel ===== */
.events-carousel .post-gallery img {
	height: 300px;
	object-fit: cover;
}

/* ===== Revolution Slider + gradient overlay ===== */
#rev_slider_1_1_forcefullwidth:after,
.new_gradient:after {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 1;
	background: rgb(14, 37, 78);
	background: linear-gradient(0deg, rgba(14, 37, 78, 1) 0%, rgba(14, 37, 78, 0.054) 100%);
}
.new_gradient:after {
	display: block !important;
}

/* ===== Logo sizing ===== */
.home .logolink .logoimg {
	max-height: 150px;
	margin-top: 20px;
}
header.fixed .logolink .logoimg {
	max-height: 60px;
	margin-top: 0;
}

/* ===== Footer social icons ===== */
#footer-opt-2 .uavc-icons {
	display: inline-block;
	margin: 0;
}
#footer-opt-2 .uavc-icons .aio-icon {
	font-size: 22px !important;
	margin-right: 5px;
	width: auto;
	height: auto;
}

/* ===== Floating Booking Button (.play_btn) ===== */
.play_btn {
	position: fixed;
	z-index: 10000;
	right: 20px;
	bottom: 20px;
	border-radius: 100px;
	min-width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	overflow: hidden;
	padding: 0 25px;
	background-color: #16C0B4;
	color: #fff;
	text-decoration: none;
	transition: opacity 0.4s ease, transform 0.4s ease !important;
}
.play_btn:hover {
	color: #fff;
}
.play_btn img {
	width: 35px;
	height: 35px;
	object-fit: contain;
}
.play_btn span {
	margin-left: 8px;
	font-weight: 600;
	white-space: nowrap;
}

/* Hide on scroll — slide off-screen bottom + fade */
.play_btn.is-hidden {
	opacity: 0 !important;
	transform: translateY(100px) !important;
	pointer-events: none !important;
}

/* Mobile: center button */
@media (max-width: 768px) {
	.play_btn {
		right: auto;
		left: 50%;
		transform: translateX(-50%);
	}
	.play_btn.is-hidden {
		opacity: 0 !important;
		transform: translateX(-50%) translateY(100px) !important;
		pointer-events: none !important;
	}
}

/* ===== TablePress: responsive card layout on mobile ===== */
.tablepress {
	font-size: 12px;
}
@media (max-width: 768px) {
	.tablepress {
		width: 100% !important;
	}
	.tablepress colgroup,
	.tablepress col {
		display: none !important;
	}
	.tablepress thead {
		display: none;
	}
	.tablepress tbody tr {
		display: block;
		margin-bottom: 16px;
		border: 1px solid #ddd;
		border-radius: 6px;
		overflow: hidden;
	}
	.tablepress tbody td {
		display: block;
		padding: 10px 14px;
		border-bottom: 1px solid #eee;
		text-align: left;
	}
	.tablepress tbody td:last-child {
		border-bottom: none;
	}
	.tablepress tbody td::before {
		content: attr(data-label);
		display: block;
		font-weight: 700;
		font-size: 10px;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		color: #666;
		margin-bottom: 2px;
	}
}

/* ===== Discover Section (CPC Club) ===== */

/* --- Section wrapper & ambient gradient --- */
.cpc-discover {
	position: relative;
	overflow: hidden;
}
.cpc-discover::before {
	content: '';
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse at 15% 50%, rgba(42,172,172,0.04) 0%, transparent 55%),
		radial-gradient(ellipse at 85% 50%, rgba(42,172,172,0.03) 0%, transparent 55%);
	pointer-events: none;
	z-index: 0;
}
.cpc-discover > .wpb_column > .vc_column-inner {
	position: relative;
	z-index: 2;
}

/* --- Title --- */
.cpc-discover__title .vc_custom_heading {
	font-size: clamp(1.8rem, 3.5vw, 2.5rem) !important;
	line-height: 1.25 !important;
	font-weight: 400 !important;
}

/* --- Subtitle inside each tab --- */
.cpc-discover__subtitle {
	margin-bottom: 1.5rem !important;
}
.cpc-discover__subtitle p {
	font-family: 'Cormorant Garamond', serif !important;
	font-size: 1.05rem !important;
	color: rgba(255,255,255,0.65) !important;
	font-weight: 400 !important;
	margin: 0 !important;
}

/* --- WPBakery Tabs → Pill Override --- */
.cpc-discover-tabs .vc_tta-tabs-container {
	text-align: center;
	margin-bottom: 1.75rem !important;
}
.cpc-discover-tabs .vc_tta-tabs-list {
	display: inline-flex !important;
	background: rgba(255,255,255,0.07) !important;
	border-radius: 50px !important;
	padding: 4px !important;
	border: none !important;
}
.cpc-discover-tabs .vc_tta-tab {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}
.cpc-discover-tabs .vc_tta-tab > a {
	padding: 0.7rem 2rem !important;
	font-size: 0.65rem !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	font-weight: 600 !important;
	font-family: 'Montserrat', sans-serif !important;
	border: none !important;
	background: transparent !important;
	color: rgba(255,255,255,0.65) !important;
	border-radius: 50px !important;
	transition: all 0.35s ease !important;
	white-space: nowrap;
}
.cpc-discover-tabs .vc_tta-tab > a:hover {
	color: #fff !important;
}
.cpc-discover-tabs .vc_tta-tab.vc_active > a {
	background: #2AACAC !important;
	color: #fff !important;
	box-shadow: 0 4px 15px rgba(42,172,172,0.3) !important;
}
.cpc-discover-tabs .vc_tta-panels-container,
.cpc-discover-tabs .vc_tta-panel-body {
	background: none !important;
	border: none !important;
	padding: 0 !important;
}
/* Force tabs (not accordion) on all screen sizes */
.cpc-discover-tabs .vc_tta-tabs-container {
	display: block !important;
}
.cpc-discover-tabs .vc_tta-panel-heading {
	display: none !important;
}
/* Reset WPBakery default tab borders/lines */
.cpc-discover-tabs .vc_tta.vc_tta-tabs .vc_tta-tabs-container::after,
.cpc-discover-tabs .vc_tta-tabs-list::before,
.cpc-discover-tabs .vc_tta-tabs-list::after {
	display: none !important;
}

/* --- Card grid adjustments --- */
.cpc-cards--2 {
	max-width: 820px;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* --- Card component --- */
.cpc-card .vc_column-inner {
	position: relative !important;
	overflow: hidden !important;
	border-radius: 5px !important;
	padding: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	background-image: none !important; /* JS moves bg to .cpc-card__img */
}
/* Aspect ratios */
.cpc-cards--4 .cpc-card .vc_column-inner { aspect-ratio: 3 / 3.6; }
.cpc-cards--3 .cpc-card .vc_column-inner { aspect-ratio: 3 / 3.2; }
.cpc-cards--2 .cpc-card .vc_column-inner { aspect-ratio: 16 / 11; }

/* Image layer (injected by JS) */
.cpc-card__img {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.6s ease;
	z-index: 0;
}
.cpc-card:hover .cpc-card__img {
	transform: scale(1.06);
}

/* Overlay gradient */
.cpc-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(18,37,53,0) 30%, rgba(18,37,53,0.78) 100%);
	transition: background 0.4s ease;
	z-index: 1;
}
.cpc-card:hover .cpc-card__overlay {
	background: linear-gradient(180deg, rgba(18,37,53,0.1) 20%, rgba(18,37,53,0.88) 100%);
}

/* Card content */
.cpc-card .wpb_wrapper {
	position: relative;
	z-index: 2;
	padding: 1.5rem;
}
.cpc-card .wpb_text_column {
	margin-bottom: 0 !important;
}
.cpc-card__name {
	font-family: 'Cormorant Garamond', serif;
	font-size: 1.35rem;
	font-weight: 500;
	color: #fff;
	line-height: 1.2;
	margin: 0;
}
.cpc-card__desc {
	font-size: 0.72rem;
	color: rgba(255,255,255,0.65);
	font-weight: 300;
	line-height: 1.55;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 0.4s ease;
	margin: 0;
}
.cpc-card:hover .cpc-card__desc {
	max-height: 80px;
	opacity: 1;
	margin-top: 0.4rem;
}
.cpc-card__link {
	display: inline-block;
	font-size: 0.58rem;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #2AACAC !important;
	font-weight: 600;
	text-decoration: none !important;
	max-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 0.4s ease 0.08s;
}
.cpc-card__link::after { content: ' \2192'; }
.cpc-card:hover .cpc-card__link {
	max-height: 30px;
	opacity: 1;
	margin-top: 0.65rem;
}

/* --- Responsive --- */
@media (max-width: 768px) {
	.cpc-discover-tabs .vc_tta-tabs-list {
		border-radius: 12px !important;
		gap: 2px;
	}
	.cpc-discover-tabs .vc_tta-tab > a {
		padding: 0.6rem 1.25rem !important;
		font-size: 0.58rem !important;
		letter-spacing: 0.12em !important;
	}
	.cpc-cards--4 .cpc-card .vc_column-inner,
	.cpc-cards--3 .cpc-card .vc_column-inner { aspect-ratio: 3 / 3.8; }
	.cpc-cards--2 .cpc-card .vc_column-inner { aspect-ratio: 3 / 3.5; }
	.cpc-cards--2 { max-width: 100%; }
	.cpc-card__desc { display: none; }
	.cpc-card:hover .cpc-card__link { max-height: 0; opacity: 0; }
}
@media (max-width: 480px) {
	.cpc-cards .cpc-card { width: 100% !important; }
	.cpc-cards .cpc-card .vc_column-inner { aspect-ratio: 16 / 10; }
}

/* ===== CF7 inside ModalShift ===== */
.dsn-ms-content .form-container-flex {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.dsn-ms-content .form-container-flex .col-50 {
	flex: 1 1 calc(50% - 6px);
	min-width: 0;
}
.dsn-ms-content .form-container-flex label {
	display: block;
	font-size: 13px;
	font-weight: 600;
	margin-bottom: 2px;
	color: #333;
}
.dsn-ms-content .form-container-flex .wpcf7-form-control-wrap {
	display: block;
}
.dsn-ms-content .form-container-flex input[type="text"],
.dsn-ms-content .form-container-flex input[type="email"],
.dsn-ms-content .form-container-flex input[type="tel"] {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #ccc;
	border-radius: 6px;
	font-size: 15px;
	box-sizing: border-box;
	transition: border-color 0.2s;
}
.dsn-ms-content .form-container-flex input:focus {
	border-color: #0082B5;
	outline: none;
}
.dsn-ms-content .form-container-flex p {
	margin: 0;
}
.dsn-ms-content .form-container-flex br {
	display: none;
}
.dsn-ms-content .wpcf7-form input[type="submit"] {
	background: #0082B5;
	color: #fff;
	border: none;
	padding: 14px 32px;
	border-radius: 6px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	width: 100%;
	margin-top: 32px;
	transition: background 0.2s;
}
.dsn-ms-content .wpcf7-form input[type="submit"]:hover {
	background: #006994;
}
@media (max-width: 480px) {
	.dsn-ms-content .form-container-flex .col-50 {
		flex: 1 1 100%;
	}
}

/* Golf intro section — staggered images */
.pcun-golf-stagger,
.pcun-golf-stagger > .vc_row {
	overflow: visible !important;
	align-items: flex-start !important;
}
@media (max-width: 767px) {
	.pcun-golf-stagger .wpb_column:last-child {
		margin-top: 0 !important;
	}
}

/* ── Full-bleed image section ── */
.fullbleed-img-section .wpb_column,
.fullbleed-img-section .vc_column-inner,
.fullbleed-img-section .wpb_wrapper {
	padding: 0 !important;
	margin: 0 !important;
}
.fullbleed-img-section .fullbleed-img .vc_single_image-wrapper {
	display: block;
	line-height: 0;
}
.fullbleed-img-section .fullbleed-img img {
	width: 100%;
	height: auto;
	display: block;
}

/* ── CTA Banner Final ── */
.cta-banner-final {
	position: relative;
	overflow: hidden;
}
.cta-banner-final > .wpb_column,
.cta-banner-final > .wpb_column > .vc_column-inner {
	padding: 0 !important;
	margin: 0 !important;
}
.cta-banner-final > .wpb_column > .vc_column-inner > .wpb_wrapper {
	position: relative;
	padding: 0 !important;
	margin: 0 !important;
}
.cta-banner-final .cta-banner-img .vc_single_image-wrapper {
	display: block;
	line-height: 0;
}
.cta-banner-final .cta-banner-img img {
	width: 100%;
	height: auto;
	display: block;
}
.cta-banner-final .vc_inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: 100%;
	text-align: center;
	padding: 40px 0;
}
.cta-banner-final .vc_inner .btn {
	margin: 0 auto;
}
@media (max-width: 767px) {
	.cta-banner-final .vc_inner {
		position: relative;
		top: auto;
		left: auto;
		transform: none;
		margin-top: -60px;
		padding: 0 16px 24px;
	}
	.cta-banner-final .vc_inner .vc_custom_heading {
		font-size: 24px !important;
		padding: 0 20px;
	}
	.cta-banner-final .cta-banner-img img {
		height: 280px;
		object-fit: cover;
	}
}

/* ══════════════════════════════════════
   PRE-FOOTER CARDS (WPBakery)
   2 cards clickeables con bg + overlay via ::before/::after
   Selectores con alta especificidad para ganar a Revolution
   ══════════════════════════════════════ */

/* Row: sin gaps entre columnas */
.vc_row.pcun-prefooter {
	margin-bottom: 0 !important;
}
.vc_row.pcun-prefooter > .wpb_column {
	padding: 0 !important;
}

/* Card (en vc_column_container) */
.pcun-prefooter .vc_column_container.pcun-prefooter__card {
	position: relative !important;
	overflow: hidden;
	cursor: pointer;
	min-height: 260px;
}
.pcun-prefooter__card > .vc_column-inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 260px;
	padding: 0 !important;
}

/* Bg image via ::before */
.pcun-prefooter__card::before {
	content: '';
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	transition: transform 0.6s ease;
	z-index: 0;
}
.pcun-prefooter__card:hover::before { transform: scale(1.05); }

/* TODO: reemplazar con URLs reales */
.pcun-prefooter__card--noticias::before {
	background-image: url('/wp-content/uploads/2024/XX/noticias-bg.jpg');
}
.pcun-prefooter__card--avisos::before {
	background-image: url('/wp-content/uploads/2024/XX/avisos-bg.jpg');
}

/* Overlay via ::after */
.pcun-prefooter__card::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(247, 245, 242, 0.86);
	z-index: 1;
	transition: background 0.4s ease;
}
.pcun-prefooter__card:hover::after { background: rgba(247, 245, 242, 0.80); }

/* Content: centrado dentro del wrapper WPBakery */
.pcun-prefooter__card .wpb_text_column.pcun-prefooter__content {
	text-align: center;
	max-width: 400px;
	margin: 0 auto;
	padding: 62px 24px 42px;
}
.pcun-prefooter__card .wpb_text_column.pcun-prefooter__content .wpb_wrapper {
	text-align: center;
}

/* Eyebrow */
.pcun-prefooter__card .pcun-prefooter__eyebrow {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #a6624b !important;
	margin-bottom: 10px;
}

/* Title */
.pcun-prefooter__card h2.pcun-prefooter__title {
	font-family: 'Cormorant Garamond', serif !important;
	font-size: 28px !important;
	font-weight: 500;
	line-height: 1.2;
	margin-bottom: 8px;
	color: #0e254e !important;
}

/* Description */
.pcun-prefooter__card .pcun-prefooter__desc {
	font-size: 13px;
	line-height: 1.6;
	margin-bottom: 20px;
	color: #777 !important;
}

/* CTA arrow — stretched link: hace toda la card clickeable */
.pcun-prefooter__card a.pcun-prefooter__cta,
.pcun-prefooter__card a.pcun-prefooter__cta:hover {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: #16c0b4 !important;
	text-decoration: none !important;
	transition: gap 0.3s;
	position: static;
}
.pcun-prefooter__card a.pcun-prefooter__cta::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 3;
}
.pcun-prefooter__card:hover a.pcun-prefooter__cta { gap: 16px; }
.pcun-prefooter__card .pcun-prefooter__cta svg { width: 16px; height: 16px; }


/* ══════════════════════════════════════
   FOOTER PRINCIPAL (WPBakery)
   Todos los selectores prefijados con .pcun-footer
   para ganar especificidad contra Revolution/WPBakery
   ══════════════════════════════════════ */

/* Reset WPBakery padding lateral en toda la zona footer */
.vc_row.pcun-footer {
	margin-bottom: 0 !important;
}
.vc_row.pcun-footer .vc_column-inner,
.vc_row.pcun-footer .vc_column_container,
.row-has-fill.pcun-footer > .vc_column_container > .vc_column-inner,
.pcun-footer .pcun-footer__inner .vc_column-inner {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Inner row: 3 columnas */
.pcun-footer .vc_row-inner.pcun-footer__inner {
	padding: 88px 0 !important;
	border-top: 1px solid rgba(255,255,255,0.12);
	margin: 0 !important;
}
.pcun-footer .pcun-footer__inner > .wpb_column {
	padding: 0 28px !important;
}
.pcun-footer .pcun-footer__inner > .wpb_column:first-child {
	padding-left: 0 !important;
}
.pcun-footer .pcun-footer__inner > .wpb_column:last-child {
	padding-right: 0 !important;
}

/* Reset WPBakery text column margins */
.pcun-footer .wpb_text_column {
	margin-bottom: 0 !important;
}

/* Logo */
.pcun-footer .pcun-footer__logo {
	margin-bottom: 24px !important;
}
.pcun-footer .pcun-footer__logo img {
	height: 50px !important;
	width: auto !important;
	filter: brightness(0) invert(1);
}

/* Brand text */
.pcun-footer .pcun-footer__brand-text {
	font-size: 14px !important;
	line-height: 1.7;
	color: rgba(255,255,255,0.5) !important;
	max-width: 300px;
	margin-bottom: 4px;
}

/* Footer headings */
.pcun-footer h4.pcun-footer__heading {
	font-family: 'Montserrat', sans-serif !important;
	font-size: 12px !important;
	font-weight: 600;
	letter-spacing: 2.5px;
	text-transform: uppercase;
	color: #a6624b !important;
	margin-bottom: 24px;
}

/* Footer links (Amenidades) */
.pcun-footer .pcun-footer__links {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}
.pcun-footer .pcun-footer__links li {
	margin-bottom: 12px;
	list-style: none !important;
}
.pcun-footer .wpb_text_column .pcun-footer__links a,
.pcun-footer .pcun-footer__links a {
	color: rgba(255,255,255,0.7) !important;
	text-decoration: none !important;
	font-size: 14px !important;
	transition: color 0.3s;
}
.pcun-footer .wpb_text_column .pcun-footer__links a:hover,
.pcun-footer .pcun-footer__links a:hover {
	color: #fff !important;
	text-decoration: underline !important;
}

/* Contact */
.pcun-footer .pcun-footer__contact p {
	font-size: 14px !important;
	line-height: 1.8;
	color: rgba(255,255,255,0.7) !important;
	margin-bottom: 0;
}
.pcun-footer .wpb_text_column .pcun-footer__contact a,
.pcun-footer .pcun-footer__contact a {
	color: rgba(255,255,255,0.7) !important;
	text-decoration: none !important;
	transition: color 0.3s;
}
.pcun-footer .wpb_text_column .pcun-footer__contact a:hover,
.pcun-footer .pcun-footer__contact a:hover {
	color: #fff !important;
	text-decoration: underline !important;
}
.pcun-footer .pcun-footer__contact-label {
	font-size: 12px !important;
	font-weight: 600;
	color: #fff !important;
	letter-spacing: 0.5px;
	margin-top: 18px;
	margin-bottom: 4px;
}

/* Social icons */
.pcun-footer .pcun-footer__social {
	display: flex;
	gap: 16px;
	margin-top: 28px;
}
.pcun-footer .pcun-footer__social a,
.pcun-footer .wpb_text_column .pcun-footer__social a {
	color: #fff !important;
	text-decoration: none !important;
	transition: opacity 0.3s;
	line-height: 1;
}
.pcun-footer .pcun-footer__social a:hover { opacity: 0.6; }
.pcun-footer .pcun-footer__social svg { display: block; }

/* wpautop fix: eliminar <br> que WP inyecta entre elementos inline */
.pcun-footer .pcun-footer__social br,
.pcun-footer .pcun-footer__nl-form br,
.pcun-footer .pcun-subfooter__links br { display: none; }

/* Newsletter form */
.pcun-footer .pcun-footer__newsletter h4.pcun-footer__heading {
	margin-top: 32px;
}
.pcun-footer .pcun-footer__nl-form {
	display: flex;
	align-items: stretch;
	gap: 6px;
	margin-top: 8px;
	max-width: 280px;
}
.pcun-footer .pcun-footer__nl-input {
	flex: 1;
	padding: 10px 14px !important;
	border: none !important;
	border-radius: 0 !important;
	background: rgba(255,255,255,0.1) !important;
	font-family: 'Montserrat', sans-serif;
	font-size: 13px !important;
	color: #fff !important;
	outline: none;
	transition: background 0.3s;
	height: auto !important;
	box-shadow: none !important;
}
.pcun-footer .pcun-footer__nl-input:focus { background: rgba(255,255,255,0.15) !important; }
.pcun-footer .pcun-footer__nl-input::placeholder { color: rgba(255,255,255,0.35); }
.pcun-footer .pcun-footer__nl-btn {
	padding: 10px 14px !important;
	background: rgba(255,255,255,0.08) !important;
	color: rgba(255,255,255,0.5) !important;
	border: none !important;
	border-radius: 0 !important;
	cursor: pointer;
	transition: all 0.3s;
	display: flex;
	align-items: center;
	box-shadow: none !important;
	line-height: 1;
	height: 35px;
}
.pcun-footer .pcun-footer__nl-btn:hover {
	background: #16c0b4 !important;
	color: #fff !important;
}
.pcun-footer .pcun-footer__nl-btn:focus-visible {
	outline: 2px solid #16c0b4;
	outline-offset: 2px;
}

/* ══════════════════════════════════════
   SUBFOOTER (WPBakery)
   ══════════════════════════════════════ */
.pcun-footer .wpb_text_column.pcun-subfooter {
	max-width: 1100px;
	margin: 0 auto !important;
	padding: 28px 0;
	border-top: 1px solid rgba(255,255,255,0.12);
}
.pcun-footer .pcun-subfooter .wpb_wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12px;
	color: rgba(255,255,255,0.35);
}
.pcun-footer .wpb_text_column.pcun-subfooter a,
.pcun-footer .pcun-subfooter a {
	color: rgba(255,255,255,0.35) !important;
	text-decoration: none !important;
	transition: color 0.3s;
}
.pcun-footer .wpb_text_column.pcun-subfooter a:hover,
.pcun-footer .pcun-subfooter a:hover {
	color: rgba(255,255,255,0.6) !important;
	text-decoration: underline !important;
}
.pcun-footer .pcun-subfooter__links {
	display: flex;
	gap: 24px;
}

/* ══════════════════════════════════════
   SUBFOOTER BAR (widget-based override)
   Targets the theme's .subfooter rendered by
   child override inc/templates/footer/subfooter-style*.php
   ══════════════════════════════════════ */
.pcun-subfooter-bar .pcun-subfooter-widget { margin-bottom: 0; }
.pcun-subfooter-bar .pcun-subfooter-widget p { margin-bottom: 0; opacity: 1 !important; color: rgba(255,255,255,0.35) !important; }

/* Nav menu widget in right column → horizontal links */
.pcun-subfooter-bar__right .widget_nav_menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5em;
	justify-content: flex-end;
}
.pcun-subfooter-bar__right .widget_nav_menu ul li { list-style: none; margin: 0; padding: 0; }
.pcun-subfooter-bar__right .widget_nav_menu ul li a {
	color: rgba(255,255,255,0.35) !important;
	text-decoration: none;
	transition: color 0.3s;
}
.pcun-subfooter-bar__right .widget_nav_menu ul li a:hover {
	color: rgba(255,255,255,0.7) !important;
	text-decoration: underline;
}

/* Custom HTML widget with inline links (alternative to nav menu widget) */
.pcun-subfooter-bar__right .pcun-subfooter-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5em;
	justify-content: flex-end;
}
.pcun-subfooter-bar__right .pcun-subfooter-links a {
	color: rgba(255,255,255,0.35) !important;
	text-decoration: none;
	transition: color 0.3s;
}
.pcun-subfooter-bar__right .pcun-subfooter-links a:hover {
	color: rgba(255,255,255,0.7) !important;
	text-decoration: underline;
}

/* Hide widget titles in subfooter (usually not needed) */
.pcun-subfooter-bar .pcun-subfooter-title { display: none; }

@media (max-width: 639px) {
	.pcun-subfooter-bar__right .widget_nav_menu ul,
	.pcun-subfooter-bar__right .pcun-subfooter-links {
		justify-content: center;
		gap: 1em;
	}
}

/* ══════════════════════════════════════
   FOOTER RESPONSIVE
   ══════════════════════════════════════ */
@media (max-width: 900px) {
	.pcun-prefooter .vc_column_container.pcun-prefooter__card { min-height: 220px; }
	.pcun-prefooter__card > .vc_column-inner { min-height: 220px; }
}
@media (max-width: 600px) {
	.pcun-prefooter .vc_column_container.pcun-prefooter__card { min-height: 200px; }
	.pcun-prefooter__card h2.pcun-prefooter__title { font-size: 24px !important; }
	.pcun-footer .pcun-footer__nl-form { max-width: 100%; }
	.pcun-footer .pcun-subfooter .wpb_wrapper {
		flex-direction: column;
		gap: 12px;
		text-align: center;
	}
}

/* ══════════════════════════════════════
   GOLF PAGE
   ══════════════════════════════════════ */

/* ── Golf Stats responsive ── */
@media (max-width: 767px) {
	.golf-stats .wpb_text_column p:first-child {
		font-size: 40px !important;
	}
	.golf-hero .vc_column {
		padding-top: 15vh !important;
		padding-bottom: 15vh !important;
	}
}

/* ── Golf Gallery ── */
.golf-gallery .wpb_column,
.golf-gallery .vc_column-inner {
	padding: 0 !important;
	margin: 0 !important;
}
.golf-gallery .thb-image-slider .slick-slide img {
	width: 100%;
	height: 65vh;
	object-fit: cover;
}

/* ── Golf Clínicas imagen full height ── */
.golf-clinicas .thb_image_frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ── Toptracer Page — Split Section ── */
.pcun-split-section > .wpb_column:last-child .vc_column-inner {
	padding: 0 !important;
}
.pcun-split-section > .wpb_column:last-child .thb_image_frame,
.pcun-split-section > .wpb_column:last-child .thb_image_frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@media (max-width: 767px) {
	.pcun-split-section > .wpb_column:first-child .vc_column-inner {
		padding: 40px 24px !important;
	}
	.pcun-split-section > .wpb_column:last-child .thb_image_frame img {
		height: 300px;
	}
}

/* ── Toptracer Page — Features Row (Photo Cards) ── */
.pcun-features-row .thb_image_frame img {
	border-radius: 8px;
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}

/* ── Toptracer Page — Carousel Background Overlay ── */
.pcun-carousel-bg {
	position: relative;
}
.pcun-carousel-bg::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(14, 37, 78, 0.88);
	z-index: 1;
	pointer-events: none;
}
.pcun-carousel-bg > .wpb_column {
	position: relative;
	z-index: 2;
}

/* ── Toptracer Page — Carousel Cards ── */
.pcun-toptracer-carousel .slick-slide .vc_column-inner {
	overflow: hidden;
	transition: background-color 0.3s ease;
}
.pcun-toptracer-carousel .slick-slide .vc_column-inner:hover {
	background-color: rgba(14,37,78,0.05) !important;
}
.pcun-toptracer-carousel .thb_image_frame {
	margin-bottom: 0 !important;
}
.pcun-toptracer-carousel .thb_image_link .thb-image-inner img {
	margin: 0 auto;
}
.pcun-toptracer-carousel .slick-slide .thb_image_link .thb-image-inner img {
	max-width: 300px;
}
.pcun-toptracer-carousel .wpb_wrapper {
	display: flex;
	flex-direction: column;
}
.pcun-toptracer-carousel .pcun-card-text {
	padding: 20px 24px 24px 24px;
	text-align: center;
}

/* ── Toptracer Page — Carousel Arrows (Revolution theme uses .slick-nav) ── */
.pcun-toptracer-carousel .slick-nav {
	width: 44px;
	height: 44px;
	background: rgba(22, 192, 180, 0.9) !important;
	border-radius: 50%;
	border: none;
	z-index: 10;
	transition: background 0.3s ease;
	cursor: pointer;
}
.pcun-toptracer-carousel .slick-nav:hover {
	background: #16c0b4 !important;
}
.pcun-toptracer-carousel .slick-nav svg {
	width: 16px;
	height: 16px;
	fill: #fff;
	stroke: #fff;
	filter: brightness(0) invert(1);
}

/* ── Toptracer Page — Contact Section (Mayakoba-style split) ── */
.pcun-contacto-section > .wpb_column:first-child .vc_column-inner {
	padding: 0 !important;
}
.pcun-contacto-section > .wpb_column:first-child .thb_image_frame,
.pcun-contacto-section > .wpb_column:first-child .thb_image_frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@media (max-width: 767px) {
	.pcun-contacto-section > .wpb_column:first-child .thb_image_frame img {
		height: 300px;
	}
	.pcun-contacto-section > .wpb_column:last-child .vc_column-inner {
		padding: 40px 24px !important;
	}
}

/* ── Toptracer Page — Pricing Cards (columns desktop, scroll mobile) ── */
.pcun-pricing-cards .wpb_content_element {
	margin-bottom: 0 !important;
}
.pcun-pricing-cards > .wpb_column > .vc_column-inner {
	height: 100%;
}
/* Mobile: horizontal scroll carousel */
@media (max-width: 767px) {
	.pcun-pricing-cards {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		-ms-overflow-style: none;
		padding-bottom: 8px;
	}
	.pcun-pricing-cards::-webkit-scrollbar {
		display: none;
	}
	.pcun-pricing-cards > .wpb_column {
		flex: 0 0 82% !important;
		max-width: 82% !important;
		width: 82% !important;
		scroll-snap-align: center;
	}
}

.d-none {
	display: none !important;
}

/* ── Editorial Hero (page-editorial.php) ── */
.pcun-editorial-hero {
	position: relative;
	height: 45vh;
	min-height: 320px;
	max-height: 500px;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.pcun-editorial-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(14, 37, 78, 0.85) 0%, rgba(14, 37, 78, 0.3) 100%);
}
.pcun-editorial-hero__content {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: 0 20px 48px;
}
.pcun-editorial-hero__content h1 {
	color: #fff;
	font-size: 42px;
	font-weight: 300;
	letter-spacing: 3px;
	text-transform: uppercase;
	margin: 0;
}
/* Editorial body */
.pcun-editorial-body {
	padding-top: 48px;
	padding-bottom: 48px;
}
.pcun-editorial-body .post-content {
	max-width: 860px;
	margin: 0 auto;
}
@media (max-width: 767px) {
	.pcun-editorial-hero {
		height: 35vh;
		min-height: 240px;
	}
	.pcun-editorial-hero__content h1 {
		font-size: 28px;
		letter-spacing: 2px;
	}
	.pcun-editorial-hero__content {
		padding-bottom: 32px;
	}
}