/**
Theme Name: Astra Child
Author: Innovation Studio
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/
@import url('https://fonts.cdnfonts.com/css/helvetica-neue-55');
@import url('https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap');
/* Estilos generales para los encabezados */
h1, h2, h3, h4 {
	font-family: 'Cormorant Garamond', serif!important;
	font-weight: 300!important;
}

/* Tamaños de fuente en PC */
h1 { font-size: 32px!important; }
h2 { font-size: 26px!important; }
h3 { font-size: 22px!important; }
h4 { font-size: 18px!important; }

/* Tamaños de fuente en Tablet */
@media (max-width: 1024px) {
    h1 { font-size: 30px!important; }
    h2 { font-size: 24px!important; }
    h3 { font-size: 20px!important; }
    h4 { font-size: 17px!important; }
}

/* Tamaños de fuente en Móvil */
@media (max-width: 768px) {
    h1 { font-size: 28px!important; }
    h2 { font-size: 22px!important; }
    h3 { font-size: 18px!important; }
    h4 { font-size: 16px!important; }
}

p, a, span, li, input, textarea, button, cite, strong, label, legend, em {
	font-family: 'Nunito', serif!important;
	font-weight: 300!important;
}

p {
	margin-bottom: 10px!important;
}

strong, cite, label, legend {
	font-weight: 400!important;
}

a {
	text-decoration: none!important;
}

button {
	border-radius: unset!important;
	border-radius: 0!important;
}

.elementor-blockquote__content {
	text-align: justify;
}

.elementor-element-863c08c a, .elementor-element-53cdf4c a {
	padding: 0!important;
}

/* Reviews */
.ti-name {
	font-size: 16px!important;
	font-weight: 300!important;
	font-family: 'Helvetica Neue', sans-serif!important;
}
.ti-review-text-container {
	font-weight: 300!important;
	font-size: 14px!important;
	font-family: 'Helvetica Neue', sans-serif!important;
}

.ti-stars {
	margin: 10px 0px 10px 0px!important;
}

/* Header */
.elementor-nav-menu--dropdown {
	background-color: #000000db!important;
}

.elementor-nav-menu--dropdown.elementor-nav-menu__container {
	margin-top: 0px!important;
}

.menu-link {
	text-transform: uppercase;
    display: flex;
    align-items: center;
    justify-content: center;
}

.elementor-nav-menu--dropdown {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh; 
    background-color: rgba(0, 0, 0, 0.9); 
    z-index: 9999;
    display: flex;
    flex-direction: column; 
    align-items: center;
    justify-content: center; 
    overflow-y: auto; 
}

.elementor-nav-menu--dropdown a {
    color: #ffffff; 
    text-decoration: none; 
    margin: 1rem 0; 
    text-align: center; 
}

.elementor-menu-toggle {
    z-index: 10000; 
}

.elementor-nav-menu--dropdown ul {
    list-style: none; 
    padding: 0;
    margin: 0;
}

.elementor-nav-menu--dropdown li {
    margin: 0;
    position: relative; 
}

.elementor-sticky--effects.elementor-sticky--active.elementor-section--handles-inside {
	background-color: #fcfaefe6!important;
	box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.3);
}

.elementor-sticky--effects .elementor-menu-toggle__icon--open {
	fill: #2B000C;
}

.elementor-sticky--effects .elementor-heading-title {
	font-size: 30px!important;
	color: #2B000C!important;
}

@media (max-width: 767px) {
	.elementor-sticky--effects .elementor-heading-title {
	font-size: 22px!important;
}
}

.elementor-sticky--active .elementor-element-2bcd61d {
	padding: 10px!important;
}

/* Contenedor de la búsqueda */
.search-container {
    position: relative;
    display: inline-block;
}

/* Ícono de la lupa */
.search-icon {
    cursor: pointer;
    font-size: 20px;
    padding: 5px;
    color: #FCFAEF;
}
.elementor-sticky--effects .search-icon, .elementor-sticky--effect .elementor-menu-toggle__icon--open {
    color: #2B000C;
	fill: #2B000C!important;
}

.elementor-sticky--effects .e-eicon-menu-bar {
		fill: #2B000C!important;
}


