/*
Theme Name: Martini Shot Child
Template: astra
Version: 1.0
*/

/* ================================
   LOCAL GOOGLE FONTS
   ================================ */
@font-face {
	font-family: 'Abel';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('./fonts/abel-latin-400.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Bodoni Moda';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('./fonts/bodoni-latinext-400.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Bodoni Moda';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('./fonts/bodoni-latin-400.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Bodoni Moda';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('./fonts/bodoni-latinext-700.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Bodoni Moda';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('./fonts/bodoni-latin-700.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Bodoni Moda';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('./fonts/bodoni-latinext-400i.woff2') format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Bodoni Moda';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('./fonts/bodoni-latin-400i.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ================================
   VARIABLES
   ================================ */
:root {
	--ms-negro: #1A1A1F;
	--ms-oro: #C9A84C;
	--ms-oro-text: #9E8230; /* oro oscurecido para texto sobre fondo claro - WCAG AA */
	--ms-siena: #8B7355;
	--ms-crema: #F5F0E8;
	--ms-gris: #6B6B6B;
	--ms-blanco: #FFFFFF;
	--ms-font-display: 'Bodoni Moda', Georgia, serif;
	--ms-font-ui: 'Abel', sans-serif;
	--ms-transition: 0.3s ease;
	--ms-radius: 4px;
}

/* ================================
   RESET BASE
   ================================ */
body {
	background-color: var(--ms-blanco) !important;
}

/* Paginas legales y genericas con clase ms-legal */
#content .ast-container:has(.ms-legal) {
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 !important;
	width: 100% !important;
}
.ms-legal {
	max-width: 800px !important;
	margin: 0 auto !important;
	padding: 60px 24px !important;
}
.ms-legal h2,
.ms-legal h3 {
	margin-top: 1.5em !important;
}
.ms-legal h3 {
	font-family: var(--ms-font-ui) !important;
	font-size: 18px !important;
	letter-spacing: 0 !important;
	text-transform: uppercase !important;
}
.ms-legal p {
	font-size: 16px !important;
	line-height: 1.7 !important;
	color: var(--ms-gris) !important;
}
.ms-legal strong {
	color: var(--ms-negro) !important;
}
.ms-legal a {
	color: var(--ms-oro-text) !important;
}
.ms-legal a:hover {
	color: var(--ms-siena) !important;
}

a {
	color: inherit;
	text-decoration: none;
	transition: color var(--ms-transition);
}

::selection {
	background: var(--ms-oro);
	color: var(--ms-negro);
}

/* ================================
   TIPOGRAFIA - HEADINGS
   ================================ */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
	font-weight: 400 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.02em !important;
}

h1, .elementor-widget-heading h1 { line-height: 1.0 !important; }
h2, .elementor-widget-heading h2 { line-height: 1.08 !important; }
h3, .elementor-widget-heading h3 { line-height: 1.12 !important; }
h4, h5, h6 { line-height: 1.2 !important; letter-spacing: 0 !important; }

/* ================================
   HEADER
   ================================ */
.site-header {
	border-bottom: none !important;
	margin-bottom: 0 !important;
	box-shadow: none !important;
}

.ast-primary-header-bar,
.ast-main-header-wrap,
.main-header-bar-wrap {
	border-bottom: none !important;
	box-shadow: none !important;
}

.home .site-content,
.home #content,
.home .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single:first-child,
.ast-separate-container #primary,
.ast-separate-container .entry-content,
.ast-plain-container,
#primary,
.site-main,
.entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.site-header + * {
	margin-top: 0 !important;
}

.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container #primary > .ast-row,
.ast-separate-container .entry-content > .elementor {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.ast-separate-container #primary {
	padding-top: 0 !important;
}

body.ast-separate-container {
	background: #1A1A1F !important;
}

.custom-logo {
	max-height: 36px !important;
	width: auto !important;
	display: block !important;
}

.main-header-menu .menu-item > a {
	font-family: var(--ms-font-ui) !important;
	font-size: 13px !important;
	letter-spacing: 1.5px !important;
	text-transform: uppercase !important;
	color: var(--ms-blanco) !important;
	transition: color var(--ms-transition) !important;
	padding: 0 20px !important;
	white-space: nowrap !important;
}

.main-header-menu .menu-item > a:hover,
.main-header-menu .current-menu-item > a {
	color: var(--ms-oro) !important;
}

/* ================================
   OFF-CANVAS MENU (mobile/flyout)
   ================================ */
.ast-mobile-header-content .menu-link,
.ast-mobile-header-content .menu-item > a,
#ast-hf-mobile-menu .menu-link,
#ast-hf-mobile-menu .menu-item > a {
	color: var(--ms-negro) !important;
}

.ast-mobile-header-content .menu-link:hover,
.ast-mobile-header-content .current-menu-item > .menu-link,
.ast-mobile-header-content .current_page_item > .menu-link,
#ast-hf-mobile-menu .menu-link:hover,
#ast-hf-mobile-menu .current-menu-item > .menu-link,
#ast-hf-mobile-menu .current_page_item > .menu-link {
	color: var(--ms-oro) !important;
}

.ast-mobile-header-content .ast-header-button-1 .ast-custom-button-link,
.ast-mobile-header-content .ast-header-button-1 .menu-link {
	color: var(--ms-negro) !important;
}

.ms-site-logo { display: flex; align-items: center; }
.ms-logo-link { display: block; line-height: 0; }
.ms-logo-link svg path { fill: var(--ms-blanco) !important; }
.ast-site-identity .site-title,
.ast-site-identity .site-description,
.ast-site-identity .custom-logo-link {
	display: none !important;
}

/* ================================
   SET CARDS - HOVER ZOOM
   ================================ */
.ms-set-card {
	overflow: hidden !important;
	background-size: cover !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
}

/* ================================
   HERO - HOME
   ================================ */
.home .e-con.hero-home {
	min-height: calc(100vh - 80px) !important;
	margin-top: 0 !important;
	position: relative !important;
}

.home .e-con.hero-home > .e-con-inner {
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-end !important;
	min-height: calc(100vh - 80px) !important;
	padding-bottom: 180px !important;
	padding-left: 60px !important;
	padding-right: 60px !important;
	box-sizing: border-box !important;
}


.hero-home::after {
	content: '';
	position: absolute;
	bottom: 32px;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 48px;
	background: linear-gradient(to bottom, var(--ms-oro), transparent);
	animation: ms-scroll-line 2s ease-in-out infinite;
	pointer-events: none;
}

@keyframes ms-scroll-line {
	0%   { opacity: 0; height: 0; }
	50%  { opacity: 1; height: 48px; }
	100% { opacity: 0; height: 48px; }
}

@media (max-width: 768px) {
	.home .e-con.hero-home > .e-con-inner {
		padding-left: 24px !important;
		padding-right: 24px !important;
		padding-bottom: 100px !important;
	}
}

/* ================================
   SERVICIOS
   ================================ */
.ms-servicios .elementor-widget {
	margin-bottom: 12px !important;
}

.ms-servicios .elementor-widget-text-editor p {
	margin-bottom: 0 !important;
}

/* ================================
   FAQS - ACORDEON (nested)
   ================================ */
.ms-faqs .e-n-accordion {
	border: none !important;
}

.ms-faqs .e-n-accordion-item {
	border: none !important;
	border-bottom: 1px solid rgba(26, 26, 31, 0.1) !important;
}

.ms-faqs .e-n-accordion-item:last-child {
	border-bottom: none !important;
}

.ms-faqs .e-n-accordion-item-title {
	padding: 24px 0 !important;
	background: transparent !important;
	flex-direction: row-reverse !important;
}

.ms-faqs .e-n-accordion-item-title-icon {
	margin-left: auto !important;
	margin-right: 0 !important;
}

.ms-faqs .e-n-accordion-item-title-header {
	flex: 1 !important;
}

.ms-faqs .e-n-accordion-item > .e-con {
	padding: 0 0 24px 0 !important;
	background: transparent !important;
	border: none !important;
}

/* ================================
   CTA
   ================================ */
.ms-cta .elementor-widget-text-editor a {
	color: #C9A84C !important;
}

.ms-cta .elementor-widget-text-editor a:hover {
	color: #FFFFFF !important;
}

/* ================================
   SET INFO
   ================================ */
.ms-set-info {
	display: flex !important;
	flex-direction: row !important;
	align-items: baseline !important;
	gap: 16px !important;
}

.ms-set-info .elementor-widget {
	margin-bottom: 0 !important;
}

.elementor-widget-image img {
	width: 100% !important;
	max-width: 100% !important;
}

.ms-foto-pano {
	padding: 0 !important;
	margin: 0 !important;
	max-width: 100% !important;
	width: 100vw !important;
	margin-left: calc(-50vw + 50%) !important;
}

/* Reservar espacio para el carrusel antes de que carguen las imagenes (lazy load) */
.ms-carrusel .swiper-slide {
	aspect-ratio: 3 / 2;
}
.ms-carrusel .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ms-oneshot-img {
	width: 300px !important;
	height: 300px !important;
	min-height: 300px !important;
	max-height: 300px !important;
	flex-shrink: 0 !important;
	flex-grow: 0 !important;
}

/* ================================
   RESPONSIVE MOBILE
   ================================ */
@media (max-width: 768px) {

	/* Paddings de seccion reducidos */
	.elementor-section > .elementor-container,
	.e-con {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	.ast-separate-container .entry-content > .elementor {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.ms-carrusel,
	.ms-carrusel .elementor-widget-container,
	.ms-carrusel .swiper-container,
	.ms-carrusel .swiper-wrapper,
	.ms-carrusel .swiper-slide,
	.ms-carrusel .swiper-slide img {
		padding: 0 !important;
		margin: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.ms-foto-pano {
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		margin-left: 0 !important;
	}

	.ms-sets-wrapper,
	.ms-sets-wrapper > .e-con,
	.ms-sets-wrapper > .e-con > .e-con {
		padding-left: 0 !important;
		padding-right: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.ms-mosaico,
	.ms-mosaico .e-con {
		flex-direction: column !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: 4px !important;
		padding: 0 !important;
		min-height: auto !important;
		height: auto !important;
	}
	.ms-mosaico .e-con[data-settings*="background"] {
		width: 100% !important;
		min-height: 250px !important;
		height: 250px !important;
		flex: none !important;
	}

	.ms-sets-wrapper .ms-set-info,
	.ms-sets-wrapper .elementor-widget-text-editor,
	.ms-sets-wrapper .elementor-widget-heading {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	/* Tipografia reducida (h1 intacto - hero no se toca) */
	h2, .elementor-widget-heading h2 { font-size: 32px !important; }
	h3, .elementor-widget-heading h3 { font-size: 22px !important; }

	/* Hero: reducir altura en movil */
	.home .e-con.hero-home {
		min-height: 70vh !important;
	}
	.home .e-con.hero-home > .e-con-inner {
		min-height: 70vh !important;
		padding-bottom: 80px !important;
	}

	/* Sets: sin margenes, ancho completo, textos mas grandes */
	.ms-set-card {
		width: 100% !important;
		min-height: 50vh !important;
		margin: 0 !important;
		border-radius: 0 !important;
	}
	.ms-set-card .elementor-widget-heading .elementor-heading-title {
		font-size: 32px !important;
	}
	.ms-set-card .elementor-widget-text-editor,
	.ms-set-card .elementor-widget-text-editor p {
		font-size: 16px !important;
	}

	/* Contenedor padre de los sets: sin padding lateral, stack vertical */
	.ms-set-card-container {
		padding-left: 0 !important;
		padding-right: 0 !important;
		gap: 0 !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}
	.ms-set-card-container > .e-con,
	.ms-set-card-container > .ms-set-card {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}

	/* Servicios: mismas anchuras y separacion uniforme */
	.ms-servicios {
		width: 100% !important;
		max-width: 100% !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}
	.ms-servicios > .e-con,
	.ms-servicios > .e-con > .e-con {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}
	.ms-servicios > .e-con > .e-con.e-child {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin: 0 !important;
		gap: 2px !important;
	}
	.ms-servicios .e-con-boxed > .e-con-inner {
		max-width: 100% !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.ms-servicios .e-con-boxed.e-child {
		width: 100% !important;
		max-width: 100% !important;
		padding: 36px 32px !important;
	}

	.ms-content-studio,
	.ms-content-studio > .e-con-inner {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
		gap: 2px !important;
	}
	.ms-content-studio .e-con.e-child,
	.ms-content-studio .e-con-boxed.e-child {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	.ms-servicios .e-con[data-element_type="container"] { flex-wrap: wrap !important; }
	.ms-servicios .e-con.e-child,
	.ms-servicios .e-con[data-element_type="container"] {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
	}
	.ms-servicios .e-child {
		margin-bottom: 2px !important;
	}

	/* Sesion de prueba (ultimo item): alinear a la izquierda */
	.ms-servicios .e-child:last-child {
		flex-direction: column !important;
	}
	.ms-servicios .e-child:last-child .e-con {
		width: 100% !important;
		text-align: left !important;
	}
	.ms-servicios .e-child:last-child .elementor-widget-heading .elementor-heading-title {
		text-align: left !important;
	}

	.ms-trial {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
	.ms-trial > .e-con.e-child {
		width: 100% !important;
	}
	.ms-trial > .e-con.e-child:last-child {
		text-align: left !important;
	}
	.ms-trial > .e-con.e-child:last-child .elementor-heading-title {
		text-align: left !important;
	}
	.ms-trial > .e-con.e-child > .e-con-inner,
	.ms-trial > .e-con-boxed > .e-con-inner,
	.ms-club > .e-con.e-child > .e-con-inner,
	.ms-club > .e-con-boxed > .e-con-inner {
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	.ms-trial,
	.ms-club {
		padding: 36px 32px !important;
	}
	.ms-trial > .e-con,
	.ms-trial > .e-con-boxed,
	.ms-club > .e-con,
	.ms-club > .e-con-boxed {
		padding: 0 !important;
	}
	.ms-trial > .e-con > .e-con-inner,
	.ms-trial > .e-con-boxed > .e-con-inner,
	.ms-club > .e-con > .e-con-inner,
	.ms-club > .e-con-boxed > .e-con-inner {
		max-width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	.ms-trial .e-con-inner,
	.ms-club .e-con-inner {
		max-width: 100% !important;
		padding: 0 !important;
	}

	/* Como funciona: numeros mas grandes en movil */
	.elementor-heading-title[style*="color: rgb(201, 168, 76)"] {
		font-size: 56px !important;
	}
	.ms-step-number .elementor-heading-title {
		font-size: 56px !important;
	}

	/* CTA final: mas padding lateral en el subtexto */
	.ms-cta .elementor-widget-text-editor {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	/* Footer: mas padding lateral */
	.site-footer {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}


	.ms-addon {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 4px !important;
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	.ms-addon > .e-con,
	.ms-addon > .e-con > .e-con-inner {
		padding-left: 0 !important;
	}

	.ms-addon > .elementor-widget-heading {
		padding-left: 0 !important;
		margin-left: 0 !important;
	}

	.ms-addon .elementor-widget-heading .elementor-heading-title {
		text-align: left !important;
	}

	.ms-addon .elementor-widget-heading {
		width: 100% !important;
	}

	.ms-galeria,
	.ms-galeria .e-con {
		padding-left: 5px !important;
		padding-right: 5px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.ms-galeria .elementor-widget-video,
	.ms-galeria .elementor-widget-text-editor {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.ms-galeria .elementor-widget-text-editor {
		margin-bottom: 0 !important;
	}

	.ms-galeria .elementor-widget-text-editor + .elementor-widget-text-editor {
		margin-top: -8px !important;
	}

	.ms-mapa {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

}

.ms-video-hero {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.ms-video-hero .e-con,
.ms-video-hero .elementor-widget {
	padding-left: 0 !important;
	padding-right: 0 !important;
	max-width: 100% !important;
	width: 100% !important;
}

.ms-form-oneshot input[type="text"],
.ms-form-oneshot input[type="email"],
.ms-form-oneshot textarea {
	font-family: 'Abel', sans-serif !important;
	font-size: 15px !important;
	border: 1px solid rgba(26,26,31,0.15) !important;
	padding: 10px 14px !important;
	width: 100% !important;
	background: #FFFFFF !important;
}

.ms-form-oneshot input[type="submit"],
.ms-form-oneshot button[type="submit"],
.ms-form-oneshot .wpforms-submit {
	font-family: 'Abel', sans-serif !important;
	font-size: 14px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	background: #1A1A1F !important;
	color: #FFFFFF !important;
	border: none !important;
	padding: 14px 40px !important;
	cursor: pointer !important;
	display: block !important;
	margin: 0 auto !important;
}

.ms-form-oneshot input[type="submit"]:hover,
.ms-form-oneshot button[type="submit"]:hover,
.ms-form-oneshot .wpforms-submit:hover {
	background: #C9A84C !important;
	color: #1A1A1F !important;
}

.ms-form-oneshot label {
	font-family: 'Abel', sans-serif !important;
	font-size: 16px !important;
	color: #6B6B6B !important;
	margin-bottom: 4px !important;
	display: block !important;
}

.ms-form-oneshot .wpforms-field,
.ms-form-oneshot .wpcf7-form-control-wrap,
.ms-form-oneshot p {
	margin-bottom: 16px !important;
}

.ms-form-oneshot .wpforms-field-label,
.ms-form-oneshot label {
	padding-bottom: 2px !important;
}

.ms-form-contacto input[type="text"],
.ms-form-contacto input[type="email"],
.ms-form-contacto input[type="tel"],
.ms-form-contacto textarea {
	font-family: 'Abel', sans-serif !important;
	font-size: 15px !important;
	border: 1px solid rgba(26,26,31,0.15) !important;
	padding: 10px 14px !important;
	width: 100% !important;
	background: #FFFFFF !important;
}

.ms-form-contacto input[type="submit"],
.ms-form-contacto button[type="submit"],
.ms-form-contacto .wpforms-submit {
	font-family: 'Abel', sans-serif !important;
	font-size: 14px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	background: #1A1A1F !important;
	color: #FFFFFF !important;
	border: none !important;
	padding: 14px 40px !important;
	cursor: pointer !important;
	display: block !important;
	margin: 0 auto !important;
}

.ms-form-contacto input[type="submit"]:hover,
.ms-form-contacto button[type="submit"]:hover,
.ms-form-contacto .wpforms-submit:hover {
	background: #C9A84C !important;
	color: #1A1A1F !important;
}

.ms-form-contacto label {
	font-family: 'Abel', sans-serif !important;
	font-size: 14px !important;
	color: #6B6B6B !important;
	margin-bottom: 4px !important;
	display: block !important;
}

.ms-form-contacto .wpforms-field,
.ms-form-contacto p {
	margin-bottom: 16px !important;
}

.ms-como-llegar .elementor-widget {
	margin-bottom: 4px;
}

.ms-como-llegar .elementor-widget-text-editor p {
	margin-bottom: 0 !important;
}

/* ================================
   ACCESIBILIDAD
   ================================ */

/* Objetivos tactiles minimo 44x44px (WCAG 2.5.8) */
.main-header-menu .menu-item > a {
	min-height: 44px !important;
	display: inline-flex !important;
	align-items: center !important;
}

.ast-mobile-header-content .menu-link,
.ast-mobile-header-content .menu-item > a,
#ast-hf-mobile-menu .menu-link,
#ast-hf-mobile-menu .menu-item > a {
	min-height: 48px !important;
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}

/* Focus visible para navegacion con teclado */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--ms-oro) !important;
	outline-offset: 2px !important;
}


@media (max-width: 480px) {

	/* Sets: 1 columna en movil */
	.ms-set-card { width: 100% !important; min-height: 60vh !important; }

}

/* ================================
   TABLET - Sets en 2 columnas
   ================================ */
@media (min-width: 769px) and (max-width: 1024px) {
	.ms-set-card-container {
		flex-wrap: wrap !important;
		gap: 0 !important;
	}
	.ms-set-card-container > .e-con,
	.ms-set-card-container > .ms-set-card {
		width: 50% !important;
		max-width: 50% !important;
		flex-basis: 50% !important;
	}
	.ms-set-card {
		min-height: 50vh !important;
	}
}

/* ================================
   WHATSAPP FLOTANTE
   ================================ */
.ms-whatsapp-float {
	position: fixed;
	bottom: 24px;
	right: 24px;
	width: 56px;
	height: 56px;
	background-color: #25D366;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
	z-index: 9999;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	text-decoration: none;
}
.ms-whatsapp-float:hover {
	transform: scale(1.1);
	box-shadow: 0 6px 16px rgba(0, 0, 0, 0.3);
}
@media (max-width: 768px) {
	.ms-whatsapp-float {
		bottom: 16px;
		right: 16px;
		width: 50px;
		height: 50px;
	}
}

/* ================================
   SINGLE POST / ARTICULO EDITORIAL
   ================================ */
body.single-post,
body.single-post.ast-separate-container {
	background: var(--ms-blanco) !important;
	overflow-x: hidden !important;
}

.single-post #content,
.single-post #content > .ast-container,
.single-post #primary,
.single-post #main,
.single-post .site-main {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 !important;
}

.single-post .ast-article-post,
.single-post .ast-article-single,
.site .site-content #primary .single-post .ast-article-single,
body.single-post .site .site-content #primary .ast-article-single {
	max-width: 100% !important;
	width: 100% !important;
	padding: 0 0 96px !important;
	margin: 0 !important;
	background: var(--ms-blanco) !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	overflow-x: hidden !important;
}

/* Hero image 100vw arriba del articulo - breakout garantizado */
.single-post .ms-post-hero {
	position: relative !important;
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	background: var(--ms-negro) !important;
	overflow: hidden !important;
}
.single-post .ms-post-hero-img {
	width: 100% !important;
	height: auto !important;
	display: block !important;
	aspect-ratio: 21 / 9 !important;
	object-fit: cover !important;
	border-radius: 0 !important;
}
@media (max-width: 768px) {
	.single-post .ms-post-hero-img {
		aspect-ratio: 4 / 3 !important;
	}
}

.single-post .ast-article-single .entry-header,
.single-post .ast-article-post .entry-header,
.single-post header.entry-header {
	max-width: 800px !important;
	margin: 0 auto 8px !important;
	padding: 96px 40px 0 !important;
	text-align: left !important;
}
@media (max-width: 768px) {
	.single-post .ast-article-single .entry-header,
	.single-post .ast-article-post .entry-header,
	.single-post header.entry-header {
		padding: 56px 24px 0 !important;
	}
}

/* H1 - asegurar que supera reglas de Astra (.entry-title{font-size:20px} y header.entry-header .entry-title) */
.single-post .ast-article-single h1.entry-title,
.single-post .ast-article-post h1.entry-title,
.single-post header.entry-header h1.entry-title {
	font-family: var(--ms-font-display) !important;
	font-weight: 400 !important;
	font-size: clamp(40px, 5.5vw, 64px) !important;
	color: var(--ms-negro) !important;
	line-height: 1.02 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 18px !important;
}

.single-post .entry-title {
	font-family: var(--ms-font-display) !important;
	font-weight: 400 !important;
	font-size: clamp(34px, 5vw, 56px) !important;
	color: var(--ms-negro) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.02em !important;
	margin: 0 0 18px !important;
}

.single-post .entry-meta,
.single-post .ast-blog-meta-container,
.single-post .entry-header .posted-on,
.single-post .entry-header .posted-by,
.single-post .entry-header .ast-byline {
	font-family: var(--ms-font-ui) !important;
	font-size: 12px !important;
	letter-spacing: 2px !important;
	text-transform: uppercase !important;
	color: var(--ms-siena) !important;
}
.single-post .entry-meta a,
.single-post .ast-blog-meta-container a {
	color: var(--ms-siena) !important;
	text-decoration: none !important;
}

.single-post .entry-content {
	max-width: 720px !important;
	margin: 32px auto 0 !important;
	padding: 0 24px !important;
	font-family: var(--ms-font-ui) !important;
	font-size: 18px !important;
	line-height: 1.75 !important;
	color: var(--ms-negro) !important;
}

.single-post .entry-content > * {
	margin-left: auto !important;
	margin-right: auto !important;
}

.single-post .entry-content > p:first-of-type {
	font-size: 22px !important;
	line-height: 1.5 !important;
	color: var(--ms-negro) !important;
	font-weight: 400 !important;
	margin-bottom: 28px !important;
}

.single-post .entry-content h2 {
	font-family: var(--ms-font-display) !important;
	font-weight: 400 !important;
	font-size: clamp(28px, 3.5vw, 38px) !important;
	color: var(--ms-negro) !important;
	line-height: 1.1 !important;
	letter-spacing: -0.01em !important;
	margin: 64px 0 20px !important;
	position: relative !important;
}
.single-post .entry-content h2::before {
	content: "" !important;
	display: block !important;
	width: 32px !important;
	height: 2px !important;
	background: var(--ms-oro) !important;
	margin-bottom: 20px !important;
}

.single-post .entry-content h3 {
	font-family: var(--ms-font-display) !important;
	font-weight: 400 !important;
	font-size: clamp(20px, 2.2vw, 24px) !important;
	color: var(--ms-negro) !important;
	line-height: 1.25 !important;
	margin: 36px 0 12px !important;
}

.single-post .entry-content p {
	margin: 0 0 22px !important;
	color: var(--ms-negro) !important;
}

.single-post .entry-content strong {
	color: var(--ms-negro) !important;
	font-weight: 700 !important;
}

.single-post .entry-content a:not(.ms-post-cta) {
	color: var(--ms-oro-text) !important;
	text-decoration: underline !important;
	text-decoration-thickness: 1px !important;
	text-underline-offset: 4px !important;
	transition: color var(--ms-transition) !important;
}
.single-post .entry-content a:not(.ms-post-cta):hover {
	color: var(--ms-siena) !important;
}

/* Listas con marcadores de marca */
.single-post .entry-content ul,
.single-post .entry-content ol {
	margin: 0 0 28px !important;
	padding-left: 0 !important;
	list-style: none !important;
}
.single-post .entry-content ul li,
.single-post .entry-content ol li {
	position: relative !important;
	padding-left: 32px !important;
	margin: 0 0 12px !important;
	list-style: none !important;
}
.single-post .entry-content ul li::before {
	content: "" !important;
	position: absolute !important;
	left: 0 !important;
	top: 14px !important;
	width: 16px !important;
	height: 2px !important;
	background: var(--ms-oro) !important;
}
.single-post .entry-content ol {
	counter-reset: ms-counter !important;
}
.single-post .entry-content ol li {
	counter-increment: ms-counter !important;
}
.single-post .entry-content ol li::before {
	content: counter(ms-counter, decimal-leading-zero) !important;
	position: absolute !important;
	left: 0 !important;
	top: 2px !important;
	font-family: var(--ms-font-display) !important;
	font-size: 14px !important;
	color: var(--ms-oro-text) !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}

/* Tabla de precios */
.single-post .entry-content figure.wp-block-table {
	margin: 36px 0 !important;
	overflow-x: auto !important;
	max-width: 100% !important;
	border-radius: 4px !important;
	box-shadow: 0 4px 24px rgba(26, 26, 31, 0.06) !important;
}
.single-post .entry-content .wp-block-table table {
	width: 100% !important;
	border-collapse: collapse !important;
	font-family: var(--ms-font-ui) !important;
	font-size: 16px !important;
	background: var(--ms-blanco) !important;
}
.single-post .entry-content .wp-block-table th {
	background: var(--ms-negro) !important;
	color: var(--ms-blanco) !important;
	font-family: var(--ms-font-ui) !important;
	font-weight: 400 !important;
	text-transform: uppercase !important;
	letter-spacing: 1.5px !important;
	font-size: 11px !important;
	padding: 16px 16px !important;
	text-align: left !important;
	border: none !important;
}
.single-post .entry-content .wp-block-table td {
	padding: 16px !important;
	border: none !important;
	border-bottom: 1px solid #EFEAE0 !important;
	color: var(--ms-negro) !important;
}
.single-post .entry-content .wp-block-table tr:last-child td {
	border-bottom: none !important;
}
.single-post .entry-content .wp-block-table tr:hover td {
	background: var(--ms-crema) !important;
}

/* ================================
   POST CTA BOTONES
   ================================ */
.ms-post-cta-wrap {
	text-align: center !important;
	margin: 36px 0 !important;
	max-width: 720px !important;
}

.ms-post-cta {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 14px !important;
	font-family: var(--ms-font-ui) !important;
	font-size: 14px !important;
	letter-spacing: 2.5px !important;
	text-transform: uppercase !important;
	padding: 18px 36px !important;
	border-radius: 4px !important;
	text-decoration: none !important;
	transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
	line-height: 1 !important;
	cursor: pointer !important;
	border: 1px solid transparent !important;
}

.ms-post-cta--primary {
	background: var(--ms-oro) !important;
	color: var(--ms-negro) !important;
	box-shadow: 0 10px 30px rgba(201, 168, 76, 0.35) !important;
}
.ms-post-cta--primary:hover {
	background: var(--ms-negro) !important;
	color: var(--ms-oro) !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 14px 36px rgba(26, 26, 31, 0.4) !important;
	text-decoration: none !important;
}

.ms-post-cta--ghost {
	background: transparent !important;
	color: var(--ms-negro) !important;
	border-color: var(--ms-negro) !important;
	box-shadow: none !important;
}
.ms-post-cta--ghost:hover {
	background: var(--ms-negro) !important;
	color: var(--ms-oro) !important;
	text-decoration: none !important;
}

.ms-post-cta--lg {
	padding: 22px 48px !important;
	font-size: 15px !important;
}

.ms-post-cta__arrow {
	font-size: 18px !important;
	line-height: 1 !important;
	transition: transform var(--ms-transition) !important;
	display: inline-block !important;
}
.ms-post-cta:hover .ms-post-cta__arrow {
	transform: translateX(6px) !important;
}

/* CTA hero block - cierre de articulo */
.single-post .entry-content .ms-post-cta-hero,
.ms-post-cta-hero {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--ms-negro) !important;
	background-image: radial-gradient(ellipse at top left, rgba(201, 168, 76, 0.18) 0%, transparent 55%), radial-gradient(ellipse at bottom right, rgba(139, 115, 85, 0.22) 0%, transparent 55%) !important;
	background-color: var(--ms-negro) !important;
	color: var(--ms-blanco) !important;
	padding: 64px 40px !important;
	margin: 72px auto 16px !important;
	border-radius: 6px !important;
	text-align: center !important;
	border: 1px solid rgba(201, 168, 76, 0.35) !important;
	box-shadow: 0 24px 60px rgba(26, 26, 31, 0.25) !important;
	max-width: 720px !important;
	width: 100% !important;
}
.single-post .entry-content .ms-post-cta-hero .ms-post-cta-hero__title,
.ms-post-cta-hero .ms-post-cta-hero__title {
	font-family: var(--ms-font-display) !important;
	font-weight: 400 !important;
	font-size: clamp(30px, 3.5vw, 42px) !important;
	color: var(--ms-blanco) !important;
	line-height: 1.05 !important;
	letter-spacing: -0.01em !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}
.single-post .entry-content .ms-post-cta-hero .ms-post-cta-hero__title::after,
.ms-post-cta-hero .ms-post-cta-hero__title::after {
	content: "" !important;
	display: block !important;
	width: 40px !important;
	height: 2px !important;
	background: var(--ms-oro) !important;
	margin: 20px auto 24px !important;
}
.single-post .entry-content .ms-post-cta-hero .ms-post-cta-hero__sub,
.ms-post-cta-hero .ms-post-cta-hero__sub {
	color: rgba(255, 255, 255, 0.85) !important;
	font-family: var(--ms-font-ui) !important;
	font-size: 17px !important;
	line-height: 1.6 !important;
	max-width: 520px !important;
	margin: 0 auto 32px !important;
	text-align: center !important;
}
.ms-post-cta-hero .ms-post-cta--primary {
	background: var(--ms-oro) !important;
	color: var(--ms-negro) !important;
}
.ms-post-cta-hero .ms-post-cta--primary:hover {
	background: var(--ms-blanco) !important;
	color: var(--ms-negro) !important;
}

@media (max-width: 600px) {
	.ms-post-cta-hero {
		padding: 44px 24px !important;
	}
	.single-post .entry-content {
		font-size: 17px !important;
	}
	.single-post .entry-content > p:first-of-type {
		font-size: 19px !important;
	}
	.single-post .entry-content h2 {
		margin: 48px 0 16px !important;
	}
}