.elementor-sticky--effects .e-eicon-close {
    fill: #fff !important;
}

/* Formulario de búsqueda (oculto por defecto) */
#search-box {
    position: absolute;
    top: 40px;
    right: 0;
    background: #FCFAEF;
    padding: 10px;
    border: 1px solid #ccc;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    display: none;
    opacity: 0;
    transform: translateY(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Estilos del input */
#search-box input {
    padding: 8px;
    width: 200px;
    border: 1px solid #ccc;
	background-color: transparent!important;
}

/* Estilos del botón de búsqueda */
#search-box button {
    padding: 8px;
    background: #701a12;
    color: white;
    border: none;
    cursor: pointer;
}

/* Cuando el formulario está activo */
#search-box.active {
    display: flex;
	gap: 10px;
    opacity: 1;
    transform: translateY(0);
}



/* Estilo general del submenú */
.sub-menu {
	max-height: 0;
    opacity: 0;
    overflow: hidden; 
	visibility: hidden;
    transition-delay: 100ms, 300ms;
    transition-property: opacity, max-height, visibility;
    transition-timing-function: ease-in-out;
    transition-duration: 300ms;
    background-color: transparent !important;
    position: relative; 
}

.sub-menu.mostrar {
    opacity: 1;
	visibility: visible;
    max-height: 200px; 
	transition-delay: 100ms, 300ms;
    transition-property: max-height, opacity;
    transition-timing-function: ease-in-out;
    transition-duration: 300ms;
}

/* Clase para mostrar el submenú */
.sub-menu.show {
    height: 100%; 
    opacity: 1; 
	transition: height 0.5s ease-in-out, opacity 0.5s ease-in-out!important;
}

/* Clase para ocultar el submenú */
.sub-menu.hide {
    height: 0; 
    opacity: 0; 
    transition: max-height 0.5s ease-in-out, opacity 0.5s ease-in-out!important;
}


.sub-arrow svg {
    fill: #ffffff; 
}

/* Footer */
.elementor-element-c5693c9 a {
	color: #5B2C1C!important;
}

/* Clase general para texto con subrayado */
.text-subrayado {
    position: relative;
    display: inline-block; 
    color: #5B2C1C; 
    font-size: 16px; 
    text-decoration: none; 
    font-weight: 500; 
}

/* Subrayado siempre visible */
.text-subrayado::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -3px; 
    width: 100%; 
    height: 2px; 
    background-color: #C5A253; 
    transition: transform 0.3s ease, background-color 0.3s ease;
}

/* Tratamientos Home */
.hover-imagen {
    position: relative; 
    overflow: hidden;
}

/* Imagen de fondo */
.hover-imagen::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0); 
    transition: background 0.3s ease; 
    z-index: 1; 
}

/* Texto (H3) */
.hover-imagen h3 {
    transition: transform 0.3s ease, color 0.3s ease; 
    display: inline-block; /* Para evitar problemas con elementos en bloque */
}

.hover-imagen:hover h3 {
    transform: scale(1.1);
}

/* Hover en el contenedor */
.hover-imagen:hover::before {
    background: rgba(139, 106, 61, 0.2);
}


/* Back to top */
#ast-scroll-top {
	background-color: #C5A253!important;
}

/* Contenedor de tratamiento */
.tratamiento {
    text-align: left;
    margin: 0 auto;
}

/* Contenido completo oculto por defecto */
.contenido-completo p, .contenido-completo ul {
    font-size: 14px;
}
.contenido-completo h4 {
    margin: 20px 0px 10px 0px;
    font-size: 18px;
}
.contenido-completo {
    opacity: 0;
    height: 0; 
    overflow: hidden;
    transition: opacity 0.4s ease-in-out, height 0.4s ease-in-out;
}

/* Clase que muestra el contenido con transición */
.contenido-completo.mostrar {
    opacity: 1;
    height: auto; 
	padding: 20px;
    background-color: #FDF5E6;
}

/* Botones de leer más y menos */
.toggle-btn {
    background-color: #8B6A3D;
    color: #fff;
    padding: 8px 15px;
    border: none;
    cursor: pointer;
    margin-top: 10px;
}

/* Hover en los botones */
.toggle-btn:hover {
    background-color: #A58350;
}

/* "Leer más" visible al inicio */
.leer-mas {
    display: inline-block;
    background-color: transparent;
	color: #2B000C;
    padding: 8px 15px;
    margin-top: 10px;
    border-radius: 0px;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #701A12;
    transition: all .3s ease;
}

.leer-menos {
    display: none;
    background-color: transparent;
	color: #2B000C;
    padding: 8px 15px;
    margin-top: 10px;
    border-radius: 0px;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #701A12;
    transition: all .3s ease;
}

.leer-mas:hover, .leer-menos:hover {
    border-color: #A58350;
}

/* Beneficios - Acordeón */
.beneficios-acordeon {
    width: 100%;
    max-width: 600px;
	margin: 20px 0px 20px 0px;
}

/* Botón del acordeón */
.toggle-beneficios {
    width: 100%;
    background: #EED9B7;
    padding: 12px 15px;
    font-size: 16px;
    font-weight: bold;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.3s ease-in-out;
    color: #494949;
    border-radius: 0!important;
}

.toggle-beneficios:hover {
	background-color: #EED9B7!important;
    color: #000;
}

/* Ícono del acordeón */
.toggle-beneficios .icono {
    font-size: 18px;
    transition: transform 0.3s ease;
    color: #5B2C1C;
}

/* Lista de beneficios */
.lista-beneficios {
    list-style: none;
    padding: 0px!important;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease-in-out;
    background: #EED9B7;
    opacity: 0;
    transform: scaleY(0);
    transform-origin: top;
    margin: 0!important;
    border-top: 1px solid #eee;
}

.lista-beneficios.mostrar {
    max-height: 500px;
    opacity: 1;
    transform: scaleY(1);
}

.lista-beneficios li {
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
}

.lista-beneficios li:last-child {
    border-bottom: none;
}

/* Rotación del ícono cuando se abre */
.toggle-beneficios.activo .icono {
    transform: rotate(180deg);
}

.beneficios-acordeon button:focus {
	background-color: #fff!important;
    color: #494949;
}

/* Entradas */
.single-post .ast-container, .search-results .ast-container, .search-no-results .ast-container {
	max-width: 100%!important;
	padding: 0!important;
}

.single-post .content-area.primary, .search-results .content-area.primary, .search-no-results .content-area.primary {
	margin: 0!important;
}

.single-post .ast-article-single, .search-results .ast-article-single, .search-no-results .ast-article-single {
	padding: 0!important;
}

/* Reservas */
.sidebar {
	padding-bottom: 0!important; 
}

.mpwpb_static_cateogry {
	max-height: 100%!important;
}

.mpwpb_static {
	border-radius: unset !important; 
	border-radius: 0px!important;
    box-shadow: none!important;
    border: 2px solid #5B2C1C!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_area .mpwpb_static .mpwpb_item_box {
	border-radius: unset !important; 
	border-radius: 0px!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_area .mpwpb_static .mpwpb_item_box i {
	color: unset!important;
	color: #2b000c!important;
}

.mp_title h2, .mp_title p {
	color: unset!important;
	color: #5B2C1C!important;
}

.mpStyle [class*="_rotate_90"] {
	transform: none!important;
}

.fdColumn.mpwpb_date_time_line {
	margin: 10px 0 10px 0!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-items .mpwpb_date_carousel .mpwpb_date_time_line .to-book.mpActive {
	color: unset!important;
	color: #000!important;
}

.woocommerce-page .elementor-location-header .elementor-element-dbb534d {
	background-color: #E0CDA9!important;
}

.elementor-location-header .elementor-heading-title {
	margin-bottom: 0!important;
}

.woocommerce-page.woocommerce-checkout #payment #place_order, _mpBtn_dBR.mActive.mpwpb_service_next {
	background-color: #2B000C!important;
    font-family: "Lato", Sans-serif!important;
    font-weight: 500!important;
    fill: #FAF3E0;
    color: #FAF3E0;
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: #701A12;
    border-radius: 0px 0px 0px 0px;
	transition: all .3s ease;
}

.woocommerce-page.woocommerce-checkout #payment #place_order:hover {
	background-color: #FAF3E000!important;
    color: #2B000C!important;
    border-color: #2B000C!important;
}

._mpBtn_dBR {
    background-color: unset !important; 
    background-color: #2B000C !important;
    fill: #FAF3E0 !important;
    color: #FAF3E0 !important;
    border-style: solid !important;
    border-width: 1px !important;
    border-color: #701A12 !important;
	border-radius: unset !important; 
    border-radius: 0 !important;
    transition: all .3s ease !important;
}

._mpBtn_dBR:hover {
    background-color: unset !important; 
    background-color: transparent !important;
    color: #2B000C !important;
    border-color: #2B000C !important;
}
.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-items .mpwpb_service_area .mpwpb_service_item .mpwpb_service_button.mActive {
	background-color: unset !important; 
	background-color: #E0CDA9 !important;
	color: #FFF!important;
	border-radius: 0px!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-items .mpwpb_service_area .mpwpb_service_item .mpwpb_service_button {
	border-radius: 0px!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-cart {
	overflow-y: hidden!important;
	border-radius: 0px!important;
}

.load-service {
	border-radius: 0px!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-items .mpwpb_service_area .mpwpb_service_item, .mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-cart {
	background-color: unset!important;
	background-color: #FDF5E6!important;
	border-color: #5B2C1C!important;
}

*/ Tarjetas servicios */
.mpwpb-static-template .sidebar .mpwpb_static_area .mpwpb_static {
	background-color: #FDF5E6!important;
	border-radius: 0px!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_area .mpwpb_static .mp_title h2 {
	color: #000!important;
}

._dShadow_7_mB_xs.mpwpb_service_area h5 {
	color: #5B2C1C!important;
}

.woocommerce-Price-amount.amount, mpwpb_total_bill.textTheme {
	color: #000!important;
}

.woocommerce-Price-amount.amount:hover {
    color: #000 !important;
}

.mpwpb_total_bill.textTheme {
    color: unset !important;  /* O prueba initial en vez de unset */
    color: #000 !important;
}


.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-items .mpwpb_service_area .mpwpb_service_item .mpwpb_service_button {
    color: #000!important;
    border: 1px solid #000!important;
    background-color: #fff!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-items .mpwpb_service_area .mpwpb_service_item .mpwpb_service_button:focus {
	background-color: #EED9B7!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-items .mpwpb_service_area .mpwpb_service_item .mpwpb_service_button:hover {
	color: #000!important;
    border: 1px solid #000!important;
    background-color: #EED9B7!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-cart .mpwpb_summary_area_left_content .mpwpb_summary_item .mpwpb_item_check {
    border: 1px solid #000!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-items .mpwpb_service_area header {
    border-bottom: 1px solid #000!important;
}

.mpwpb-static-template .sidebar .mpwpb_static_theme .mpPopup .popupMainArea .popupBody .mpwpb-popup-content .service-items .mpwpb_date_carousel header h3 {
	color: unset!important;
	color: #5B2C1C!important;
}

div._bgTheme_mB_xs_padding_xs.fdColumn {
	color: unset!important;
    color: #5B2C1C !important;
    font-weight: 500 !important;
}

.mpStyle button:hover {
    color: unset !important; /* Eliminamos la variable CSS */
    color: #000!important;
}

.service-booking-container {
	display: flex;
    align-items: center;
    justify-content: space-between;
	margin-bottom: 40px!important;
}

._dShadow_7_mB_xs.mpwpb_service_area {
	display: block !important;
}

/* Reservas */
.bookly-form-group[data-type="staff"], .bookly-left.bookly-mobile-float-none, .bookly-available-date.bookly-js-available-date.bookly-left.bookly-mobile-float-none {
    display: none;
}

.bookly-btn, .bookly-btn > span, .bookly-form .bookly-schedule-date, .bookly-form .bookly-columnizer .bookly-day {
	font-weight: unset!important;
	font-weight: 300!important;
}

.bookly-bold {
	font-weight: unset!important;
	font-weight: 400!important;
    }

@media screen and (max-width: 650px) {
    .bookly-mobile-step-2 {
        display: block!important;
    }
	
	.bookly-mobile-step-1 .bookly-nav-steps.bookly-box {
		display: none!important;
	}
	
	.bookly-mobile-step-2 .bookly-left {
		display: none!important;
	}
}