@import url('https://fonts.googleapis.com/css2?family=Parkinsans:wght@300..800&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Crimson+Pro:ital,wght@0,200..900;1,200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

:root{
    --primario: #0e0d22;
    --secundario: #d8000a;
    --transparencia: #0e0d22;
    --color_subtitulos:#ebafd0;
    --color_titulos: #fff;
    --titulo: 'Parkinsans';
    --subtitulo: 'Crimson Pro';
    --texto: 'Poppins';
}

.ventana_cookie .btn{
    background: var(--primario) !important;
}

a:focus{ outline: transparent; }
.btn:active:focus, .btn:focus{ outline: transparent; }

/* ESTILOS SIN RESPONSIVE MAQUETA AQUI */
body{
    background-color: #0e0d22;
    color: #fff;
    overflow-x: hidden;
}

.ventana_cookie p{
    color: var(--primario);
}

a:focus{ outline: transparent; }

/*********************************
*        MENU DESPLEGABLE        *
*********************************/
.dropdown-menu>li>a {
    color: var(--blue);
    font-size: 15px;
    font-family: "Montserrat";
    text-transform: uppercase;
    font-weight: 500;
    padding: 15px 20px;
    width: 100%;
}

/* menu doble */

.el-menu {
    height: 140px;
    transition: all .2s ease-in-out;
}

.barra_reducida .el-menu {
  height: 110px;
}

.el-menu {
    position: relative;
}

.primera-menu, .segunda-menu {
    display: flex;
    position: absolute;
    width: calc(50vw - (90px + 35px));
    height: 100%;
}

.primera-menu {
    right: 155px;
    justify-content: flex-end;
}

.segunda-menu {
    left: 155px;
}

.navbar-nav .logo {
    position: absolute;
}

.navbar-nav .logo {
    position: absolute;
    left: -160px;
    height: 100%;
}

.navbar-nav .logo>a {
    padding: 0;
    height: inherit;
}

.navbar-nav .logo img {
    height: 100%;
    object-fit: contain;
    object-position: center;
    width: 180px;
    z-index: 2;
}

/* -- circulos -- */
.wrapper-flex,.wrapper-flex-mobile{
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;/* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-box;      /* TWEENER - IE 10 */
    display: -webkit-flex;     /* NEW - Chrome */
    display: flex;

    align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
}


/* -- row -- */
.row-eq-height {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
}

.row-eq-height.container:before,
.row-eq-height.container:after,
.row-eq-height.row:before,
.row-eq-height.row:after {
    content: normal;
}



.separa-5{
    height: 5px;
}

.separa-10{
    height: 10px;
}

.separa-20{
    height: 20px;
}

.separa-40{
    height: 40px;
}

.separa-30{
    height: 30px;
}

.separa-50{
    height: 50px;
}


.relative{
    position: relative;
}

.absolute{
    position: absolute;
}

.centrado{
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.centrado.izquierda{
    justify-content: flex-start;
}

.centrado.derecha{
    justify-content: flex-end;
}

.animacion{
    transition: all 300ms linear!important;
    -webkit-transition: all 300ms linear!important;
    -moz-transition: all 300ms linear!important;
    -ms-transition: all 300ms linear!important;
    -o-transition: all 300ms linear!important;
}

.limitar{
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
}

.limitar_1{
    -webkit-line-clamp: 1; /* number of lines to show */
}

.limitar_2{
    -webkit-line-clamp: 2; /* number of lines to show */
}

.limitar_3{
    -webkit-line-clamp: 3; /* number of lines to show */
}

.limitar_4{
    -webkit-line-clamp: 4; /* number of lines to show */
}

.limitar_5{
    -webkit-line-clamp: 5; /* number of lines to show */
}

.limitar_6{
    -webkit-line-clamp: 6; /* number of lines to show */
}

.limitar_7{
    -webkit-line-clamp: 7; /* number of lines to show */
}

.limitar_8{
    -webkit-line-clamp: 8; /* number of lines to show */
}

.limitar_9{
    -webkit-line-clamp: 9; /* number of lines to show */
}

.limitar_10{
    -webkit-line-clamp: 10; /* number of lines to show */
}

.caja {
    overflow: hidden;
  
}

.dropdown-submenu {
    position: relative;
}

.dropdown-submenu>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
}

.dropdown-submenu:hover>.dropdown-menu {
    display: block;
}

.dropdown-submenu>a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown-submenu:hover>a:after {
    border-left-color: #fff;
}

.dropdown-submenu.pull-left {
    float: none;
}

.dropdown-submenu.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

/*********************************
*            INTERIORES          *
*********************************/
.interiores .caja .pretitulo{
    font-size: 28px;
    line-height: 24px;
    font-family: var(--subtitulo);
    color: #ebafd0;
    font-style: italic;
    font-weight: lighter;
    margin-bottom: 0;
}

.interiores p{
    font-size: 16px;
    color: #ECECEC;
    font-weight: 400;
    font-family: var(--texto);
}

.interiores .caja .h1{
    text-align: center;
    font-size: 50px;
    color: var(--color_titulos);
    font-weight: 700;
    font-family: var(--titulo);
    margin-bottom: 50px;
}


/* ESTILOS CKEDITOR */

/*
 * Copyright (c) 2003-2025, CKSource Holding sp. z o.o. All rights reserved.
 * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-licensing-options
 */

.textaco {
	& .image {
		display: table;
		clear: both;
		text-align: center;

		/* Make sure there is some space between the content and the image. Center image by default. */
		/* The first value should be equal to --ck-spacing-large variable if used in the editor context
	 	to avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */
		margin: 0.9em auto;

		/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */
		min-width: 50px;

		& img {
			/* Prevent unnecessary margins caused by line-height (see #44). */
			display: block;

			/* Center the image if its width is smaller than the content's width. */
			margin: 0 auto;

			/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */
			max-width: 100%;

			/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */
			min-width: 100%;

			/* Keep proportions of the block image if the height is set and the image is wider than the editor width.
			See https://github.com/ckeditor/ckeditor5/issues/14542. */
			height: auto;
		}
	}

	& .image-inline {
		/*
		 * Normally, the .image-inline would have "display: inline-block" and "img { width: 100% }" (to follow the wrapper while resizing).
		 * Unfortunately, together with "srcset", it gets automatically stretched up to the width of the editing root.
		 * This strange behavior does not happen with inline-flex.
		 */
		display: inline-flex;

		/* While being resized, don't allow the image to exceed the width of the editing root. */
		max-width: 100%;

		/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */
		align-items: flex-start;

		/* When the picture is present it must act as a flex container to let the img resize properly */
		& picture {
			display: flex;
		}

		/* When the picture is present, it must act like a resizable img. */
		& picture,
		& img {
			/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */
			flex-grow: 1;
			flex-shrink: 1;

			/* Prevents overflowing the editing root boundaries when an inline image is very wide. */
			max-width: 100%;
		}
	}
}

.ck.ck-editor__editable {
	/*
	 * Inhertit the content styles padding of the <figcaption> in case the integration overrides `text-align: center`
	 * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native
	 * caret does, and not at the edge of <figcaption>.
	 */
	& .image > figcaption.ck-placeholder::before {
		padding-left: inherit;
		padding-right: inherit;

		/*
		 * Make sure the image caption placeholder doesn't overflow the placeholder area.
		 * See https://github.com/ckeditor/ckeditor5/issues/9162.
		 */
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	/*
	 * See https://github.com/ckeditor/ckeditor5/issues/15115.
	 */
	& .image {
		z-index: 1;

		/*
		 * Make sure the selected image always stays on top of its siblings.
		 * See https://github.com/ckeditor/ckeditor5/issues/9108.
		 */
		&.ck-widget_selected {
			z-index: 2;
		}
	}

	/*
	 * See https://github.com/ckeditor/ckeditor5/issues/15115.
	 */
	& .image-inline {
		z-index: 1;

		/*
		 * Make sure the selected inline image always stays on top of its siblings.
		 * See https://github.com/ckeditor/ckeditor5/issues/9108.
		 */
		&.ck-widget_selected {
			z-index: 2;

			/*
			 * Make sure the native browser selection style is not displayed.
			 * Inline image widgets have their own styles for the selected state and
			 * leaving this up to the browser is asking for a visual collision.
			 */
			& ::selection {
				display: none;
			}
		}
	}

	/* Keep proportions of the inline image if the height is set and the image is wider than the editor width.
	See https://github.com/ckeditor/ckeditor5/issues/14542. */
	& .image-inline img {
		height: auto;
	}

	/* The inline image nested in the table should have its original size if not resized.
	See https://github.com/ckeditor/ckeditor5/issues/9117. */
	& td,
	& th {
		& .image-inline img {
			max-width: none;
		}
	}
}

 @import "@ckeditor/ckeditor5-ui/theme/mixins/_mediacolors.css";

 :root {
     --ck-color-image-caption-background: hsl(0, 0%, 97%);
     --ck-color-image-caption-text: hsl(0, 0%, 20%);
     --ck-color-image-caption-highlighted-background: hsl(52deg 100% 50%);
 }
 
 /* Content styles */
 .textaco .image > figcaption {
     display: table-caption;
     caption-side: bottom;
     word-break: break-word;
     color: var(--ck-color-image-caption-text);
     background-color: var(--ck-color-image-caption-background);
     padding: .6em;
     font-size: .75em;
     outline-offset: -1px;
 
     /* Improve placeholder rendering in high-constrast mode (https://github.com/ckeditor/ckeditor5/issues/14907). */
     @media (forced-colors: active) {
         background-color: unset;
         color: unset;
     }
 }
 
 /* Editing styles */
 .ck.ck-editor__editable .image > figcaption.image__caption_highlighted {
     @mixin ck-media-default-colors {
         animation: ck-image-caption-highlight .6s ease-out;
     }
 
     @media (prefers-reduced-motion: reduce) {
         animation: none;
     }
 }
 
 @keyframes ck-image-caption-highlight {
     0% {
         background-color: var(--ck-color-image-caption-highlighted-background);
     }
 
     100% {
         background-color: var(--ck-color-image-caption-background);
     }
 }

.ck.ck-image-insert-url {
	width: 400px;
	padding: var(--ck-spacing-large) var(--ck-spacing-large) 0;

	& .ck-image-insert-url__action-row {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
}

 .ck.ck-editor__editable {
	& img.image_placeholder {
		background-size: 100% 100%;
	}
}

/* Preserve aspect ratio of the resized image after introducing image height attribute. */
.textaco img.image_resized {
	height: auto;
}

.textaco .image.image_resized {
	max-width: 100%;
	/*
	The `<figure>` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.
	See https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.
	Fortunately, since we control the width, there is no risk that the image will look bad.
	*/
	display: block;
	box-sizing: border-box;

	& img {
		/* For resized images it is the `<figure>` element that determines the image width. */
		width: 100%;
	}

	& > figcaption {
		/* The `<figure>` element uses `display:block`, so `<figcaption>` also has to. */
		display: block;
	}
}

.ck.ck-editor__editable {
	/* The resized inline image nested in the table should respect its parent size.
	See https://github.com/ckeditor/ckeditor5/issues/9117. */
	& td,
	& th {
		& .image-inline.image_resized img {
			max-width: 100%;
		}
	}
}

[dir="ltr"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {
	margin-right: var(--ck-spacing-standard);
}

[dir="rtl"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {
	margin-left: var(--ck-spacing-standard);
}

.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {
	width: 4em;
}

 :root {
	--ck-image-style-spacing: 1.5em;
	--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);
}

.textaco {
	/* See: https://github.com/ckeditor/ckeditor5/issues/16317 */
	& .image {
		/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback
		confirming successful application of the style if image width exceeds the editor's size.
		See https://github.com/ckeditor/ckeditor5/issues/9342 */
		&.image-style-block-align-left,
		&.image-style-block-align-right {
			max-width: calc(100% - var(--ck-image-style-spacing));
		}

		/* Allows displaying multiple floating images in the same line.
		See https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */
		&.image-style-align-left,
		&.image-style-align-right {
			clear: none;
		}

		&.image-style-side {
			float: right;
			margin-left: var(--ck-image-style-spacing);
			max-width: 50%;
		}

		&.image-style-align-left {
			float: left;
			margin-right: var(--ck-image-style-spacing);
		}

		&.image-style-align-right {
			float: right;
			margin-left: var(--ck-image-style-spacing);
		}

		&.image-style-block-align-right {
			margin-right: 0;
			margin-left: auto;
		}

		&.image-style-block-align-left {
			margin-left: 0;
			margin-right: auto;
		}
	}

	& .image-style-align-center {
		margin-left: auto;
		margin-right: auto;
	}

	& .image-style-align-left {
		float: left;
		margin-right: var(--ck-image-style-spacing);
	}

	& .image-style-align-right {
		float: right;
		margin-left: var(--ck-image-style-spacing);
	}

	/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */
	& p + .image.image-style-align-left,
	& p + .image.image-style-align-right,
	& p + .image.image-style-side {
		margin-top: 0;
	}

	& .image-inline {
		&.image-style-align-left,
		&.image-style-align-right {
			margin-top: var(--ck-inline-image-style-spacing);
			margin-bottom: var(--ck-inline-image-style-spacing);
		}

		&.image-style-align-left {
			margin-right: var(--ck-inline-image-style-spacing);
		}

		&.image-style-align-right {
			margin-left: var(--ck-inline-image-style-spacing);
		}
	}
}

.ck.ck-splitbutton {
	/* The button should display as a regular drop-down if the action button
	is forced to fire the same action as the arrow button. */
	&.ck-splitbutton_flatten {
		&:hover,
		&.ck-splitbutton_open {
			& > .ck-splitbutton__action:not(.ck-disabled),
			& > .ck-splitbutton__arrow:not(.ck-disabled),
			& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {
				background-color: var(--ck-color-button-on-background);

				&::after {
					display: none;
				}
			}
		}

		&.ck-splitbutton_open:hover {
			& > .ck-splitbutton__action:not(.ck-disabled),
			& > .ck-splitbutton__arrow:not(.ck-disabled),
			& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {
				background-color: var(--ck-color-button-on-hover-background);
			}
		}
	}
}

.textaco figure.media iframe.youtube {width: 100% !important; aspect-ratio: 16/9; height: auto;}

@media (max-width: 767px) {
    .textaco figure.image {width: 100% !important;}
    .textaco .image_resized, .textaco img {height: auto; max-width: 100%;}
}
 
/*FIN ESTILOS CKEDITOR*/

#swipebox-overlay {
    background: #0d0d0ddb;
}
#swipebox-bottom-bar, #swipebox-top-bar{
    background: transparent;
}
.ug-lightbox .ug-lightbox-overlay{background: #0d0d0ddb;}
/*Detalle producto*/
.breadcrumb>li {
    font-size: 13px;
}
.tag_option{margin: 5px;color: var(--primario)}
.tag-circle{
    height: 42px;width: 42px;border-radius: 100%;display: inline-block;justify-content: center;align-items: center;border: 2px solid #fff;overflow: hidden; border: 2px solid #f5f5f5;
}

.tag-circle img{height: 40px;width: 40px;border-radius: 40px; object-fit: contain;}

.tag_bloque{
    height: 40px;width: 70px;display: inline-flex;background-color: var(--transparencia);justify-content: center;align-items: center
}

.tag-circle.active{
    border: 2px solid #000;
}

.tag_bloque.active{background-color: var(--primario);}
.tag_option.active a{color: #fff;}

.foto_principal .imagen{width: 100%;background-position: center;background-size: contain;background-repeat: no-repeat;border: 1px solid #f5f5f5}
.foto_principal.mini .imagen{height: 444px; background-size: cover;}

.foto_principal .lupa{
    position: absolute;top: 0;left: 0;height: 100%;width: 100%;background-color: rgba(0,0,0,0.5);opacity: 0;transition: 300ms all linear;color: #fff;font-size: 40px
}

.foto_principal .lupa:hover{
    opacity: 1;
}

.quantity{
    border: 2px solid var(--primario);
    display: inline-block;
    position: relative;
    vertical-align: middle;
}

.quantity label{
    display: inline-block;
    padding: 0 20px;
    color: var(--secundario);
}

.quantity-controls .fa{
    color: var(--secundario);
}

.quantity-controls{
    display: inline-block;
    position: relative;
}

.quantity-controls span{
    color: #888;
    cursor: pointer;
    height: 48px;
    line-height: 48px;
    position: absolute;
    top: 0;
    width: 26px;
    -webkit-transition: color .15s ease-in-out;
    -moz-transition: color .15s ease-in-out;
    transition: color .15s ease-in-out;

    color: #171717;
    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

.quantity-controls span.right{
    right: 0;
    text-align: left;
}
.lista_productos_sin_stock{
    border: 2px solid red;
    padding: 20px 20px;
    list-style-type: none;
}

.lista_productos_sin_stock li{
    color: #f4573a;
    font-weight: 600;
}
#productos>div {
    padding-right: 23px;
    padding-left: 23px;
}

#cantidad{
    border: 0;
    font-family: inherit;
    font-size: 15px;
    height: 48px;
    line-height: 48px;
    margin: 0 26px;
    outline: 0;
    padding: 0;
    position: relative;
    width: 40px;
    -webkit-appearance: none;

    display: inline-block;
    text-align: center;
    vertical-align: middle;
}

.otros_productos h2, .otros_productos h3{color: var(--primario); font-weight: 500;font-family: var(--familia_fuente)}

.botones_carro{
    width: calc( 100% - 225px );
    float: right;
}
.botones_carro.grande{width: 100%;}

.btn_love img{height: 30px;width: 30px}

.btn-filtro{height: 34px; width: 100%; margin-bottom: 15px; border-radius: 4px;}

.botones_carro .btn-tam{height: 52px; width: 100%;}
transform: translateY(-10px);
}

.descarga.uno:hover .btn{
    color: #fff;
    background-color: var(--secundario);
}

.descarga.dos:hover .btn{
    color: var(--secundario);
    background-color: #e8d6fb;
}
.mayorista{
    color: var(--secundario);background-color: #e8d6fb;border: 2px solid var(--secundario);padding: 16px 14px;
    text-align: center;font-weight: 600;
}


.btn-lg.btn-corporativo{
    width: 250px;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border: 1px solid #fff;
    padding: 20px;
    border-radius: 40px;
    background-color: #fff;
    height: 60px;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.3s ease, box-shadow 0.3s ease;
}


.btn-lg.btn-corporativo {
    color: #0f0f27;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 100;
    font-family: var(--subtitulo);
}

.btn-lg.btn-corporativo:hover{
    background-color: #ebafd0;
    transform: scale(1.03);
    border-color: #d8000a00 !important;
    color: #000;
}

.btn-corporativo .btn-carro_portada img{height: 20px;width: 20px;margin-right: 15px;border-radius: 0;}
.btn-comprar{border: 0;}

.btn-grandotes{padding: 15px}
.btn-corporativo2{
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    font-family: var(--familia_fuente);
    text-transform: uppercase;
    border: 0px;
    border-radius: 10px;
    background-color: var(--primario);
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 10px}
.btn-corporativo3{
    color: #fff;
    font-size: 16px;
    font-weight: 400;
    font-family: var(--familia_fuente);
    text-transform: uppercase;
    border: 0px;
    border-radius: 10px;
    background-color: var(--primario);
    display: inline-flex;
    justify-content: center;
    align-items: center;}
/*MENU VIEJO
.navbar-nav>li>.dropdown-menu {
margin-top: 0;
border-top-left-radius: 0;
border-top-right-radius: 0;
width: 213px;
left: -15px;
}
.navbar-default .navbar-nav>li>a:focus, .navbar-default .navbar-nav>li>a:hover {
color: #fff;
background-color: rgb(255 255 255 / 10%);
border-radius: 14px;
}
*/
.btn-corporativo:hover, .btn-corporativo:focus, .btn-corporativo:active{background-color: #5c5b5b;color: #fff}

.btn-corporativo2:hover, .btn-corporativo2:focus, .btn-corporativo2:active{background-color: #5c5b5b;color: #fff}
.btn-corporativo3:hover, .btn-corporativo3:focus, .btn-corporativo3:active{background-color: #5c5b5b;color: #fff}
.desactivado{
    opacity: 0.6;
}
.acceso a{
    color: #fff;
}
.lista_productos .btn_love img, .bienvenida .btn_love img{
    filter: brightness(0) invert(1);
    height: 22px;
    width: 22px;
}

.left .caja_redes a{
    width: 45px;
    height: 45px;
}
.btn-corp{background-color: var(--primario);color: #fff !important; border: 0;}

.btn-default-formulario{background-color: #c6c6c6;color: #fff !important}

.nav-botones{border: none;}

.nav-botones>li>a{
    background-color: #fff;border-radius: 0px;margin: 0px 10px;color: #78c74a;border: 2px solid var(--primario);
}

.nav-botones>li>a:focus, .nav-botones>li>a:hover{
    background-color: #f5f5f5;color: #78c74a;border: 2px solid var(--primario);
}

.nav-botones>li.active>a, .nav-botones>li.active>a:focus, .nav-botones>li.active>a:hover{
    background-color: var(--primario);color: #fff;border: 2px solid var(--primario);
}

#title_prod{
    font-family: var(--familia_fuente);
    text-transform: uppercase;
    font-weight: 400;color: var(--primario);
    font-size: 24px;margin-top: 0px
}
h3.categoria{
    font-size: 18px;text-transform: uppercase;font-weight: 300;
    font-family: var(--familia_fuente);margin-top: 0px
}

span.precio{font-size: 24px;font-family: 'Open Sans',sans-serif;color: var(--primario);font-weight: 400}

.titulotag{font-weight: 400}

.videos_responsive{
    width: 600px;
    float: left;
    margin-right: 20px;
    margin-bottom: 30px;}

ul.columnas-detalle{
    list-style-type: disc;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    list-style-position: inside;
}

.otras_fotos .imagen{
    height: 150px;width: 100%;background-size: cover;background-position: center;
}

.breadcrumb{margin: 0;background-color: transparent}
.breadcrumb li a{text-transform: capitalize;color: #000}

.precios .tachado{text-decoration-line: line-through;}

/***PROGRAMAS***/
/*
.cabecera {
background-color: #78c74a;
border: solid 0px #fff;
color: #fff;
padding: 5px;
font-size: 14px;
}
*/

.fila1 {
    background-color: #d9ebd9;
    border: solid 2px #fff;
    padding: 8px;
}

.fila2 {
    background-color: #fff;
    border: solid 2px #fff;
    padding: 8px;
}

.mini_icono_text {
    margin-top: 4px;
    font-size: 24px;
    text-align: center;
    display: table-cell;
    vertical-align: middle;
}


.lista_productos .fa{    color: var(--secundario);}

.mini_icono_text .fa-download{
    color: var(--secundario);
}


.fecha_archivos{
    font-size: 14px;margin: 5px;   
}

.elementos_desc>div:nth-child(even){ background-color: #d9ebd9 }
.elementos_desc .text_content {margin: 10px 0px}
.elementos_desc .text_content p {margin: 0px}
.elementos_desc p.fecha_archivos {text-align: center}
/**************************
SWIPEBOX
**************************/

.cuadro_fotos{
    padding-top: 15px;
    background-color: #f5f5f5;
    border: 1px solid #efefef;
}
.cuadro_fotos .foto_principal{background-color:#fff;margin-bottom:15px}
.cuadro_fotos .galeria{padding:30px 15px;background-color:#3b3b3b}
.swipebox .imagen{width:100%;background-size:contain;background-repeat:no-repeat;background-position:center}
/*.swipebox .imagen:after{content:'';padding-top:66.66%;display:block}*/
.swipebox .imagen:after{content:'';padding-top:100%;display:block}
.swipebox .padre_imagen .imagen{content:'';padding-top:100%;display:block}
.btn-precio{padding:0}
.foto_color .imagen{float:left;height:75px;width:75px;background-size:contain;background-position:center;background-repeat:no-repeat;margin:0 15px 30px 0}

.swipebox .imagen.secundaria{background-size: contain;}

.zona_galeria_mini .bx-wrapper .bx-prev { left: -45px; }
.zona_galeria_mini .bx-wrapper .bx-next { right: -45px; }
.bx-wrapper .bx-controls-direction a{z-index: 1000;}

.bx-wrapper .bx-viewport{
    box-shadow: none;
    border:none;
}

/**************************
NUEVA CESTA
**************************/

#cesta .articulo .padding{padding-right: 30px}

.resumen-cesta{padding: 20px}
.resumen-cesta .ancho-resumen{}
.resumen-cesta .label-resumen{float: right}
.resumen-cesta .label-resumen .cesta-bono{font-size: 24px;margin-right: 10px}
.resumen-cesta .label-resumen .precio_descuento{font-size: 24px;margin-left: 10px}
.resumen-cesta .label-resumen .bigger{font-size: 24px;}

.resumen-cesta .label-resumen p{margin: 0}

.resumen-cesta .aplicar_codigo{height: 52px;border-radius: 0;border-right: none}
.resumen-cesta .input-group-btn{border: 1px solid #ccc;border-radius: 0;border-left: none}
.resumen-cesta .btn-codigo{color:#fff;border:2px solid #fff;height:48px;cursor:pointer;display:flex;min-width:48px;align-items:center;justify-content:center;background-color:var(--primario)}

#gastos .radio, #gastos label{margin: 0}
#gastos label{display: flex;align-items: center;justify-content: flex-start}
#gastos .radio .colocar{width: 0px;margin-bottom: 5px}
.marco-gasto{border: 1px solid #ccc;margin-bottom: 10px;padding: 10px 0px}

.resumen-total strong{text-transform: uppercase;position: relative;top: 10px;}

.metodos-pago .radio-inline{font-size: 18px;margin-left: 20px;}
.btn-borrartodo {border-radius: 0px;background-color: var(--secundario);color: #fff!important}

.swal2-popup {font-size: 1.6rem !important;}

.condiciones a{
    color: #fff;
    font-weight: 700;
}

/************************************
*  Cesta Lateral  *
************************************/

.titulares-resumen{color: var(--primario);}
#configurar-cesta h4{color: var(--primario);}

.menu-cesta{position: fixed;top: 0;right: 0px;height: 100vh;width: 480px;background-color: #fff;z-index: 1000;transition: 400ms all linear;box-shadow: 0px 8px 10px -5px rgba(51,51,51,0.2), 0px 16px 24px 2px rgba(51,51,51,0.14), 0px 6px 30px 5px rgba(51,51,51,0.12)}
.menu-cesta .cabecera-cesta{padding-top:35px;background-color: #d9d9d9;height: 90px;position: relative}
.fondo-cesta{height: 100%;width: 100%;position: absolute;top: 0;left: 0;}
.fondo-cesta .overlay-cesta{height: 100%;width: 100%;position: absolute;top: 0;left: 0;background-color: var(--primario)}
.menu-cesta .cabecera-cesta h3{margin: 0;color: #fff;font-size: 30px;font-family: var(--familia_fuente);text-align: center}
.cerrar-cesta{ position: absolute; top: 25px;right: 20px;transition: 200ms all linear;border-radius: 50%;cursor: pointer}
.cerrar-cesta img{height: 40px;width: 40px}

.cuerpo-cesta{height: calc(100vh - 260px);padding: 30px;overflow: scroll}
.pagar-cesta{height: 120px;padding: 0px 30px;}
.pagar-cesta p{text-align: center}
.pagar-cesta p span{font-size: 30px;font-weight: 400;}
.pie-cesta{height: 50px;background-color: #f7f7f7}

.articulo{position: relative}
.articulo img{width: 100%;height: 115px;object-fit: contain}
.articulo h4{font-size: 16px;font-family: var(--familia_fuente);color: #6a6a6a;}
.articulo .precio-articulo{}
.articulo .controles-articulo{height: 30px}
.articulo .controles-articulo .operators{height: 30px;display: inline-flex;align-items: center;justify-content: flex-start}
.articulo .btn-circle{border: 1px solid #353535;border-radius: 50%;height: 30px;width: 30px;display: inline-flex;justify-content: center;align-items: center;margin-left: 10px;float: right;color: #353535; cursor: pointer;}
.menu-cesta .icono-cesta{width: auto;height: 25px;margin: 0 6px}
.btn-operator{color: #272727}
.btn-operator:hover,.btn-operator:focus,.btn-operator:active {color: #626062}

#precio_label{text-align: center;}

#manto-cesta, #manto-movil {position:fixed;top:0;left:0;right:0;height:100%;width:100%;opacity:0;z-index:-1}
#manto-cesta.toogled, #manto-movil.toogled{z-index:30}

span.cesta-bono{color: #3c763d}

.btn-cesta{height: 48px;background-color: #272727;display: inline-flex;justify-content: center;align-items: center;border-radius: 0;color: #fff;}

.btn-cesta:hover, .btn-cesta:focus, .btn-cesta:active{color: #fff;background: #272727}

.boton-cesta-real{cursor: pointer;}

/* Animaciones */

.menu-cesta{transform: translate(530px, 0px);}
.mostrarCesta .menu-cesta{transform: translate(0px, 0px);}
a.cerrar-cesta:hover {background-color: #626062}

@media (max-width: 767px) {
    .menu-cesta{width: 100vw; transform: translate(110vw, 0px);}
    .menu-cesta .cabecera-cesta {padding-top: 15px;height: 50px}
    .menu-cesta .cabecera-cesta h3 {font-size: 20px}
    .cerrar-cesta{top: 10px;right: 10px}
    .cerrar-cesta img {height: 30px;width: 30px}
    .cuerpo-cesta{height: calc(100vh - 225px);padding: 30px;overflow: scroll}
    #manto-cesta.toogled, #manto-movil.toogled {
        z-index: 9;
        opacity: 0.6;
        background-color: #0d0d0da1;
        backdrop-filter: blur(3px);
    }
}


/************************************
*  Archivos adjuntos y tipografias  *
************************************/

.tipografia, .titulo-contenido{text-align: left;color: #505050;text-transform: uppercase;font-family: var(--familia_fuente); font-size: 22px; font-weight: 400;margin-top: 0;}

.titulo-contenido{color: #000;}
.tipografia i{color: var(--secundario)}
.listado {text-align: justify;}

.listado ul, .listado li {margin: 0px;padding: 0px;list-style: none;}
.listado li {padding: 20px;background-color: var(--transparencia);}
.listado li a, .listado li.alt a{font-size: 13px;font-family: 'Lato', sans-serif;font-weight: 300;}
.listado li.alt {background-color: transparent;}
.listado li.alt a {color: #000;text-decoration: none;}
.listado a {color: #000;text-decoration: none;}
.listado a:hover, .listado li.alt a:hover {color: var(--secundario);text-decoration: none;}

.btn-gris{ color: #333; background-color: #fafafa}
.btn-gris:hover, .btn-gris:focus, .btn-gris:active{color: #333; background-color: #dedede}


/************************************
*            MULTIFORMA             *
************************************/

.bloque_imagen_lista ul{list-style:none;padding:0}
.bloque_imagen_lista i{color:var(--secundario)}
.bloque_cabecera .bloque_titulo{background-color:#1d1c33;padding:15px}
.bloque_cabecera .bloque_interior{background-color:#13122C;padding:30px 15px}
.bloque_cabecera .bloque_titulo h3{
    font-size: 30px;
    color: #FFF;
    font-family: var(--titulo);
    font-weight: 500;
}
.bloque_cabecera .imagen{width:100%}
.bloque_cabecera h4{
    font-size: 28px;
    line-height: 24px;
    font-family: var(--subtitulo);
    color: #ebafd0;
    font-style: italic;
    font-weight: lighter;
    margin-bottom: 0;
}
/*.bloque_cabecera .texto{font-size:18px;font-weight:300}*/
.bloque_imagen_lista .imagen{width:100%;object-fit:cover;margin-bottom:30px}
.bloque_imagen_lista h4{text-transform:uppercase;margin:0;margin-bottom:10px;font-family:var(--familia_fuente);color:var(--primario);font-size:22px}
.bloque_puntos ul{margin:0;padding:0;list-style:none}
.bloque_puntos ul li{margin-bottom:15px}
.bloque_puntos ul li>p>.fa{font-size:20px;color:var(--secundario)}
.bloque_contenido .titulo{background-color:#1d1c33;padding:15px 10px}
.bloque_contenido .titulo h4{color:#fff;margin:0;text-transform:uppercase;font-size:16px;font-family:var(--familia_fuente);font-weight:300}
.bloque_contenido .bloque{padding:0 10px}
.bloque_desplegable .fondo,.bloque_documentos .fondo{background-color:#1d1c33;padding:20px;margin-bottom:40px}
.bloque_desplegable .panel-group,.bloque_documentos .panel-group{margin:0}
.bloque_desplegable h2,.bloque_documentos h2{margin:0;margin-bottom:20px;font-size:23px;text-transform:uppercase;font-weight:400;font-family:var(--familia_fuente);color:var(--color_subtitulos)}
.bloque_desplegable .panel-default{border-color:var(--primario)}
.bloque_desplegable .panel-default>.panel-heading{background-color:var(--primario);color:#fff;border-color:var(--primario)}
.bloque_desplegable h2 .fa{color:var(--color_subtitulos)}
.bloque_desplegable .panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:var(--primario); background-color: #36354d;}
.bloque_imagenes img{width:100%}
.bloque_imagenes .flexible{display:flex;align-items:center}


.panel-body .btn-corporativo2{padding:8px 15px}
.bloque_imagenes img{width:100%;object-fit:cover}

/************************************
*              IDIOMAS              *
************************************/

#idiomasside{
    display: none;
    position: fixed;
    top: 300px;
    right: 0;
    z-index: 900;
}

#idiomasside li{
    padding: 10px;
    list-style-type:none;
}

#idiomasside img{
    height: 40px;
}

#idiomasside font{
    display: none;
}

.zona-idiomas-movil{height: 50px; width: 100%; display: flex; justify-content: space-around; align-items: center; padding: 20px; margin-top: 25px;}
.zona-idiomas-movil .flag{height: 50px; width: 30px;}

/************************************
*               BLOG                *
************************************/
.alergenos {display: flex;justify-content: space-evenly;align-content: space-evenly;flex-wrap: wrap}
.alergenos .padre_fondo {margin: 0}
.alergenos .caja_alergenos{ padding: 0 10px    }
.alergenos .caja_alergenos:hover {transform: translateY(0)}
.bloque.principal.noticia {display: inherit}
.noticias,.post_details ul,.popular{list-style:none;padding:0;margin:0}
.noticia a{font-family:'Lato',sans-serif;text-decoration:none;text-transform:uppercase;color:#333333}
.noticias .imagen{background-size:cover;background-position:center center;background-repeat:no-repeat}
.noticias .imagen:after{content:"";padding-top:50%;display:block}
.not-imagen{background-color:#ededed}
#modal-cita .form-control{
    color: var(--primario);
    border-radius: 10px!important;
    background: #f8fbff;
    padding: 6px 20px;
    font-family: 'Open Sans', sans-serif;
    font-style: italic;
    border: 1px solid var(--primario);
}
#modal-cita input::-webkit-input-placeholder,
#modal-cita textarea::-webkit-input-placeholder { 
    color: var(--primario); 
} 

#modal-cita input:-moz-placeholder, /* Firefox 18- */ 
#modal-cita textarea:-moz-placeholder { /* Firefox 18- */ 
    color: var(--primario); 
} 

#modal-cita input::-moz-placeholder, /* Firefox 19+ */ 
#modal-cita textarea::-moz-placeholder { /* Firefox 19+ */ 
    color: var(--primario);
} 

#modal-cita input:-ms-input-placeholder, 
#modal-cita textarea:-ms-input-placeholder { 
    color: var(--primario); 
}

#modal-cita input::placeholder, #modal-cita textarea::placeholder{
    color: var(--primario);
}

#modal-cita .form-control{
    height: 50px;
}

#modal-cita p{
    color: var(--primario);
}

#modal-cita textarea.form-control{
    height: 120px;
}
.full {
    height: 100%;
    width: 100%;
    position: absolute;
}
.full-width{width:100%}
.noticia .titular{margin-bottom:0;border-bottom:solid 1px #f3f3f3}
.noticia .titular h1{color:#1e1f1d;margin-bottom:10px}
.noticia .titular a>h3{margin-bottom:17px;font-size:24px;text-transform:uppercase;text-align:left;color:#333333;font-family:var(--familia_fuente);}
.noticia .post_details{color:#fff;background-color:var(--primario);padding:10px;border-bottom:solid 5px var(--primario);text-align:right;font-size:13px}
.post_details li{font-family:var(--familia_fuente);font-size:13px;font-weight:300;color:#fff}
.noticia-detalle-fecha small{font-family:var(--familia_fuente);font-weight:300;color:#302224}
.post_details i{color:#fff}
.noticia-detalle-fecha i{color:#2f3668}
.noticia .contenido{padding:5px 15px 10px;background-color:#fff;border:1px solid #ffefcc}
.contenido_noticia_lista{padding:0 20px;background-color:var(--transparencia)}
.noticia-detalle-fecha{text-align:right;color:#2b2b2b}
.widget-noticias{background-color:#f3f3f3;padding:15px}
.widget-noticias h5{font-size:18px;text-transform:uppercase;color:var(--primario);font-family:var(--familia_fuente);}
.widget-noticias .input-group-btn{height:100%;border-top-right-radius:4px;border-bottom-right-radius:4px}
.widget-noticias .input-group-btn button{height:100%;border:1px solid var(--primario);background-color:var(--primario);color:#fff}
.widget-noticias .input-group-btn i{font-size:16px}
.widget-noticias2{  position: sticky;
    position: -webkit-sticky;top: 20px;}
.popular{font-size:13px}
.mini-noticia {float: none;}
.mini-noticia a{font-family:var(--familia_fuente);font-weight:400;font-size:14px}
.popular li{padding:10px 0;border-bottom:dotted 1px rgb(129, 97, 159)}
.popular .imagen{width:50px;height:50px;float:left;margin-right:10px;border-radius:3px;background-size:cover;background-position:center center}
.popular a.title{color:#070707;}
.popular a.texto-breve{color:#707070;font-weight:300;font-family:"Lato",sans-serif;font-size: 12px}
.popular a.title:hover,.popular a.title:focus,.popular a.title:active{color:#070707}
.bloque.noticia{margin-bottom:40px}

.cuadro_noticia{background-color:var(--transparencia); max-width:400px;float:left;margin: 0px 20px 12px 0px;}

.titulo_noticia {color: var(--primario);font-size: 30px;text-transform: uppercase;font-family: var(--familia_fuente);margin: 0; }

#busqueda{border-color: var(--primario);}

.marco-contacto{
    background-color: #2b2a3d;
    padding: 20px;
    border-radius: 30px;
    
}
.marco-contacto h3{margin-top: 0px}
.widget-noticias{background-color: var(--transparencia)}
.marco-contacto .input-group-addon{background-color: var(--primario); border-color: var(--primario);color: #fff}
.marco-contacto .form-control{
    border-color: var(--primario);
    border-radius: 16px;
    padding: 16px;
}
.input-group .form-control {
    z-index: 0;
    height: 60px;
    border-radius: 15px !important;
}
.input-group{
    width: 100%;
}

.zona-mapa iframe{
    height: 100%; 
    width: 100%;
    border-radius: 30px;
}

.btn-lg.btn-corporativo.desactivado{
    opacity: 1 !important;
}

.ocultorobots {
    opacity: 0;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 0px;
    height: 0px;
}
/* TABLA MIS PEDIOS*/

.tabla_cabecera .row {font-weight: 400; background-color: var(--primario); color: #fff}
#tabla_stocks_resultados .row:nth-child(even) { background-color: var(--transparencia) }
.tabla_stocks .cell{padding: 15px}
.tabla_stocks .cell-btn{padding: 10px}
.avisono {margin: 10px 0px; font-size: 18px}

textarea {
    resize: vertical;
}

/*+++++++++++++++++++*/
/************************************
*             INTERIOR              *
************************************/
.fa-angle-down{
    padding-left: 5px;
}
/*MENU VIEJO
.navbar-default .dropdown-menu{
background-color: #fff;
color: #000;
top: 99%;
}

.navbar-default .dropdown-menu>li>a {
padding: 18px 20px;
color: #fff;
font-size: 16px;
font-family: 'Roboto', sans-serif;
font-weight: 300;
background-color: var(--primario);
border-bottom: 1px dotted #4b4a4a;
}

.superior .dropdown-menu>li>a {
padding: 18px 20px;
color: #000;
font-size: 16px;
font-family: 'Roboto', sans-serif;
font-weight: 300;
border-bottom: 1px dotted #c6c6c6;
border-right:  1px dotted #c6c6c6;
}
.dropdown-menu>.active>a, .dropdown-menu>.active>a:focus, .dropdown-menu>.active>a:hover {
background-color: var(--transparencia);
color: #2c2c2c
}
.dropdown-menu {
padding: 0;
}
.superior .open>.dropdown-menu {
width: 185px;
top: 32px;
}
.superior .dropdown-menu>.active>a, .superior .dropdown-menu>.active>a:focus, .superior .dropdown-menu>.active>a:hover, .superior .dropdown-menu>li>a:focus, .superior .dropdown-menu>li>a:hover {
background-color: #dddddd;;
color: #09090c;
font-weight: 700;
}
.navbar-default .dropdown-menu>.active>a, .navbar-default .dropdown-menu>.active>a:focus, .navbar-default .dropdown-menu>.active>a:hover, .navbar-default .dropdown-menu>li>a:focus, .navbar-default .dropdown-menu>li>a:hover {
background-color: #000;
color: #fff;
font-weight: 700;
}

.nav .open>a, .nav .open>a:focus, .nav .open>a:hover {
background-color: transparent;
}
.superior .open>a, .superior .open>a:focus, .superior .open>a:hover {
background-color: transparent;
}
*/
.acceso a p{
    color: var(--primario);
    font-weight: 600;
    margin: 0;
}

.noestavisibleparapersonas{
    display: none;
}
.banner_interior{
    width: 100%;
    height: 500px;
    background-size: cover;
    overflow: hidden;
    background-position: 0px 40%;
}

.corte_banner_interior{ 
    width: 100%;
    position: absolute;
    bottom: -1px;
    left: 0px;
    z-index: 1;
}

.banner_interior .imagen{
    width: 100%;
    height: 100%;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    filter: blur(4px);
}

.banner_interior .texto{
    flex-direction: column;
    position: absolute;
    width: 100%;
    height: 100%;
    bottom: 0px;
    left: 0px;
}
.banner_interior .texto img{
    margin-top: 20px;
}
.banner_interior.interior_azul .texto{
    background-color: rgba(69,183,245,0.5);
}
.banner_interior.interior_amarillo .texto{
    background-color: rgba(247,201,110,0.5);
}
.banner_interior.interior_rojo .texto{
    background-color: rgba(245,104,78,0.5);
}

.banner_interior p {
    margin-top: 0;
    font-size: 60px;
    line-height: 50px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0px;
    font-family: 'Open Sans'; 
    text-align: center;
    margin-bottom: 0px;
    text-shadow: 2px 2px 3px rgba(1, 0, 2, 0.75);
}

.banner_interior h1{
    margin-top: 0;
    font-size: 60px;
    line-height: 50px;
    font-weight: 600;
    color: #fff;
    letter-spacing: 0px;
    font-family: 'Open Sans'; 
    text-align: center;
    margin-bottom: 0px;
    text-shadow: 2px 2px 3px rgba(1, 0, 2, 0.75);
}
.nav-pills>li.active>a, .nav-pills>li.active>a:focus, .nav-pills>li.active>a:hover {
    color: #fff;
    background-color: var(--primario);
}

.nav-pills>li>a{
    color:  #000;
    font-family: 'Open Sans'; 
    font-weight: 400;text-transform: uppercase;
}

/************************************
*              FILTROS              *
************************************/

.filtros{
    height: 112px;
    background-color: var(--transparencia);
    border-bottom: 1px solid #e8e8e8;
    margin: 0;padding: 0;
}

.producto-detalle .filtros{height: 44px;}

.filtros.interiores{
    background: #f9f9f9;
}

.filtros.gestion{
    height: 65px; display: flex; justify-content: center; align-items: center;
}
.filtros.gestion>div{
    width: 100%; margin-top: 15px;
}


.centrarflitros{
    display: flex;
    align-items: center;
}

/************************************
*             BUSCADOR              *
************************************/

#buscador_emergente{position:absolute;top:195px;width:100%;z-index:1000;transition:300ms all ease}
#buscador_emergente.oculto{visibility:hidden;opacity:0;top:0}
.buscador_emergente>div{background:#fff;border-bottom:1px solid #e4e9ef;box-shadow:0 0 3px #ccc;padding:15px}
.input_buscador{border-right:0;box-shadow:none;border-radius:0}
.boton_input_buscador{border-radius:0;padding:10px;border-left:0;border-right:0;color:rgba(0,0,0,.3);background-color:#fff!important}
.cerrar_input_buscador{border-right:0;border-right:1px #ccc solid;color:rgba(0,0,0,.3);padding:10px;border-radius:0;background-color:#fff!important}
#buscador{position:fixed;z-index:99999;height:100%;width:100%;display:flex;pointer-events:none}
#buscador.search-active{overflow:hidden;pointer-events:auto}
#buscador.search-active .search-input{opacity:1;transform:none;pointer-events:all}
#buscador.search-active .icon-close{opacity:1;transform:rotate(-90deg)}
#buscador.search-active .control{cursor:default}
#buscador.search-active .control .btn-material{transform:scale(70);right:1000px;top:0}
#buscador.search-active .control .icon-material-search{opacity:0}
.icon-close{position:fixed;top:30px;right:30px;color:#fff;cursor:pointer;font-size:70px;opacity:0;transition:all .3s ease-in-out}
.icon-close:hover{transform:rotate(0)}
.search-input{height:80px;position:absolute;top:50%;left:50px;margin-top:-40px;pointer-events:none;opacity:0;transform:translate(40px,0);transition:all .3s ease-in-out}
.search-input input{color:#fff;font-size:54px;border:0;background:transparent;-webkit-appearance:none;box-sizing:border-box;outline:0;font-weight:200;font-family: 'Open Sans'; }
.search-input i{color:#fff;font-size:50px;margin-right:15px}
.search-input ::-webkit-input-placeholder{color:#eee}
.search-input :-moz-placeholder{color:#eee;opacity:1}
.search-input ::-moz-placeholder{color:#eee;opacity:1}
.search-input :-ms-input-placeholder{color:#eee}
.wow{
    visibility: hidden;
}
.full-width{width:100%}
.control{cursor:pointer}
.control .btn-material{position:absolute;top:-100px;width:60px;height:60px;right:0;border-radius:100%;box-sizing:border-box;background:var(--primario);outline:0;opacity:.9;transform-origin:50%;box-shadow:0 3px 6px rgba(0,0,0,0.16),0 3px 6px rgba(0,0,0,0.23);transition:all .7s cubic-bezier(0.4,0,0.2,1)}
.control .btn-material:hover{box-shadow:0 10px 20px rgba(0,0,0,0.19),0 6px 6px rgba(0,0,0,0.23)}
.control .icon-material-search{color:#fff;position:absolute;top:-10px;right:78px;transition:opacity .3s ease-in-out}

.navbar-img{display: none}
.modal-header{
    background-color: var(--primario);
    color: #fff;
}
.modal-content{border: 0;}
.modal-header .close{color: #FFFFFF;}

/************************************
*             PAGINACION            *
************************************/

.btn-pagination { 
    color: #FFFFFF; 
    background-color: #565656; 
    border-color: #565656; 
} 

.btn-pagination:hover, 
.btn-pagination:focus, 
.btn-pagination:active, 
.btn-pagination.active, 
.open .dropdown-toggle.btn-pagination { 
    color: #FFFFFF;
    background-color: var(--primario); 
    border-color: var(--primario); 
} 

.btn-pagination:active, 
.btn-pagination.active, 
.open .dropdown-toggle.btn-pagination { 
    background-image: none; 
} 

.btn-pagination.disabled, 
.btn-pagination[disabled], 
fieldset[disabled] .btn-pagination, 
.btn-pagination.disabled:hover, 
.btn-pagination[disabled]:hover, 
fieldset[disabled] .btn-pagination:hover, 
.btn-pagination.disabled:focus, 
.btn-pagination[disabled]:focus, 
fieldset[disabled] .btn-pagination:focus, 
.btn-pagination.disabled:active, 
.btn-pagination[disabled]:active, 
fieldset[disabled] .btn-pagination:active, 
.btn-pagination.disabled.active, 
.btn-pagination[disabled].active, 
fieldset[disabled] .btn-pagination.active { 
    background-color: #3a39367a; 
    border-color: #3A3936; 
} 

.btn-pagination .badge { 
    color: #0977b2; 
    background-color: #FFFFFF; 
}

.btn-pagination {
    padding: 10px 20px;
    font-size: 14px;
    margin: 0 15px;
    border: 1px solid;
}

.proyecto .imagen{
    background-size: cover;
}
.proyecto h3{
    font-family: var(--familia_fuente);
    margin-bottom: 40px;
    text-align: center;
}

/************************************
*         INSTAGRAM WIDGET          *
************************************/

.instagram-widget>div{position:relative; padding-top:calc(100vw / 6); width: 100%; overflow: hidden;}
.instagram-widget iframe{border:none !important; overflow:hidden !important; position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height: 100% !important;}

/************************************
*           SELECT BONITO           *
************************************/

.selectbonito {
    position: relative;
}

.selectbonito:after {
    content: '\f078';
    font: normal normal normal 10px/1 FontAwesome;
    color: #ffffff;
    right: 0;
    position: absolute;
    pointer-events: none;

    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 7px;
}

/* IE11 hide native button (thanks Matt!) */
select::-ms-expand {
    display: none;
}

.selectbonito select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    /* Add some styling */

    display: block;
    width: 100%;
    float: right;
    background-image: none;
    -ms-word-break: normal;
    word-break: normal;
}
/* whatsapp */
.floating-icons {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 99;
}

.floating-icons a {
    display: inline-block;
    transition: all .2s ease-in-out;
}

a:hover, 
a:visited, 
a:link, 
a:active { 
    text-decoration: none;
}

.floating-icons img {
    max-width: 48px;
    height: auto;
}

.floating-icons a:hover {
    transform: scale(0.9);
}

/* ESTILOS RESPONSIVE MAQUETA AQUI */


/*//ESTILOS GENERALES//*/
@media (max-width: 1200px){
    .dropdown-submenu>a:after {
        display: none;
    }

    .menu_idiomas {
        background-color: var(--transparencia);
        height: 30px;
        padding: 1px 1px 1px 10px;
        border-radius: 18px;
        border: 1px solid #ebeef1;
        width: fit-content;
        margin: 0 auto;
        margin-top: 25px;
    }

    .lista-idiomas font {
        display: none;
    }

    .lista-idiomas {
        list-style: none;
        padding: 0;
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 15px;
    }

    .lista-idiomas li {
        text-align: center;
    }

    .lista-idiomas img {
        width: 35px;
        height: 35px;
        border-radius: 30px;
    }

    .lista-idiomas p {
        display: none;
    }

    .modal-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        border-top-left-radius: 30px;
        border-top-right-radius: 30px;
    }

    .modal-title {
        width: 90%;
    }

    .modal-content {
        border-radius: 30px;
    }

    .modal-dialog {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%) !important;
        margin: 0;
        width: 90%;
    }
    
    .sidebar-wrapper.left .form-control {
        height: 43px;
        padding: 6px 12px;
        color: var(--secundario);
        font-style: italic;
        background-color: #ffffff;
        border: 1px solid #91a22f;
        border-radius: 4px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .sidebar-nav li a.favorito {
        border-right: 1px solid rgba(255, 255, 255, 0.3);
    }
    .caja_favorito, .caja_redes {
        width: 100%;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        margin-top: 10px;
    }
    .caja_favorito a,.caja_redes a{
        padding: 0 10px!important;
        margin: 10px 0!important;
    }
    .caja_acceso a{
        padding: 0 20px!important;
    }
    .caja_favorito a img{
        margin-left: 0!important;
    }
    .sidebar-wrapper li img,.caja_redes a img {
        height: 20px;
        transition: all .2s ease-in-out;
    }
    .sidebar-wrapper.left .btn {
        padding: 6px 11px;
        height: 43px;
        border-radius: 4px;
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        background-color: var(--primario);
        border: 1px solid var(--primario);
    }
    .sidebar-wrapper.left .sidebar-nav li:first-child {
        padding: 10px 20px;
        text-indent: 0px;
        padding-top: 25px;
    }
    .left .sidebar-nav .multi-level li:first-child{
        padding: 0;
    }
    .left .sidebar-nav .multi-level li:last-child a{
        text-indent: 0;
    }
    .banner_interior {
        height: 250px;
    }
    .fijar{
        position: fixed;
        width: 100%;
    }
}
@media (min-width: 993px){ /* móviles */
    .desfijar {position: absolute !important; width: 100%;}
}
@media (max-width: 992px){ /* móviles */
    
    /* menu_desplegable, descomentar si es necesario para el menu de movil */
    
/*
    .sidebar-nav .multi-level li a{
        text-indent: 0;
        padding-left: 40px !important;
    }
    .sidebar-nav .multi-level li:first-child{
        padding: 0;
    }
    .sidebar-nav .multi-level li:last-child a{
        text-indent: 0;
    }
    .sidebar-nav .multi-level li.active a{background-color: rgba(0, 0, 0, 0.45);}
    .sidebar-nav .multi-level li:first-child{
        padding: 0;
    }
    .sidebar-nav .multi-level li:last-child a{
        text-indent: 0;
    }
    .sidebar-nav .multi-level li.active a{
        text-decoration: none;
        color: #ffffff;
        background-color: rgba(255, 255, 255, 0.30);
        font-weight: 400;
    }

	.sidebar-wrapper{opacity: 1}

	.sidebar-nav .open>.dropdown-menu {
		position: static;
		background-color: transparent;
		border: none;
		box-shadow: none;
		margin: 0;
		padding: 0;
	}

	.sidebar-nav .dropaco .dropdown-menu>li>a {
		text-align: left;
		padding: 8px 20px;
		background-color: rgba(0, 0, 0, 0.25);
		white-space: initial;
		color: #ffffff;
		font-size: 15px;
		font-family: 'Roboto Condensed', sans-serif;
		font-weight: 300;
	}
    
    .sidebar-nav .multi-level li.active a {
        background-color: rgba(0, 0, 0, 0.45);
    }
*/

	/* menu_desplegable */
    
    /* whatsapp */
    .floating-icons {
        bottom: 1rem;
        right: 1rem;
    }
    .videos_responsive{width: 100%;float: none}
    .marco-contacto{margin-top: 40px;}
    .botones_carro{width: 100%;margin-top: 20px}
    .otras_fotos .imagen{height: 100px;}
    .foto_principal .imagen {width: 100%}
    .zona_galeria_mini .bx-wrapper .bx-prev { display: none;}
    .zona_galeria_mini .bx-wrapper .bx-next { display: none;}


    .instagram-widget>div{position:relative; padding-top:calc(100vw / 3);}
    .instagram-widget iframe{width:200% !important;}
    .padre_imagen .imagen {background-size: contain;}
    .sidebar-wrapper.left .form-control {
        height: 43px;
        padding: 6px 12px;
        color: var(--secundario);
        font-style: italic;
        background-color: #ffffff;
        border: 1px solid var(--primario);
        border-radius: 4px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
    }
    .sidebar-nav li a.favorito {
        border-right: 1px solid rgba(255, 255, 255, 0.3);
    }
    .caja_favorito, .caja_redes {
        width: 100%;
        display: inline-flex;
        justify-content: center;
        align-items: center;
        margin-top: 10px;
        flex-wrap: wrap;
    }
    .caja_favorito a,.caja_redes a{
        padding: 0 10px!important;
        margin: 10px 0!important;
    }
    .caja_acceso a{
        padding: 0 20px!important;
    }
    .caja_favorito a img{
        margin-left: 0!important;
    }
    .sidebar-wrapper li img,.caja_redes a img {
        height: 25px;
        transition: all .2s ease-in-out;
    }
    .sidebar-wrapper.left .sidebar-nav li:first-child {
        padding: 10px 20px;
        text-indent: 0px;
        padding-top: 25px;
    }
    .left .sidebar-nav .multi-level li:first-child{
        padding: 0;
    }
    .left .sidebar-nav .multi-level li:last-child a{
        text-indent: 0;
    }
    .left .sidebar-nav .multi-level li.active a{
        text-decoration: none;
        color: #ffffff;
        background-color: rgba(255, 255, 255, 0.30);
        font-weight: 400;
    }
    .quantity{width: 100%; display: flex; align-items: center; justify-content: space-between;}
    .quantity label{margin-bottom: 0;}
    
    .zona-mapa iframe {height: 350px;}
}
@media (max-width: 767px){ /* móviles */
    .marco-izq .col-xs-10{
        margin-left: 0px;
    }
    .filtros{
        height: 260px;
    }
    h3.categoria {
        text-align: center;
    }
    span.precio {
        font-size: 48px;
        font-family: var(--familia_fuente);
        font-weight: 400;
    }
    span.tachado {
        font-size: 24px;
        font-family: var(--familia_fuente);
        font-weight: 400;
    }
    .precios_estilos {
        text-align: center;
        width: 100%;
    }
    .banner_interior {
        height: 200px;
    }
    .otras_fotos{margin-bottom: 30px}
    .nav-botones>li{float: none;width: 100%;margin-bottom: 10px}
    .nav-botones>li>a{margin: 0;}
    .btn-pagination {
        padding: 6px 12px;
        font-size: 12px;
        margin: 0 7px;
        border: 1px solid;
    }
    h3{
        font-size: 20px;
    }
    .proyecto .imagen {
        background-size: cover;
    }
    .cuadro_noticia {
        float: none;
        position: relative;
        width: 100%;
        margin: 0 auto 30px;
    }

    .instagram-widget>div{position:relative; padding-top:calc(100vw / 2);}
    .instagram-widget iframe{width:300% !important;}
}

















/* Cabecera */
/* menu_idiomas */
.d-flex {
    position: absolute;
    right: 40px;
    top: 40%;
}

.menu_idiomas {
    height: 100%;
    transition: 0.3s ease-in-out all;
}

.menu_idiomas img.bandera {
    height: 22px;
    border-radius: 15px;
    border: 1px solid var(--primario);
    transition: 0.3s ease-in-out all;
}

.menu_idiomas .dropdown-toggle {
    background-color: var(--transparencia);
    height: 30px;
    padding: 5px 7px 9px 7px;
    border-radius: 18px;
    border: 1px solid #ebeef1;
    transition: 0.3s ease-in-out all;
}

.barra_ampliada .menu_idiomas .dropdown-menu {
    top: 80px;
}

.barra_reducida .menu_idiomas .dropdown-menu {
    top: 50px;
}

.menu_idiomas .dropdown-menu {
    border-radius: 0 0 5px 5px;
    overflow: hidden;
    padding: 0;
    border: 0;
    /* border-top: 4px solid var(--secundario__e); */
    border-top: 4px solid rgba(255, 255, 255, 0.247);
    background-color: #0e0d22d1;
    left: 50%;
    transform: translateX(-50%);
    min-width: 190px;
    transition: 0.3s ease-in-out all;
}

.menu_idiomas .dropdown-menu a {
    display: block;
    padding: 20px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #fff;
    white-space: nowrap;
    /* border-bottom: 1px dashed var(--secundario__e); */
    border-bottom: 1px dashed rgba(255, 255, 255, 0.247);
    text-transform: uppercase;
    transition: 0.3s ease-in-out all;
}

.menu_idiomas p {
    margin: 0;
}

.menu_idiomas a img {
    height: 22px;
}

.menu_idiomas .dropdown-menu a img {
    height: 24px;
    width: 24px;
    margin-right: 12px;
    /* border: 2px solid #6b6b6b; */
    border: 1px solid #1e1e1e;
    border-radius: 11px;
}

.menu_idiomas li>a img {
    height: 20px;
    /* margin-right: 12px; */
}

.menu_idiomas .dropdown-icon {
    width: 20px;
    height: 100%;
    margin-left: 7px;
    margin-right: 3px;
    filter: invert(1);
}

.menu_idiomas .dropdown-menu>li>a {
    color: var(--primario);
    font-family: var(--familia_fuente);
    font-size: 16px;
    font-weight: 400;
    padding-top: 15px;
    padding-bottom: 15px;
    color: #fff;
    display: flex;
    align-items: center;
}

.menu_idiomas .dropdown-menu a:focus,
.menu_idiomas .dropdown-menu a:hover {
    background-color: var(--secundario);
}

.menu_idiomas .dropdown-menu>li>a:focus,
.menu_idiomas .dropdown-menu>li>a:hover {
    background-color: rgba(1, 60, 166, 0.4);
}

.menu_idiomas_movil {
    width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}

.menu_idiomas_movil a img {
    /* width: 20px; */
    width: 25px;
    border-radius: 10px;
    margin: 5px;
    /* border: 2px solid #6b6b6b */
    border: 2px solid #1e1e1e
}

.menu_idiomas_movil {
    font-size: 0;
}









.navbar-fixed-top {
    z-index: 999;
    background-color: var(--light__e);
}

.barra_ampliada .navbar-fixed-top {
    height: 145px;
    background: linear-gradient(0deg, rgba(250, 248, 245, 0) 0%, rgba(0, 0, 0, 0.45) 46%, rgba(0, 0, 0, 0.67) 100%);
    backdrop-filter: blur(7px);
    transition: .3s ease-in-out;
}

.barra_reducida .navbar-fixed-top {
    height: 100px;
    filter: drop-shadow(2px 4px 6px #24242420);
    background: linear-gradient(0deg, rgba(250, 248, 245, 0) 0%, rgba(0, 0, 0, 0.45) 46%, rgba(0, 0, 0, 0.67) 100%);
    backdrop-filter: blur(5px);
    transition: .3s ease-in-out;
}

.barra_reducida .navbar-brand > img{
    width: 80px;
    width: 220px;
    top: 15px;
    transition: .3s ease-in-out;
}

.navbar-brand {
    padding: 0;
    height: auto;
    left: 40px;
    z-index: 2;
    top: 10px;
}

.barra_ampliada .navbar-brand {
  height: 145px;
}

.barra_reducida .navbar-brand {
  height: 100px;
}

.navbar-brand > img {
    top: 30px;
    width: 290px;
    transition: .3s ease-in-out;
}

.navbar-nav {
    /* left: calc(33%);
    transform: translateX(-18%); */
    float: none;
    column-gap: 2px;
    height: 100%;
    margin: 0 auto;
    width: 100%;
    display: flex;
    justify-content: center;
}



.navbar-nav::after,
.navbar-nav::before {
  content: unset;
}

.navbar-nav > li {
  display: flex;
  align-items: center;
  height: 100%;
}

.navbar-nav > li > a {
  height: 60px;
  font-family: var(--titulo);
  color: #ffffff;
  font-size: 16px;
  padding: 0 23px;
  display: inline-flex;
  text-transform: uppercase;
  white-space: nowrap;
  font-family: var(--titulo);
}

nav .navbar-nav > li > a:hover,
nav .navbar-nav > li > a:active,
nav .navbar-nav > li > a:focus,
nav .navbar-nav > .active > a,
nav .navbar-nav > .active > a:focus,
nav .navbar-nav > .active > a:hover {
  background-color: transparent;
}

/* nav .navbar-nav > li.active .hover-effect:before,
nav .navbar-nav > li .hover-effect:hover:before,
nav .navbar-nav > li .hover-effect:focus:before,
nav .navbar-nav > li .hover-effect:active:before {
  transform: scaleX(1);
  border-radius: var(--rounded_full);
  background-color: transparent;
  background-image: url();
  border: 1px solid var(--secundario__e);
} */

nav .navbar-nav > li .hover-effect{
    align-items: center;
}

nav .navbar-nav > li.dropdown > a {
  gap: 7px;
}

nav .navbar-nav > li.dropdown .dropdown-toggle span img {
  width: 10px;
}

nav .navbar-nav > li.dropdown .dropdown-menu {
    border-radius: 0 0 5px 5px;
    border-radius: 20px;
    /* overflow: hidden; */
    top: calc(100% - 1px);
    /* border-top: 2px solid var(--secundario__e); */
    padding: 0px 0 0px;
    background-color: #0e0d22a1;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    min-width: 350px;
}

nav .navbar-nav > li.dropdown .dropdown-menu > li > a {
    padding: 25px 0;
    font-weight: 300;
    color: var(--light__e);
    transition: .3s ease-in-out;
    font-weight: 400;
}

nav .navbar-nav > li.dropdown .dropdown-menu > li > a:focus,
nav .navbar-nav > li.dropdown .dropdown-menu > li > a:hover {
    border-radius: 20px;
    background-color: #ebafd059;
    transition: .3s ease-in-out;
}

nav .navbar-nav > li.dropdown .dropdown-menu > li + li::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 50px;
  height: 1px;
  background-color: var(--color_subtitulos);
}

nav .navbar-nav > li.dropdown.open > a {
  background-color: var(--light__e);
}

nav .navbar-nav > li.dropdown.open > a,
nav .navbar-nav > li.dropdown.open > a:focus,
nav .navbar-nav > li.dropdown.open > a:hover {
  background-color: initial;
  border-color: transparent;
}

.nav-buttons {
  right: 20px;
}


.navbar-collapse .redes .img{
    width: 20px;
    height: 20px;
}
.navbar-collapse .redes a{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: #FFF;
    gap: 7px;
    padding: 15px;
    background-color: #dd1f00;
    border-radius: 30px;
    transition: .3s ease-in-out;
}
.navbar-collapse .redes span{
    display: flex;
    align-items: center;
}
.navbar-collapse .redes {
    position: absolute;
    flex-direction: column;
    right: 20px;
    top: 40vh;
    display: flex;
    gap: 15px;
    transition: .3s ease-in-out;
}


.navbar-collapse .redes .img{
    width: 20px;
    height: 20px;
}
.navbar-collapse .redes a{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    color: #FFF;
    gap: 7px;
    padding: 8px;
    background: linear-gradient(135deg, #dd1f00 0%, #dd1f00 45%, #dd1f00 100%);
    border-radius: 30px;
    transition: .3s ease-in-out;
}
.navbar-collapse .redes span{
    display: flex;
    align-items: center;
}


.barra_reducida .navbar-collapse .redes {
    transition: .3s ease-in-out;
}



/* Hover con vibe "buffet internacional" */
.navbar-collapse .redes a:hover {
    background: linear-gradient(135deg, #1e28d1 0%, #0d0d24 100%);
    outline: 1px solid #1e28d0;
    transform: scale(1.03);
}

/* Suaviza el icono en hover */
.navbar-collapse .redes a:hover .img,
.navbar-collapse .redes a:hover svg {
    filter: drop-shadow(0 0 6px drop-shadow(0 0 11px #1e28d0));
}

.redes li {
    list-style: none;
    list-style: none;
}

/* .navbar-collapse .redes .img{
    width: 20px;
    height: 20px;
} */

.barra_ampliada .nav-buttons {
  height: 145px;
}

.barra_reducida .nav-buttons {
  height: 100px;
}

.barra_inferior {
  /* right: 0; */
  right: -40px;
  padding-right: 40px;
  /* top: calc(100% + 19px); */
  top: calc(100% + 0px);
  z-index: -1;
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
  animation-duration: 1.2s;
  animation-delay: 0.3s;
}

.barra_reducida .barra_inferior {
  transform: translateX(calc(100% + 0px));
}

.alineado_alejado {
  column-gap: 25px;
  background-color: var(--primario__e);
  /* border-radius: var(--rounded_full); */
  border-bottom-left-radius: var(--rounded_full);
  border-top-left-radius: var(--rounded_full);
  height: 45px;
  padding: 0 35px;
  width: max-content;
  z-index: 2;
}

.alineado_alejado .vl {
  width: 1px;
  height: 20px;
  background-color: var(--secundario__e);
}

.grupo_icono {
  column-gap: 20px;
}

.grupo_icono_con_texto {
  column-gap: 45px;
}

.barra_inferior .icono_texto {
  column-gap: 14px;
}

.barra_inferior .icono_texto p {
  font-family: var(--titulo);
  margin: 0;

  color: #ffffff;
}

.barra_inferior .icono_texto p:hover {
  color: var(--secundario);
}

.grupo_icono_con_texto .icono_texto span {
  width: 21px;
}

.grupo_icono_con_texto .icono_texto img {
  width: 100%;
}

.grupo_icono img {
  width: 20px;
}

/* sidebar */
.sidebar-wrapper {
  position: fixed;
  top: 0;
  width: 100%;
  max-width: 250px;
  height: calc(100% - 52px);
  top: 52px;
  padding-top: 10px;
  overflow-y: auto;
  background-color: var(--primario);
  opacity: 0;
  z-index: 10;
}

.sidebar-wrapper.left {
  left: 0;
  transform: translateX(-100%);
}


ul.list-unstyled {
    margin-bottom: 0;
    display: flex;
    flex-direction: column;
}

.sidebar-wrapper.right {
    right: 0;
    transform: translateX(100%);
    transition: .5s ease-in-out;
}

.toggled .sidebar-wrapper {
    opacity: 1;
    transform: translateX(0%);
    transition: .5s ease-in-out;
    z-index: 500;
}

.sidebar-wrapper::-webkit-scrollbar {
  width: 0px;
  height: 0;
}

.left-toggle {
  left: 0;
}

.right-toggle {
  right: 0;
}

.caja_redes img {
  height: 33px;
}

.navbar-toggle {
  margin: 0;
  padding: 15px;
  border-radius: 0;
  border: unset;
  height: 60px;
  width: 52px;
}

.navbar-toggle,
.navbar-toggle:focus,
.navbar-toggle:hover {
  background-color: var(--primario__e);
}

.toggled .navbar-toggle,
.toggled .navbar-toggle:focus,
.toggled .navbar-toggle:hover {
  background-color: var(--secundario);
}

.navbar-toggle .icon-bar,
.toggled .navbar-toggle .icon-bar {
  background-color: #fff;
}

.sidebar-nav {
  margin-bottom: 0;
}

.sidebar-buttons .custom-button {
  border-color: var(--secundario__e);
  width: 200px;
  height: 50px;
  font-size: 14px;
}

.sidebar-wrapper .sidebar-nav li a {
  border-bottom: 1px solid #ffffff40;
  color: var(--light__e);
  font-size: 14px;
  font-weight: 400;
  font-family: var(--titulo);
  padding: 20px 10px;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-align: center;
  transition: all 0.2s ease-in-out;
  position: relative;
}

.sidebar-wrapper .sidebar-nav li.active a,
.sidebar-wrapper .sidebar-nav li a:hover {
  background-color: rgb(0 0 0 / 20%);
}

.sidebar-wrapper .sidebar-nav > li {
  display: contents;
}

.sidebar-wrapper .sidebar-nav li img {
  height: 26px;
  margin-left: 0;
}

.sidebar-wrapper .dropdown-menu {
  position: static;
  width: 100%;
  padding: 0;
  border: unset;
  border-radius: unset;
  margin: 0;
  background-color: var(--primario_oscuro__e);
}

.sidebar-wrapper .dropdown-menu li a {
  background-color: transparent;
}

.sidebar-wrapper .dropdown-menu li a:hover {
  background-color: rgba(255, 255, 255, 0.4);
}

.sidebar-wrapper .dropdown-toggle span {
  margin-left: 7px;
}

.sidebar-wrapper .dropdown-toggle span img {
  width: 12px;
}

#manto-movil {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  z-index: -1;
  background: rgba(0, 0, 0, 0.5);
  transition: .5s ease-in-out;
}

#manto-movil.toogled {
  z-index: 2;
  opacity: 1;
  transition: .5s ease-in-out;
}

/* Base del enlace con hover */
nav .navbar-nav > li > a.hover-effect span {
  position: relative;
  display: inline-block;
}

/* Línea oculta pero presente */
nav .navbar-nav > li > a.hover-effect span::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;        /* posición fija debajo del texto, igual que tu before activo */
  height: 2px;
  background: #fff;
  opacity: 0;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.3s ease, opacity 0.3s ease;
  pointer-events: none;
}


/* Hover + activo */
nav .navbar-nav > li > a.hover-effect:hover span::before,
nav .navbar-nav > li.active > a.hover-effect span::before {
  transform: scaleX(1);
  opacity: 0.5;
}

@media (max-width: 1600px) {
    .navbar-nav {
        left: 5%;
    }
    .navbar-brand > img {
        width: 230px;
    }
    .d-flex {
        right: 110px;
    }
}
@media (max-width: 1500px) {

    .navbar-nav > li > a {
        height: 60px;
        font-family: var(--titulo);
        color: #ffffff;
        font-size: 14px;
        padding: 0 19px;
        display: inline-flex;
        text-transform: uppercase;
        white-space: nowrap;
        font-family: var(--titulo);
    }

}

@media (max-width: 1360px) {
  .barra_ampliada .navbar-fixed-top{
    height:60px;
    background: #0e0d22de;
    backdrop-filter: blur(7px);
  }
  .barra_ampliada .navbar-brand {
    height: 60px;
  }
  .navbar-brand > img {
        width: 137px;
        top: 3px;
        left: -30px;
  }
  .nav-buttons .custom-button p{
        color: #0f0f27;
        text-transform: uppercase;
        font-size: 20px;
        align-items: center;
        font-weight: 100;
        font-family: var(--subtitulo);
        align-content: center;
        margin: 0;
  }
  .nav-buttons .custom-button{
        width: 200px !important;
        height: 52px !important;
        border-radius: 30px;
        font-family: var(--titulo);
        font-size: 16px;
        font-weight: 400 !important;
        background-color: #fff !important;
        border: 1px solid transparent;
        color: var(--secundario);
        column-gap: 12px;
        z-index: 1;
        display: flex;
        justify-content: center;
        position: absolute;
        margin-top: 25px;
        bottom: 20px;
  }
  .custom-button img{
    width: 25px;
  }
}


@media (max-width: 1360px) {
  
    .navbar-header {
        float: left;
    }
    .navbar-collapse.collapse {
        display: none !important;
    }
    .navbar-toggle {
        display: block;
    }
}
/* Cabecera */























/* banner */
    .bannerAa .raton{
        -webkit-animation-name: raton;
		animation-name: raton;
		-webkit-transform-origin: center bottom;
		transform-origin: center bottom;
		-webkit-animation-duration: 2s!important;
		animation-duration: 2s!important;
        width: 45px;
    }
	.bannerAa .div_raton{
        position: absolute;
        width: 100%;
        display: flex;
        display: flex;
        flex-direction: column;
        align-items: center;
        bottom: 10px;
        gap: 10px;
        font-family: var(--texto);
        z-index: 3;
        pointer-events: none;
        font-weight: 100;
	}
    .raton {
        cursor: pointer; /* Cambia el cursor a mano al pasar por encima */
        transition: transform 0.2s ease; /* Efecto sutil al hover */
    }

    @keyframes raton {

        20%,
        53%,
        80%,
        0%,
        85% {
            -webkit-animation-timing-function: cubic-bezier(0.215, .61, .355, 1);
            animation-timing-function: cubic-bezier(0.215, .61, .355, 1);
            -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
        }

        40%,
        43% {
            -webkit-animation-timing-function: cubic-bezier(0.755, .050, .855, .060);
            animation-timing-function: cubic-bezier(0.755, .050, .855, .060);
            -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
        }

        70% {
            -webkit-animation-timing-function: cubic-bezier(0.755, .050, .855, .060);
            animation-timing-function: cubic-bezier(0.755, .050, .855, .060);
            -webkit-transform: translate3d(0, -15px, 0);
            transform: translate3d(0, -15px, 0);
        }

        75% {
            -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
        }
    }

    .bannerAa svg>path {
        fill: var(--primario);
    }

	.bannerAa #banner-slider,
    .bannerAa .splide__track,
    .bannerAa .splide__list,
    .bannerAa .splide__slide {
        height: 100vh;
        width: 100%;
    }

	.bannerAa {
		position: relative;
        overflow: hidden;  /* ✅ Bien */
        min-height: 100vh; /* Para pantallas grandes */
	}

	
/* 
    .bannerAa .splide.is-active .splide__list{
        width: 100%;
    } */

	.bannerAa .opacidad {
        background-image: linear-gradient(rgb(0 0 0 / 59%), rgb(0 0 0 / 67%));
        width: 100%;
        height: 100%;
        position: absolute;
    }

	.bannerAa .corte-banner {
		background-position-x: center;
		background-position-y: calc(100% + 2px);
		background-repeat: no-repeat;
        z-index: 2;
	}

	.bannerAa .raton {
		object-fit: cover;
		width: 35px;
	}

	.bannerAa .slider {
		 height: 100%; /* Height en tu contenido */
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
        position: relative; /* Importante para posicionar hijos absolutos */
    }

    .bannerAa .slider.full {
        position: relative !important;
    }

	.bannerAa .container {
		position: relative;
        z-index: 3;
	}

	.bannerAa .h2 {
		font-size: 60px;
		color: #FFF;
		font-family: var(--titulo);
		font-weight: 500;
		line-height: 70px;
        text-align: center !important;
        margin-top: 40px;
	}

  .bannerAa .parrafo{
    font-size: 28px;
    line-height: 24px;
    font-family: var(--subtitulo);
    text-align: center !important;
    color: #ebafd0;
    font-style: italic;
    font-weight: lighter;
    margin-bottom: 0;
  }


.bannerAa .raton{
        -webkit-animation-name: raton;
		animation-name: raton;
		-webkit-transform-origin: center bottom;
		transform-origin: center bottom;
		-webkit-animation-duration: 2s!important;
		animation-duration: 2s!important;
    }
	.bannerAa .div_raton{
		position: absolute;
		width: 100%;
		display: flex;
		justify-content: center;
		bottom: 30px;
	}
    .raton {
        cursor: pointer; /* Cambia el cursor a mano al pasar por encima */
        transition: transform 0.2s ease; /* Efecto sutil al hover */
    }

    @keyframes raton {

        20%,
        53%,
        80%,
        0%,
        85% {
            -webkit-animation-timing-function: cubic-bezier(0.215, .61, .355, 1);
            animation-timing-function: cubic-bezier(0.215, .61, .355, 1);
            -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
        }

        40%,
        43% {
            -webkit-animation-timing-function: cubic-bezier(0.755, .050, .855, .060);
            animation-timing-function: cubic-bezier(0.755, .050, .855, .060);
            -webkit-transform: translate3d(0, -30px, 0);
            transform: translate3d(0, -30px, 0);
        }

        70% {
            -webkit-animation-timing-function: cubic-bezier(0.755, .050, .855, .060);
            animation-timing-function: cubic-bezier(0.755, .050, .855, .060);
            -webkit-transform: translate3d(0, -15px, 0);
            transform: translate3d(0, -15px, 0);
        }

        75% {
            -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
        }
    }

    .bannerAa svg>path {
        fill: var(--primario);
    }

	.bannerAa #banner-slider,
    .bannerAa .splide__track,
    .bannerAa .splide__list,
    .bannerAa .splide__slide {
        height: 100vh;
        width: 100%;
    }

	.bannerAa {
		position: relative;
        overflow: hidden;  /* ✅ Bien */
        min-height: 100vh; /* Para pantallas grandes */
	}

	
/* 
    .bannerAa .splide.is-active .splide__list{
        width: 100%;
    } */

	.bannerAa .opacidad {
        background-image: linear-gradient(rgb(0 0 0 / 59%), rgb(0 0 0 / 67%));
        width: 100%;
        height: 100%;
        position: absolute;
    }

	.bannerAa .corte-banner {
		background-position-x: center;
		background-position-y: calc(100% + 2px);
		background-repeat: no-repeat;
        z-index: 2;
	}

	.bannerAa .raton {
		object-fit: cover;
		width: 35px;
	}

	.bannerAa .slider {
		 height: 100%; /* Height en tu contenido */
        background-size: cover;
        background-position: center;
        display: flex;
        align-items: center;
        position: relative; /* Importante para posicionar hijos absolutos */
    }

    .boton_banner.uno {
        background-color: #25D366;
    }


    .boton_banner.dos {
        background-color: #FFC928;
    }
    .boton_banner.uno:hover,
    .boton_banner.dos:hover{
        color: #fff !important;
        background-color: #000 !important;
    }

    .bannerAa .boton_banner.dos a{
        color: #000;
    }

    .bannerAa .boton_banner.dos svg path {
        fill: #000 !important;
    }

    .bannerAa .boton_banner.dos:hover svg path {
        fill: #fff !important;
    }
    .boton_banner.dos svg path {
        fill: #000 !important;
    }

    .boton_banner.dos:hover svg path {
        fill: #fff !important;
    }

    .bannerAa .slider.full {
        position: relative !important;
    }

	.bannerAa .container {
		position: relative;
        z-index: 3;
	}

  .bannerAa .parrafo{
    font-size: 28px;
    line-height: 24px;
    font-family: var(--subtitulo);
    text-align: center !important;
    color: #ebafd0;
    font-style: italic;
    font-weight: lighter;
    margin-bottom: 0;
  }


.boton_banner a{
    color: #fff;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 100;
    font-family: var(--subtitulo);
}

.boton_banner a svg{
    width: 25px;
}

.boton_banner{
    width: 250px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border: 1px solid #fff;
    padding: 10px;
    border-radius: 40px;
}


/* Video contenedor - 100% pantalla en desktop */
.bannerAa .video-container {
    position: relative;
    width: 100vw;
    height: 56.25vw; /* 16:9 basado en viewport width */
    max-height: 100vh;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.bannerAa .video-responsive {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.5);
}

/* Ratón SIEMPRE pegado al borde inferior */
.bannerAa .div_raton {
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: center;
    bottom: 30px; /* Siempre 10px del borde inferior */
    z-index: 3;
    pointer-events: none; /* Para que no interfiera con el scroll */
}

.bannerAa .raton {
    width: 35px;
    cursor: pointer;
    pointer-events: auto; /* Solo el ratón tiene eventos */
}


.bannerAa .splide__slide.is-active.is-visible {
  transform: translateX(0) !important;
}
/* Pantallas grandes - 100% viewport */
@media (min-width: 769px) {
    .bannerAa {
        min-height: 100vh;
        position: relative;
    }
    
    .bannerAa .video-container {
        position: absolute !important;
        width: 100vw;
        height: 100vh;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* Tablets */
@media (max-width: 992px) {
    .bannerAa .h2 {
        font-size: 40px;
    }
    .bannerAa .raton {
        display: none;
    }

    .bannerAa .container{
        margin-top: -250px;
    }

    .bannerAa .boton_banner.dos {
        width: 50%;
    }
    .bannerAa .boton_banner.uno {
        width: 50%;
    }
}

/* Móviles - video más pequeño */
@media (max-width: 768px) {
    .bannerAa .splide__slide,
    .bannerAa {
        height: 65vh;
    }

    .bannerAa .container{
        margin-top: 0;
    }
    
    .bannerAa .video-container {
        position: relative !important;
        width: 100vw;
        height: 0;
        padding-bottom: 100vw; /* 16:9 más pequeño */
        margin: 0 auto 20px;
        max-width: 100vw;
        left: 0;
        transform: none;
    }
}

@media (max-width: 500px) {
    .bannerAa .h2 {
        font-size: 35px;
        line-height: 35px;
    }
    
    .bannerAa .video-container {
        padding-bottom: 140vw;
    }
}


	@media (max-width: 992px) {
        .bannerAa .video-container{
            margin-bottom: 0px;
        }
		.bannerAa .h2 {
			font-size: 40px;
		}

		.bannerAa .raton{
			display: none;
		}
	}

	@media (max-width: 768px) {
        .bannerAa .splide__slide {
		    height: 40vh;
	    }
    }
    
	@media (max-width: 500px) {
		.bannerAa .h2 {
			font-size: 30px;
		}
	}
/* banner */

.boton_banner a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px; /* separa ícono y texto */
  line-height: 1; /* evita que el icono quede más arriba */
}

.boton_banner a svg{
    width: 20px;
    transform: translateY(1px);
    display: block;
}

.cont_botones {
    display: flex;
    justify-content: center;
    flex-direction: row;
    gap: 20px;
}

.boton_banner{
    width: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    border: 1px solid #fff;
    padding: 20px;
    border-radius: 40px;
}


/* Video contenedor - 100% pantalla en desktop */
.bannerAa .video-container {
    position: relative;
    width: 100vw;
    height: 56.25vw; /* 16:9 basado en viewport width */
    max-height: 100vh;
    position: fixed;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.bannerAa .video-responsive {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Ratón SIEMPRE pegado al borde inferior */
.bannerAa .div_raton {
    position: absolute;
    width: 100%;
    display: flex;
    justify-content: center;
    bottom: 30px; /* Siempre 10px del borde inferior */
    z-index: 3;
    pointer-events: none; /* Para que no interfiera con el scroll */
}

.bannerAa .raton {
    width: 35px;
    cursor: pointer;
    pointer-events: auto; /* Solo el ratón tiene eventos */
}


.bannerAa .splide__slide.is-active.is-visible {
  transform: translateX(0) !important;
}

.bannerAa .banner-video .content{
    height: 100vh;
    align-content: center;
}
 
/* Pantallas grandes - 100% viewport */
@media (min-width: 769px) {
    .bannerAa {
        min-height: 100vh;
        position: relative;
    }
    
    .bannerAa .video-container {
        position: absolute !important;
        width: 100vw;
        height: 100vh;
        left: 50%;
        transform: translateX(-50%);
    }
}

/* Tablets */
@media (max-width: 992px) {
    .bannerAa .h2 {
        font-size: 40px;
    }
    .bannerAa .raton {
        display: none;
    }
}

/* Móviles - video más pequeño */
@media (max-width: 768px) {
    .bannerAa .splide__slide,
    .bannerAa {
        height: 65vh;
    }
    
    .bannerAa .video-container {
        position: relative !important;
        width: 100vw;
        height: 0;
        padding-bottom: 100vw; /* 16:9 más pequeño */
        margin: 0 auto 20px;
        max-width: 100vw;
        left: 0;
        transform: none;
    }
}

@media (max-width: 500px) {
    .bannerAa .h2 {
        font-size: 30px;
    }
    
    .bannerAa .video-container {
        padding-bottom: 140vw;
    }
}


	@media (max-width: 992px) {
        .bannerAa .video-container{
            margin-bottom: 0px;
        }
		.bannerAa .h2 {
			font-size: 40px;
		}

		.bannerAa .raton{
			display: none;
		}
	}

	@media (max-width: 768px) {
        .bannerAa .splide__slide {
		    height: 40vh;
	    }
    }
    
	@media (max-width: 500px) {
		.bannerAa .h2 {
			font-size: 30px;
		}
	}
/* banner */


























/* Parallax */

.parallaxAa {
        padding: 160px 0;
        position: relative;
    }

    .parallaxAa .fondo {
        top: 0;
        right: 0;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center right;
        width: 60%;
    }

    .parallaxAa .opacidad {
        top: 0;
            background: linear-gradient(90deg, rgb(13 13 35) 0%, rgb(13 13 35) 49%, rgb(13 13 35 / 73%) 100%);
    }

    .parallaxAa .corte-onda{
        position: absolute;
        width: 100%;
        height: 100%;
        bottom: 0;
        pointer-events: none;
    }

    .parallaxAa .corte1 {
        background-position-x: center;
        background-position-y: calc(100% + 1px);
        background-repeat: no-repeat;
    } 

    .parallaxAa .boton-primario {
        width: 266px;
        height: 54px;
        font-size: 16px;
        color: #FFF;
        font-weight: 500;
        border-radius: 28px;
        background-color: var(--color_boton);
        border: 1px solid transparent;
        display: inline-flex;
        justify-content: center;
        align-items: center;
    }

    .parallaxAa .boton-primario::before {
        border-radius: 28px;
        background-color: #FFF;
        border: 1px solid var(--color_boton);
    }

    .parallaxAa .hover-effect:focus:before,
    .parallaxAa .hover-effect:hover:before {
        -webkit-transform: scaleY(1);
        transform: scaleY(1);
    }

    .parallaxAa .boton-primario:focus,
    .parallaxAa .boton-primario:active,
    .parallaxAa .boton-primario:hover {
        color: var(--color_boton);
    }

    .parallaxAa .antetitulo {
		font-size: 28px;
		line-height: 24px;
		font-family: var(--subtitulo);
		text-align: left ;
		color: #ebafd0;
		font-style: italic;
		font-weight: lighter;
		margin-bottom: 0;			
	}

    .parallaxAa .titulo {
        font-size: 50px;
        color: var(--color_titulos);
        font-weight: 700;
        font-family: var(--titulo);
        margin-bottom: 30px;
        max-width: 600px;
    }

    .parallaxAa .parrafo {
        font-size: 16px;
        color: #ECECEC;
        font-weight: 400;
        font-family: var(--texto);
        width: 85%;
        margin-bottom: 0px;
    }

    .parallaxAa .col-lg-8{
        width: 64%;    
    }

    @media (max-width: 1400px) {
        .parallaxAa .fondo {
            background-size: cover;
        }
    }

    @media (max-width: 992px) {
        .parallaxAa {
            padding: 70px 0;
        }

        .parallaxAa .titulo {
            text-align: center;
            font-size: 35px;
        }

        .parallaxAa .parrafo {
            text-align: center;
            width: 100%;
        }

        .parallaxAa .boton-primario {
            display: flex;
            margin: 0 auto;
        }

        .parallaxAa .opacidad {
            background-image: linear-gradient(to right, var(--primario_transparente) 50%, transparent);
        }
    }

    @media (max-width: 500px) {
        .parallaxAa .titulo {
            font-size: 30px;
        }

        .parallaxAa .parrafo {
            font-size: 14px;
        }
    }

/* Parallax */
























/* Mapa */
.bloqueInformacionAi {
        background-size: cover;
        background-attachment: fixed;
        background-color: #d8000a;
    }

    .place-details-compact-container{
        visibility: hidden !important;    
    }

    .bloqueInformacion .mapa{
        text-align: center;
    }

    .bloqueInformacion .bloq_textaso{
        text-align: center;
        align-content: center;
    }

    .bloqueInformacion .boton_rojo{
        width: 243px;
        margin: 0 auto;
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;
        border: 1px solid #fff;
        padding: 10px;
        border-radius: 40px;  
        gap: 5px;              
    }

    .bloqueInformacionAi .boton_banner a svg {
        width: 20px;
        transform: translateY(1px);
        display: block;
    }

    .bloqueInformacion .mapa{
        padding: 0;
        margin-bottom: -5px;
    }

    .bloqueInformacion .mapa iframe{
        width: 100%;
        height: 50vh;
    }   

    .bloqueInformacionAi .container{
        width: 100%;
    }

    .bloqueInformacionAi .antetitulo {
        font-size: 28px;
        color: #fff;
        font-style: italic;
        font-weight: 100;
        font-family: var(--subtitulo);
    }

    .bloqueInformacionAi .titulo {
        font-size: 50px;
        line-height: normal;
        font-weight: 500;
        font-family: var(--titulo);
        color: var(--color_titulos);
        margin-top: 8px;
        margin-bottom: 20px;
    }

    .bloqueInformacionAi .textico{
        max-width: 550px;
        margin: 0 auto;                 
    }

    .bloqueInformacionAi .parrafo {
        font-size: 16px;
        line-height: 26px;
        font-family: var(--texto);
        margin-bottom: 40px;
    }

    .bloqueInformacionAi .boton_rojo .img{
        width: 20px;                 
    }

    .bloqueInformacionAi .custom-button {
        color: #FFFFFF;
        background-color: transparent;
        font-size: 22px;
        border-radius: 5px;
        font-weight: 100;
        text-transform: uppercase;
        border: 1px solid transparent;
        font-family: var(--subtitulo);
    }

    .bloqueInformacionAi .custom-button::before {
        background-color: #FFFFFF;
    }

    .bloqueInformacionAi .custom-button:focus,
    .bloqueInformacionAi .custom-button:active,
    .bloqueInformacionAi .custom-button:hover {
        color: var(--primario);
    }

    .bloqueInformacionAi .row-align-center {
        display: flex;
        align-items: center;
    }

    .bloqueInformacionAi .img-container {
        display: flex;
    }

    .bloqueInformacionAi .img-container img {
        object-fit: cover;
        filter: drop-shadow(0 0 25px rgba(0,0,0,0.2));
        width: 466px;
        height: 466px;
    }

    .bloqueInformacionAi .img-container .img-radius-md {
        border-radius: 150px;
    }

    .bloqueInformacionAi .img-container .img-radius-sm {
        border-radius: 25px;
    }




/* El contenedor section no tiene altura definida, 
   hay que hacer que el mapa se estire con flex */
.mapa-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
}

.mapa-link {
    display: block;
    width: 100%;
    height: 100%;
}

.mapa-overlay {
    position: absolute;
    inset: 0;
    background-color: #00002e;
    mix-blend-mode: soft-light;
    pointer-events: none;
    z-index: 400;
}


.bloqueInformacionAi .row-align-center {
    display: flex;
    align-items: stretch; /* ← cambia center por stretch */
}

.bloqueInformacion .mapa {
    padding: 0;
    margin-bottom: 0px;
    display: flex;          /* ← añade esto */
    flex-direction: column; /* ← añade esto */
}

#mapa-personalizado {
    width: 100%;
    height: 100%;           /* ← cambia 50vh por 100% */
    min-height: 65vh;      /* ← mínimo por si acaso */
    border-radius: 0;       /* ← quita el border-radius si quieres que llegue a los bordes */
}

.halo-marker {
    position: relative;
    width: 80px;
    height: 80px;
}

.halo-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(220,38,38,0.45) 0%, rgba(220,38,38,0) 70%);
    animation: pulse 2s ease-out infinite;
}

.halo-dot {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 12px; height: 12px;
    background: #e53935;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(229,57,53,0.9);
}

@keyframes pulse {
    0%   { transform: scale(0.6); opacity: 1; }
    100% { transform: scale(1.4); opacity: 0; }
}
@media (max-width: 992px) {
        .bloqueInformacionAi {
            padding-top: 60px;
            padding-bottom: 60px;
        }

        .bloqueInformacionAi .row-align-center {
            flex-flow: column-reverse;
            row-gap: 0px;
        }

        .bloqueInformacionAi .titulo {
            text-align: center;
            font-size: 35px;
        }

        .bloqueInformacionAi .antetitulo {
            text-align: center;
        }

        .bloqueInformacionAi .custom-button {
            display: flex;
            margin-left: auto;
            margin-right: auto;
            width: fit-content;
        }

        .bloqueInformacionAi .parrafo {
            text-align: center;
        }
    }

    @media (max-width: 500px) {
        .bloqueInformacionAi .img-container img {
            width: 320px;
            height: 320px;
        }

        .bloqueInformacionAi .img-container .img-radius-md {
            border-radius: 90px;
        }

        .bloqueInformacionAi .img-container .img-radius-sm {
            border-radius: 22px;
        }

        .bloqueInformacionAi .titulo {
            font-size: 30px;
            line-height: 32px;
        }
    }
/* Mapa */




















/* VARIERDAD */
.parallaxAe {
		padding: 100px 0 20px;
		position: relative;
	}
	.parallaxAe .fondo {
		top: 0;
		right: 0;
		background-size: cover;
		background-attachment: fixed;
		background-repeat: no-repeat;
		background-position-x: center;
	}

	.parallaxAe .opacidad {
		background-color: var(--primario);
		top: 0;
		opacity: 0.7;
	}

    .parallaxAe .logote{
        position: absolute;
        right: 0px;
        bottom: -40px;
        height: 40vh;
    }

    .parallaxAe .boton_banner.dos {
        height: 60px;
        z-index: 2;
    }

    

     .parallaxAe .boton_banner.dos a{
        color: #0f0f27;;           
    }

    .parallaxAe .boton_banner .img{
        width: 20px;
    }

	.parallaxAe .row>div>a {
		display: flex;
		flex-flow: column;
		align-items: center;
		justify-content: center;
		gap: 0px;
		height: 270px;
		margin-bottom: 70px;
	}

    .parallaxAe .col-md-3 {
        width: 20%;
    }

	.parallaxAe .full-round {
		border-radius: 100%;
	}

	.parallaxAe .round {
		border-radius: 35px;
	}

    .parallaxAe .cont_boton {
        display: flex;
        flex-direction: row;
        justify-content: center;
        gap: 30px;
        margin: 0 10px;
    }

	.parallaxAe .round {
		display: flex;
		width: 140px;
		height: 140px;
		border: 7px solid var(--primario_oscuro);
		padding: 25px;
		align-items: center;
		justify-content: center;
	}

    .parallaxAe span svg g{
        fill: #fff;
    }

	.parallaxAe span>.img {
		object-fit: cover;
		width: 100%;
        height: 100px;
	}

	.parallaxAe .h4 {
		font-size: 24px;
		color: #FFF;
		font-weight: 100;
        padding: 0px 10px;
        text-align: center;
        color: var(--color_subtitulos);
		font-family: var(--subtitulo);
	}

	.parallaxAe .corte-onda{
		position: absolute;
		width: 100%;
		height: 100%;
		bottom: 0;
		pointer-events: none;
	}

    .parallaxAe .corte1 {
        background-position-x: center;
        background-position-y: calc(100% + 1px);
        background-repeat: no-repeat;
    } 

	@media (max-width: 992px) {
		.parallaxAe {
			padding: 60px 0 70px;
		}

		.parallaxAe .row>div {
			margin-bottom: 35px;
		}

        /* .parallaxAe span>.img{
            height: 130px;
        } */
	}

	@media (max-width: 500px) {
		.parallaxAe .row>div {
			gap: 15px;
		}

		.parallaxAe span {
			width: 20px;
            height: 100px;
		}

		.parallaxAe .h4 {
			font-size: 16px;
		}
	}
/* VARIERDAD */





















/* PARALLAX BANNERS 1*/

/* ── Wrapper ── */
    .sliderAb {
        position: relative;
        overflow: hidden;
    }

    /* ── Track ── */
    .sliderAb-track {
        display: flex;
        transition: transform 0.6s ease;
    }

    /* ── Cada slide ocupa el 100% del wrapper ── */
    .sliderAb-slide {
        min-width: 100%;
        flex-shrink: 0;
    }

    /* ── Flechas ── */
    .sliderAb-prev,
    .sliderAb-next {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(255,255,255,0.15);
        border: 2px solid rgba(255,255,255,0.5);
        color: #fff;
        font-size: 20px;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        cursor: pointer;
        z-index: 10;
        backdrop-filter: blur(4px);
        transition: background 0.3s;
    }
    .sliderAb-prev:hover,
    .sliderAb-next:hover {
        background: rgba(255,255,255,0.35);
    }
    .sliderAb-prev { left: 24px; }
    .sliderAb-next { right: 24px; }

    /* ── Dots ── */
    .sliderAb-dots {
        position: absolute;
        bottom: 24px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 15px;
        z-index: 10;
    }
    .sliderAb-dots .dot {
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: rgba(255,255,255,0.4);
        border: 2px solid rgba(255,255,255,0.7);
        cursor: pointer;
        transition: background 0.3s, transform 0.3s;
    }
    .sliderAb-dots .dot.active {
        background: #fff;
        transform: scale(1);
        outline: 1px solid var(--color_subtitulos);
        outline-offset: 5px;
    }

    /* ── Estilos existentes de parallaxAb ── */
    .parallaxAb .subtitulo {
        font-size: 28px;
        line-height: 24px;
        font-family: var(--subtitulo);
        text-align: left;
        color: #ebafd0;
        font-style: italic;
        font-weight: lighter;
        margin-bottom: 0;
    }
    .parallaxAb {
        padding: 190px 0;
        position: relative;
    }
    .parallaxAb .fondo {
        top: 0;
        right: 0;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center right;
        width: 100%;
    }
    .parallaxAb .opacidad {
        top: 0;
        background-image: linear-gradient(to right, #0e0d22f7 12%, #0e0d22ad);
    }
    .parallaxAb .titulo {
        font-size: 45px;
        color: var(--color_titulos);
        font-weight: 600;
        font-family: var(--titulo);
        margin-bottom: 30px;
    }
    .parallaxAb .parrafo {
        font-size: 16px;
        color: #fafafa;
        font-weight: 400;
        font-family: var(--texto);
        width: 80%;
        margin-bottom: 40px;
    }

    @media (max-width: 992px) {
        .parallaxAb { 
            padding: 70px 0; 
            width: 100%;
        }
        .parallaxAc { 
            padding: 70px 0; 
            width: 100%;
        }
        .parallaxAb .titulo { text-align: center; font-size: 35px; }
        .parallaxAb .parrafo { text-align: center; width: 100%; }
        .sliderAb-prev { left: 12px; }
        .sliderAb-next { right: 12px; }
    }
    @media (max-width: 500px) {
        .parallaxAb .titulo { font-size: 30px; }
        .parallaxAb .parrafo { font-size: 14px; }
    }

/* PARALLAX BANNERS 1*/






















/* PARALLAX BANNERS 2*/

/* ── Wrapper ── */
    .sliderAc {
        position: relative;
        overflow: hidden;
    }

    /* ── Track ── */
    .sliderAc-track {
        display: flex;
        transition: transform 0.6s ease;
    }

    /* ── Cada slide ocupa el 100% del wrapper ── */
    .sliderAc-slide {
        min-width: 100%;
        flex-shrink: 0;
    }

    /* ── Flechas ── */
    .sliderAc-prev,
    .sliderAc-next {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        background: rgba(255,255,255,0.15);
        border: 2px solid rgba(255,255,255,0.5);
        color: #fff;
        font-size: 20px;
        width: 48px;
        height: 48px;
        border-radius: 50%;
        cursor: pointer;
        z-index: 10;
        backdrop-filter: blur(4px);
        transition: background 0.3s;
    }
    .sliderAc-prev:hover,
    .sliderAc-next:hover {
        background: rgba(255,255,255,0.35);
    }
    .sliderAc-prev { left: 24px; }
    .sliderAc-next { right: 24px; }

    /* ── Dots ── */
    .sliderAc-dots {
        position: absolute;
        bottom: 24px;
        left: 50%;
        transform: translateX(-50%);
        display: flex;
        gap: 14px;
        z-index: 10;
    }
    .sliderAc-dots .dot {
        width: 5px;
        height: 5px;
        border-radius: 50%;
        background: rgba(255,255,255,0.4);
        border: 2px solid rgba(255,255,255,0.7);
        cursor: pointer;
        transition: background 0.3s, transform 0.3s;
    }
    .sliderAc-dots .dot.active {
        background: #fff;
        transform: scale(1);
        outline: 1px solid var(--color_subtitulos);
        outline-offset: 5px;
    }

    /* ── Estilos existentes de parallaxAc ── */
    .parallaxAc .col-lg-8 {
        float: right;
    }

    .parallaxAc .subtitulo {
        font-size: 28px;
        line-height: 24px;
        font-family: var(--subtitulo);
        text-align: left;
        color: #ebafd0;
        font-style: italic;
        font-weight: lighter;
        margin-bottom: 0;
    }
    .parallaxAc {
        padding: 190px 0;
        position: relative;
    }
    .parallaxAc .fondo {
        top: 0;
        right: 0;
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center right;
        width: 100%;
    }
    .parallaxAc .opacidad {
        top: 0;
        background-image: linear-gradient(to left, #0e0d22f7 12%, #0e0d22ad);
    }
    .parallaxAc .titulo {
        font-size: 50px;
        color: var(--color_titulos);
        font-weight: 600;
        font-family: var(--titulo);
        margin-bottom: 30px;
        text-align: left;
    }
    .parallaxAc .parrafo {
        font-size: 16px;
        color: #fafafa;
        font-weight: 400;
        font-family: var(--texto);
        width: 80%;
        margin-bottom: 40px;
        text-align: left;
    }

    @media (max-width: 992px) {
        .parallaxAc { padding: 70px 0; }
        .parallaxAc .titulo { text-align: center; font-size: 35px; }
        .parallaxAc .parrafo { text-align: center; width: 100%; }
        .sliderAc-prev { left: 12px; }
        .sliderAc-next { right: 12px; }
    }
    @media (max-width: 500px) {
        .parallaxAc .titulo { font-size: 30px; }
        .parallaxAc .parrafo { font-size: 14px; }
    }

/* PARALLAX BANNERS 2*/




















/* OPINIONES */

.logote_opinion{
        position: absolute;
        bottom: 60px;
        left: -270px;
        height: 350px;                     
    }
    .bloqueInformacion.tituloPrincipalAc .container{
        width: 80%;
    }

    .tituloPrincipalAc .boton_resena .img{
        width: 20px;                     
    }

    .tituloPrincipalAc .boton_resena{
        width: 243px;
        display: flex;
        justify-content: center;
        align-items: center;
        text-decoration: none;
        border: 1px solid #fff;
        padding: 15px;
        border-radius: 40px;
        gap: 10px;
        position: relative;
        z-index: 10;
    }

    .tituloPrincipalAc .boton_resena a{
        color: #fff;
        font-size: 18px;
        font-weight: 100;
        text-transform: uppercase;
        font-family: var(--subtitulo);                   
    }

    .tituloPrincipalAc .adorno {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: row;
        width: 100px;
        margin: 0 auto;
        margin-top: 10px;
    }

    .tituloPrincipalAc .adorno svg * {
        fill: var(--color_adorno);
    }

    .tituloPrincipalAc p.antetitulo {
        font-size: 28px;
        line-height: 24px;
        font-family: var(--subtitulo);
        text-align: left;
        color: #ebafd0;
        font-style: italic;
        font-weight: lighter;
        margin-bottom: 0;
    }

    .tituloPrincipalAc h2.titulo {
        font-size: 50px;
        color: var(--color_titulos);
        font-weight: 600;
        font-family: var(--titulo);
        margin-bottom: 30px;
        text-align: left;
    }

    .contenedor_resena{
        display: flex;
    }

    @media (max-width: 768px) {
        .tituloPrincipalAc .adorno {
            width: 80px;
        }

        .tituloPrincipalAc h1.titulo {
            font-size: 30px;
            line-height: 32px;
            text-align: center;
        }
    }

    .contenedorSobreOpinion {
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
    }

    .tituloSobreOpinion {
        color: #333;
        font-weight: 600;
        font-size: 40px;
    }

    .textoSobreOpinion {
        color: #333;
        font-size: 24px;
    }

    .estrellasSobreOpinion {
        color: #ffb921;
        font-size: 45px;
    }

    .bx-wrapper .bx-viewport{
        background: none;
    }
    .bx-viewport{
        overflow: visible !important;
    }
    .bx-wrapper {
        margin: 0 !important;
    }

    .opiniones .splide__list {
        margin-left: 140px !important;   
    }

    .opiniones .degradao{
         position: absolute;
        z-index: 2;
        background: linear-gradient(90deg, rgb(13 13 35) 3%, rgb(13 13 35 / 37%) 15%, rgba(0, 0, 0, 0) 46%);
        width: 100%;
        height: 100%;
        pointer-events: none;  /* ← ESTO ES LO CLAVE */
        top: 0;
        left: 0;
    }

    .opiniones {
        position: relative;
    }

    .opiniones .splide.is-active .splide__list {
        margin-left: -200px !important;
    }

    #opiniones-slider .splide__slide{
        width: 510px !important;
        margin-left: 20px;                
    }

    #opiniones-slider {
        width: 650px !important;  /* en vez de 650px */
        overflow: visible;
    }

    #opiniones-slider .nombre {
        color: #fff;
        font-weight: 100;
        font-size: 24px;
        margin: 0;
        text-align: left;
        font-family: var(--subtitulo);
    }

    #opiniones-slider .col-xs-10 {
        padding-left: 5px;
    }

    #opiniones-slider .enlaceLeerMas {
        margin-left: 10px;
        color: #9c9c9c;
        font-size: 16px;
    }

    #opiniones-slider .slider:after {
        padding-top: 0;
    }

    #opiniones-slider .texto {
        padding: 35px 35px;
        border-radius: 35px;
        width: 500px;
        margin-bottom: 40px;
        margin-top: 5px;
        background-color: #0e1e39;
        margin-right: 15px;
        margin-left: 5px;
    }

    #opiniones-slider .slider {
        height: auto;
        width: 350px;
    }

    #opiniones-slider .containerDatos {
        overflow: hidden;
        margin-bottom: 10px;
    }

    #opiniones-slider .containerDatos img {
        width: 50px;
        height: 50px;
        object-fit: cover;
        border-radius: 100px;
    }

    #opiniones-slider .logo-google {
        width: 35px;
        height: 35px;
        position: absolute;
        right: 35px;
        top: 35px;
    }

    .estrellasOpinion {
        font-size: 25px;
        color: #ffb921;
        margin-left: 10px;
        margin-bottom: 15px;
    }

    .splide__pagination__page.is-active {
        background: #000;
    }

    .tituloOpinion {
        color: #5cb7c9;
        font-size: 30px;
        text-align: center;
    }

    .splide__pagination {
        bottom: 0;
        display: none;
    }

    .contenidoOpinion {
        margin: 5px 10px 10px 10px;
        margin-bottom: 0;
        color: #bdc0c3;
        height: 100px;
        font-size: 18px;
        font-family: var(--texto);
    }

    @media (max-width:992px) {
        .texto {
            margin-top: 40px;
        }

        .opiniones .splide.is-active .splide__list{
            margin-left: 330px !important;
        }

        #opiniones-slider .splide__slide{
            width: 332px !important;
            margin-left: 20px;
        }

        #opiniones-slider .slider {
            overflow: hidden;
            display: flex;
            justify-content: center;
            align-items: center;
        }

        #opiniones-slider .containerDatos img {
            width: 50px;
            height: 50px;
        }

        #opiniones-slider .nombre,
        #opiniones-slider .fecha {
            margin: 0 20px 0 20px;
            font-size: 15px;
        }

        #opiniones-slider .estrellasOpinion {
            font-size: 12px;
        }

        #opiniones-slider .texto {
            max-width: 500px;
            margin: 0 15px 45px;
        }

        #opiniones-slider .logo-google {
            width: 30px;
            height: 30px;
        }

        .contenidoOpinion {
            font-size: 16px;
            height: 95px;
        }
    }

/* OPINIONES */






















/* Galeria Final */

.galeriaAa {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		gap: 0;
	}

	.galeriaAa::-webkit-scrollbar {
		display: none;
	}

	.galeriaItem {
		display: block;
		flex: 0 0 25%;
		scroll-snap-align: start;
		overflow: hidden;
	}

	.galeriaItem > img {
		width: 100%;
		height: 479px;
		object-fit: cover;
		transition: transform 0.3s;
		cursor: pointer;
	}

	.galeriaItem:hover > img {
		transform: scale(1.05);
	}

	/* Lightbox */
	.galeriaLightbox {
		position: fixed;
		inset: 0;
		background: rgba(0,0,0,0.8);
		display: none;
		align-items: center;
		justify-content: center;
		z-index: 9999;
		padding: 20px;
	}

	.galeriaLightbox img {
		max-width: 90%;
		max-height: 90%;
		object-fit: contain;
	}

	.galeriaLightbox.open {
		display: flex;
	}

	@media (max-width: 1200px) {
        .galeriaItem{
            flex: 0 0 48%;
        }
    }
	@media (max-width: 992px) {
		.galeriaItem {
			flex: 0 0 50%;
		}

		.galeriaItem > img {
			height: 350px;
		}

        .galeriaAa{
            display: none;
        }
	}

	@media (max-width: 768px) {
		.galeriaItem {
			flex: 0 0 100%;
		}

		.galeriaItem > img {
			height: 300px;
		}
	}

/* Galeria Final */



























/* RESERVAR BANNER PIE MOVIL */
.boton_reservar_pie{
    display: none;
}

.boton_reservar_pie a{
    display: flex;
    gap: 10px;
    color: #fff;
    align-items: center;
}

@media (max-width: 991px) {
    .boton_reservar_pie {
        display: flex;
        flex-direction: row;
        justify-content: center;
        padding: 14px 20px;
        width: 50%;
        height: 50px;
    }

    .boton_reservar_pie.uno {
        background-color: #25D366;
        color: #fff;
    }

    .boton_reservar_pie.dos {
        background-color: #ffffff;
    }

    .boton_reservar_pie.dos a{
        color: #000000;
    }

    .boton_reservar_pie.dos svg path {
        fill: #000;
    }

    .boton_reservar_pie.dos span img, 
    .boton_reservar_pie.dos span svg {
        filter: brightness(10);
    }

    .cont_bot_pie {
        display: flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
        z-index: 9999;
    }

    .boton_reservar_pie p {
        margin: 0;
        font-size: 20px;
        font-weight: 100;
        font-family: 'Poppins';
        white-space: nowrap;
        animation: bounceContent 2s ease-in-out infinite;
    }

    .boton_reservar_pie span {
        display: flex;
        align-items: center;
        animation: bounceContent 2s ease-in-out infinite;
    }

    .boton_reservar_pie span img,
    .boton_reservar_pie span svg {
        width: 24px;
        height: 24px;
        fill: #fff;
    }

    @keyframes bounceContent {
        0%, 100% { transform: translateY(0); }
        50%       { transform: translateY(-6px); }
    }
}
/* RESERVAR BANNER PIE MOVIL */



























/* PIE */
.footerAc .titulo {
    font-family: 'Oswald';
    font-size: 20px;
    margin-bottom: 15px;
    text-align: center;
}

.footerAc {
    .cont_boton {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .caja {
        width: 100px;
    }
    .boton_banner.dos svg path {
        fill: #ffffff !important;
    }

    .boton_banner.dos:hover svg path {
        fill: #fff !important;
    }
}

.parrafillo {
    display: none;
    position: absolute;
    bottom: 33px;
    font-family: 'Parkinsans';
    margin-bottom: 0;
    background-color: #0e1e39;
    color: #fff;
    padding: 8px 12px;
    border-radius: 4px;
    font-size: 13px;
    white-space: nowrap;
    z-index: 10;
}

.footer_servicios .loguillo:hover .parrafillo {
    display: block;
}

.parrafillo::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: #0e1e39 transparent transparent transparent;
}

.footer_servicios .loguillo {
    list-style: none;
    position: relative; /* ← añadir esto */
}

.list_serv {
    display: flex;
    align-items: center;
}
.list_serv .titulo{
    margin-bottom: 0;
    margin-right: 20px;
}

.footer_servicios {
    display: flex;
    gap: 20px;
    padding: 0;
    justify-content: center;
}

.footerAc .img_serv{
    filter: brightness(1.5);
    width: 35px;
}

.footerAc .loguillo {
    list-style: none;
}

.footerAc .precio .numero{
    font-size: 25px;
    font-family: 'Poppins';
    font-weight: bold;
}

.footerAc .precio .text{
    font-size: 14px;
    font-family: 'Poppins';
    color: var(--color_subtitulos);
    text-transform: uppercase;
    margin-top: -10px;
}

.footerAc .precio{
    display: flex;
    flex-direction: row;
    gap: 15px;
}

.lv, .finde{
    display: flex;
    flex-direction: column;
    text-align: center;
}

.footerAc .pr{
    height: 72px;
    width: 1px;
    background-color: #fff;
    opacity: 0.2;
}

.footerAc .links {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 5px;
		color: #FFF;
		font-weight: 300;
		padding: 16px;
	}
    .footerAc .info__content {
    position: relative;
    z-index: 1;
}

.footerAc .links {
    position: relative;
    z-index: 1;
}

.footerAc .footer-final {
    position: relative;
    z-index: 1;
}
	.footerAc .noShadow:hover{
		text-shadow:none!important;
	}
	.footerAc .noShadow:hover span svg{
		filter:none!important;
	}
	.footerAc .corte-footer {
		background-repeat: no-repeat;
		background-position: center top;
		z-index: -1;
	}

	.footerAc .links>a {
		color: #FFF;
		font-size: 15px;
	}

	.footerAc .links>a:hover {
		text-shadow: 0 0 2px;
	}

	.footerAc {
		position: relative;
		display: flex;
		flex-direction: column;
		align-items: stretch;
	}

	.footerAc .img-fondo {
		z-index: -2;
		background-size: cover;
		background-position-y: center;
		background-position-x: center;
	}

	.footerAc .footer-line {
		position: absolute;
		width: 100%;
		height: 5px;
		background-color: #FFF;
		opacity: 0.3;
	}

	.footerAc .corte-footer {
		background-repeat: no-repeat;
		background-position: center top;
		z-index: -1;
	}

	.footerAc .color-fondo {
		z-index: -2;
		background-color: var(--primario);
	}

    .footerAc .opacidad {
        opacity: 0.95;
    }

	.footerAc .info__content {
		display: flex;
		justify-content: center;
		align-items: center;
		column-gap: 40px;
		margin: 0 auto;
		padding-top: 80px;
		padding-bottom: 40px;
	}

	.footerAc .info__content>ul {
		padding: 0;
		display: flex;
		flex-flow: column;
		justify-content: center;
		list-style: none;
		row-gap: 50px;
		margin-bottom: 0;
	}

	.footerAc .info__content .grupo {
		display: inline-flex;
		gap: 20px;
	}

	.footerAc .info__content a {
		display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #FFF;
        max-width: 270px;
        font-family: 'Open Sans';
        font-weight: 100;
    }

    .footerAc .info__content .boton_banner.dos a{
        color: #ffffff;
        text-transform: uppercase;
        font-size: 20px;
        font-weight: 100;
        height: 20px;
        font-family: var(--subtitulo);
    }

    .footerAc .info__content .boton_banner.uno a{
        color: #ffffff;
        text-transform: uppercase;
        font-size: 20px;
        font-weight: 100;
        height: 20px;
        font-family: var(--subtitulo);
        transition: 0.3s ease-in-out all;
    }

    .footerAc .boton_banner.uno:hover {
        background-color: rgb(248 166 225);
        transition: 0.3s ease-in-out all;
    }

	.footerAc .info__content a>span {
		display: flex;
	}


	/* .footerAc .info__content a:hover {
		text-shadow: 0 0 2px;
	} */

	.footerAc .info__content li>a:hover .img {
		filter: drop-shadow(0 0 2px #FFF);
	}

	.footerAc .info__content > ul > li > a > span > .img {
    object-fit: contain;
    object-position: 0.5 0.45; /* Centra vertical/horizontalmente, ajusta si es necesario */
    margin-right: 30px;
    width: 20px;
    height: 20px;
    outline: 1px solid var(--color_subtitulos);
    outline-offset: 15px;
    border-radius: 30px;
    overflow: visible; /* Evita recorte del SVG */
}

	.footerAc .footer__img {
		object-fit: contain;
        object-position: center;
        height: inherit;
        max-height: 190px;
        width: 250px;
	}

	.footerAc .vl {
		height: 400px;
        border-left: 1px solid #FFF;
        opacity: 0.3;
	}

	.footerAc .links {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		gap: 5px;
		color: #FFF;
		font-weight: 300;
	}

	.footerAc .links>a {
		color: #FFF;
		font-size: 14px;
	}

	.footerAc .links>a:hover {
		text-shadow: 0 0 2px;
	}

	.footerAc .footer-final {
		display: flex;
		justify-content: center;
		column-gap: 150px;
		row-gap: 10px;
		flex-flow: wrap;
		background-color: #0e1e39;
		padding: 16px;
		font-size: 13px;
		color: #FFF;
	}

	.footerAc .footer-final p {
		margin-bottom: 0;
		font-size: 13px;
	}

    .footerAc .info__content>.ultimo{
        gap: 20px;
    }

    .footerAc .textico_precio {
        text-align: center;
        font-family: 'Parkinsans';
        color: #fff;
        width: 100%;
    }

	.footerAc .footer-final a {
		color: #FFF;
	}

	.footerAc .footer-final a:hover {
		text-shadow: 0 0 2px;
	}

	@media (max-width: 992px) {
        .footerAc {
            .cont_boton {
                display: none;
            }}

		.footerAc .footer__img {
			width: 270px;
		}

        .footerAc .textico_precio{
            margin-bottom: 60px;
        }

        .footerAc .info__content>.ultimo{
            gap: 0px;
        }

        .footerAc .footer-final p {
            font-size: 11px;
        }

		.footerAc .info__content {
			flex-flow: column;
			align-items: center;
			row-gap: 40px;
			padding-top: 70px;
			padding-bottom: 20px;
		}

		.footerAc .footer__img {
			margin-bottom: 20px;
			margin-right: 0;
		}

	
        .footerAc .info__content>.ultimo{
            justify-content: center;
        }

		.footerAc .links>a {
			font-size: 13px;
		}
        .footerAc .footer-final{
            margin-bottom: 55px;
        }
	}

	@media (max-width: 870px) {
        .footerAc .info__content>ul {
            align-items: flex-start !important; /* importante */
        }

        .footerAc .info__content a {
            justify-content: flex-start !; /* 👈 clave */
            text-align: left;
        }
    }

	@media (max-width: 500px) {
		.footerAc .footer-final {
			padding: 10px 15px;
		}
	}
/* PIE */




























/* Carta */

.carta-bloque-header h2{
    font-size: 30px;
    color: #ffffff;
    font-family: var(--titulo);
    font-weight: 500;
}

/* Carta */



































/* LOGO MOVIL */

.logo_movil {
    display: none;
}

@media (max-width: 992px) {

}
@media (max-width: 992px) {
    .logo_pc {
        display: none !important;
    }

    .logo_movil {
        display: inline-block;
        max-height: 45px;
        width: 130px !important;
        top: -2px !important;
    }

    .navbar-brand {
        padding: 10px 15px;
    }
}

@media (min-width: 992px) {
    .logo_pc {
        display: inline-block;
        max-height: 70px;
        width: auto;
    }
    .logo_movil {
        display: none !important;
    }
}

/* LOGO MOVIL */






















/* SELLO MOVIL */
.sello_movil{
    display: none;
}
@media (max-width: 992px) {
    .sello_movil{
        display: flex;
        width: 230px;
        margin: 0 auto;
    }
}

/* SELLO MOVIL */




























/* POP UP - POPUP */

  .popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.35s ease, visibility 0.35s ease;
  }
  .popup-overlay.is-visible {
    opacity: 1;
    visibility: visible;
  }

  /* ── Contenedor imagen ── */
  .popup-container {
    position: relative;
    display: inline-block;
    max-width: 90vw;
    max-height: 90vh;
    border-radius: 6px;
    /* overflow: hidden; */
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.5);
  }

  /* ── Imágenes ── */
  .popup-img {
    display: block;
    max-width: 90vw;
    max-height: 90vh;
    width: auto;
    height: auto;
    object-fit: contain;
  }

  /* Por defecto: mostrar vertical (móvil), ocultar horizontal */
  .popup-img--vertical   { display: block; }
  .popup-img--horizontal { display: none;  }

  /* En pantallas ≥ 768 px: mostrar horizontal, ocultar vertical */
  @media (min-width: 768px) {
    .popup-img--vertical   { display: none;  }
    .popup-img--horizontal { display: block; }
  }

  /* ── Botón cerrar ── */
  .popup-close {
    position: absolute;
    top: 10px;
    right: 12px;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 34px;
    height: 34px;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    z-index: 10;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
  }
  .popup-close:hover {
    background: rgba(0, 0, 0, 0.85);
  }

  /* ── Barra de progreso (countdown) ── */
  .popup-progress {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 4px;
    width: 100%;
    background: rgba(255,255,255,0.25);
    border-radius: 0 0 6px 6px;
    overflow: hidden;
  }
  .popup-progress-bar {
    height: 100%;
    width: 100%;
    background: rgba(255, 255, 255, 0.75);
    transform-origin: left;
    animation: popupCountdown 30s linear forwards;
  }
  @keyframes popupCountdown {
    from { transform: scaleX(1); }
    to   { transform: scaleX(0); }
  }

  @media (max-width: 992px) {
    .popup-img {
        max-width: 90vw;
        max-height: 70vh;
    }
  }





/* ── Contador regresivo ── */
.popup-countdown {
    position: absolute;
    top: -90px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: baseline;
    gap: 4px;
    background: rgb(3 66 158 / 40%);
    color: #ffb6c7;
    padding: 5px 14px;
    border-radius: 20px;
    font-size: 39px;
    font-weight: 700;
    letter-spacing: 0.03em;
    white-space: nowrap;
    z-index: 10;
}
.popup-countdown small {
  font-size: 10px;
  font-weight: 400;
  opacity: 0.75;
  margin-right: 4px;
}
/* POP UP - POPUP */





































/* ============================================================
   RESPONSIVE PORTADA — Tablet (≤992px) y Móvil (≤768px / ≤500px)
   ============================================================ */
 
 
/* ──────────────────────────────────────────
   BANNER (bannerAa)
────────────────────────────────────────── */
 
@media (max-width: 1200px) {
    #opiniones-slider {
        width: 37vh !important;
        overflow: hidden;
        margin-left: 0vh;
    }
    /* #opiniones-slider .splide__slide {
        width: calc(14.5%) !important;
    } */
}
@media (max-width: 992px) {
    /* Slider ocupa menos pantalla */
    .bannerAa,
    .bannerAa #banner-slider,
    .bannerAa .splide__track,
    .bannerAa .splide__list,
    .bannerAa .splide__slide {
        height: 70vh;
        min-height: 70vh;
    }

    .splide__track{
        overflow: visible !important;
    }

    /* #opiniones-slider .splide__slide{
        width: calc(7%) !important;
    }
  */
    .bannerAa .h2 {
        font-size: 38px;
        line-height: 46px;
        margin-top: 20px;
    }
 
    .bannerAa .parrafo {
        font-size: 22px;
    }
 
    .bannerAa .div_raton {
        display: none; /* ratón oculto en tablet */
    }
 
    /* Botón banner más pequeño */
    .boton_banner {
        width: 210px;
        padding: 14px;
    }
 
    .boton_banner a {
        font-size: 17px;
    }
}
 
@media (max-width: 768px) {
    .bannerAa,
    .bannerAa #banner-slider,
    .bannerAa .splide__track,
    .bannerAa .splide__list,
    .bannerAa .splide__slide {
        height: 100vh;
        min-height: 55vh;
    }
 
    .bannerAa .h2 {
        font-size: 28px;
        line-height: 36px;
        margin-top: 10px;
        padding: 0 10px;
    }
 
    .bannerAa .parrafo {
        font-size: 18px;
        line-height: 22px;
        padding: 0 10px;
    }
 
    .boton_banner {
        width: 180px;
        padding: 12px;
    }
 
    .boton_banner a {
        font-size: 15px;
    }
 
    /* Video banner en móvil */
    .bannerAa .banner-video {
        position: relative;
        overflow: hidden;
    }
 
    .bannerAa .video-container {
        position: absolute !important;
        width: 100%;
        height: 100%;
        padding-bottom: 0;
        left: 0;
        transform: none;
        top: 0;
    }
}
 
@media (max-width: 500px) {
    .bannerAa,
    .bannerAa #banner-slider,
    .bannerAa .splide__track,
    .bannerAa .splide__list,
    .bannerAa .splide__slide {
        height: 100vh;
        min-height: 50vh;
    }
 
    .bannerAa .h2 {
        font-size: 35px;
        line-height: 35px;
    }
 
    .bannerAa .parrafo {
        font-size: 16px;
    }
}
 
 
/* ──────────────────────────────────────────
   PARALLAX (parallaxAa)
────────────────────────────────────────── */
 
@media (max-width: 992px) {
    .parallaxAa {
        padding: 80px 0;
    }
 
    .parallaxAa .fondo {
        width: 100%;
        opacity: 0.4;
    }
 
    .parallaxAa .opacidad {
        background: linear-gradient(180deg, var(--primario) 0%, rgba(14,13,34,0.85) 100%);
    }
 
    .parallaxAa .col-lg-8 {
        width: 100%;
        text-align: center;
    }
 
    .parallaxAa .antetitulo {
        text-align: center;
    }
 
    .parallaxAa .titulo {
        font-size: 36px;
        text-align: center;
        max-width: 100%;
    }
 
    .parallaxAa .parrafo {
        text-align: center;
        width: 100%;
        margin: 0 auto 20px;
    }
 
    .parallaxAa .boton-primario {
        display: flex;
        margin: 20px auto 0;
    }
}
 
@media (max-width: 768px) {
    .parallaxAa {
        padding: 60px 0;
    }
 
    .parallaxAa .titulo {
        font-size: 28px;
    }
 
    .parallaxAa .parrafo {
        font-size: 15px;
    }
}
 
@media (max-width: 500px) {
    .parallaxAa .titulo {
        font-size: 24px;
        line-height: 30px;
    }
 
    .parallaxAa .parrafo {
        font-size: 14px;
    }
 
    .parallaxAa .antetitulo {
        font-size: 22px;
    }
}
 
 
/* ──────────────────────────────────────────
   MAPA (bloqueInformacionAi)
────────────────────────────────────────── */
 
@media (max-width: 992px) {
    .bloqueInformacionAi {
        padding-top: 0;
        padding-bottom: 0;
    }
 
    /* Columnas apiladas: mapa arriba, texto abajo */
    .bloqueInformacionAi .row-align-center {
        flex-flow: column;
    }
 
    .bloqueInformacionAi .mapa.col-md-6,
    .bloqueInformacionAi .col-md-6.bloq_textaso {
        width: 100%;
        max-width: 100%;
    }
 
    /* Mapa altura fija en tablet */
    #mapa-personalizado {
        min-height: 45vh;
        height: 70vh;
    }
 
    /* Texto centrado */
    .bloqueInformacionAi .titulo {
        font-size: 36px;
        text-align: center;
    }
 
    .bloqueInformacionAi .antetitulo {
        text-align: center;
    }
 
    .bloqueInformacionAi .parrafo {
        text-align: center;
    }
 
    .bloqueInformacionAi .textico {
        padding: 75px 20px;
    }
 
    .bloqueInformacionAi .boton_rojo {
        margin: 0 auto;
    }
 
    .bloqueInformacionAi .custom-button {
        display: flex;
        margin: 0 auto;
    }
}
 
@media (max-width: 768px) {
    #mapa-personalizado {
        min-height: 35vh;
        height: 70vh;
    }
 
    .bloqueInformacionAi .titulo {
        font-size: 28px;
    }
 
    .bloqueInformacionAi .textico {
        padding: 75px 15px;
    }
}
 
@media (max-width: 500px) {
    #mapa-personalizado {
        min-height: 50vw;
        height: 70vw;
    }
 
    .bloqueInformacionAi .titulo {
        font-size: 24px;
        line-height: 30px;
    }
 
    .bloqueInformacionAi .antetitulo {
        font-size: 20px;
    }
 
    .bloqueInformacionAi .parrafo {
        font-size: 14px;
    }
}
 
 
/* ──────────────────────────────────────────
   VARIEDADES (parallaxAe)
────────────────────────────────────────── */
 
@media (max-width: 992px) {
    .parallaxAe {
        padding: 70px 0 60px;
    }

    .parallaxAe {
        opacity: 1 !important;
    }

    /* 2 columnas en tablet */
    .parallaxAe .col-md-3 {
        width: 50% !important;
    }
 
    .parallaxAe .row > div > a {
        height: 220px;
        margin-bottom: 40px;
    }
 
    .parallaxAe .round {
        width: 160px;
        height: 115px;
        padding: 20px;
    }
 
    .parallaxAe .h4 {
        font-size: 20px;
    }
 
    /* Logote más pequeño */
    .parallaxAe .logote {
        height: 77vh;
        bottom: -25px;
        z-index: -2;
    }
 
    /* Botón centrado */
    .boton_banner.dos {
        margin: 0 auto;
        width: 50%;
    }

    .boton_banner.uno {
        width: 50%;
    }
}
 
@media (max-width: 768px) {
    .parallaxAe .col-md-3 {
        width: 50% !important;
    }
 
    .parallaxAe .row > div > a {
        height: 180px;
        margin-bottom: 25px;
        gap: 10px;
    }
 
    .parallaxAe .round {
        width: 140px;
        height: 95px;
        padding: 20px;
    }

    .parallaxAe .h4 {
        font-size: 17px;
    }
}
 
@media (max-width: 500px) {
    .parallaxAe .col-md-3 {
        width: 50% !important;
    }
 
    .parallaxAe .row > div > a {
        height: 150px;
        margin-bottom: 15px;
    }
 
    /* .parallaxAe .round {
        width: 85px;
        height: 85px;
        padding: 14px;
        border-radius: 20px;
    } */
 
    .parallaxAe .h4 {
        font-size: 14px;
        padding: 0 5px;
    }
}
 
 
/* ──────────────────────────────────────────
   BANNERS SLIDER 1 (sliderAb / parallaxAb)
────────────────────────────────────────── */
 
@media (max-width: 992px) {
    .parallaxAb {
        padding: 90px 0;
        width: 100%;
    }
    .parallaxAc {
        padding: 90px 0;
        width: 100%;
    }
 
    .parallaxAb .subtitulo {
        font-size: 22px;
        text-align: center;
    }
 
    .parallaxAb .titulo {
        font-size: 32px;
        text-align: center;
    }
 
    .parallaxAb .parrafo {
        font-size: 15px;
        text-align: center;
        width: 100%;
    }
 
    .sliderAb-prev { left: 10px; }
    .sliderAb-next { right: 10px; }
}
 
@media (max-width: 768px) {
    .parallaxAb {
        padding: 70px 0;
        width: 100%;
    }
    .parallaxAc {
        padding: 70px 0;
        width: 100%;
    }
 
    .parallaxAb .col-lg-8 {
        width: 100%;
        padding: 0 20px;
    }
 
    .parallaxAb .titulo {
        font-size: 26px;
    }
 
    .parallaxAb .parrafo {
        font-size: 14px;
    }
 
    .sliderAb-dots {
        bottom: 16px;
        gap: 10px;
    }
}
 
@media (max-width: 500px) {
    .parallaxAb {
        padding: 55px 0;
        width: 100%;
    }
    .parallaxAc {
        padding: 55px 0;
        width: 100%;
    }
 
    .parallaxAb .titulo {
        font-size: 22px;
        line-height: 28px;
    }
 
    .parallaxAb .subtitulo {
        font-size: 18px;
    }
}
 
 
/* ──────────────────────────────────────────
   BANNERS SLIDER 2 (sliderAc / parallaxAc)
────────────────────────────────────────── */
 
@media (max-width: 992px) {
    .parallaxAc {
        padding: 90px 0;
    }
 
    .parallaxAc .subtitulo {
        font-size: 22px;
        text-align: center;
    }
 
    .parallaxAc .titulo {
        font-size: 32px;
        text-align: center;
    }
 
    .parallaxAc .parrafo {
        font-size: 15px;
        text-align: center;
        width: 100%;
        float: none;
    }
 
    /* El col-lg-8 flota a la derecha en desktop; en tablet va al centro */
    .parallaxAc .col-lg-8 {
        float: none;
        width: 100%;
        padding: 0 20px;
    }
 
    .sliderAc-prev { left: 10px; }
    .sliderAc-next { right: 10px; }
}
 
@media (max-width: 768px) {
    .parallaxAc {
        padding: 70px 0;
    }
 
    .parallaxAc .titulo {
        font-size: 26px;
    }
 
    .parallaxAc .parrafo {
        font-size: 14px;
    }
 
    .sliderAc-dots {
        bottom: 16px;
        gap: 10px;
    }
}
 
@media (max-width: 500px) {
    .parallaxAc {
        padding: 55px 0;
    }
 
    .parallaxAc .titulo {
        font-size: 22px;
        line-height: 28px;
    }
 
    .parallaxAc .subtitulo {
        font-size: 18px;
    }
}
 
 
/* ──────────────────────────────────────────
   RESEÑAS / OPINIONES
────────────────────────────────────────── */
 
@media (max-width: 992px) {
    /* Contenedor reseñas: apilado en columna */
    .contenedor_resena {
        flex-flow: column;
        align-items: center;
        padding: 0 15px;
    }
 
    /* Sección título ocupa 100% */
    .bloqueInformacion.tituloPrincipalAc.col-md-5 {
        width: 100%;
        max-width: 100%;
        text-align: center;
        margin-bottom: 40px;
        position: relative;
    }
 
    .tituloPrincipalAc p.antetitulo,
    .tituloPrincipalAc h2.titulo {
        text-align: center;
    }
 
    .tituloPrincipalAc h2.titulo {
        font-size: 36px;
    }
 
    /* Botón reseña centrado */
    .tituloPrincipalAc .boton_resena {
        margin: 20px auto;
    }
 
    /* Logo opinión oculto en tablet para no desbordar */
    .logote_opinion {
        display: none;
    }
 
    /* Slider de opiniones ocupa 100% */
    .opiniones.col-md-7 {
        width: 100%;
        max-width: 100%;
    }
 
    #opiniones-slider {
        width: 42vh !important;
        overflow: hidden;
        margin-left: -20vh;
    }
 
    .opiniones .splide__list {
        margin-left: 8px !important;
    }
 
    .opiniones .degradao {
        display: none; /* degradado lateral no tiene sentido en móvil */
    }
 
    #opiniones-slider .texto {
        width: auto;
        margin: 5px 10px 30px;
        padding: 25px;
    }
 
    #opiniones-slider .slider {
        width: auto;
    }
 
    /* Separadores más compactos */
    .separa-50 + .separa-50 + .separa-50 + .separa-50 + .separa-50 {
        height: 20px;
    }
}
 
@media (max-width: 768px) {
    .tituloPrincipalAc h2.titulo {
        font-size: 28px;
        line-height: 34px;
    }
 
    .tituloPrincipalAc p.antetitulo {
        font-size: 20px;
    }
 
    #opiniones-slider .nombre {
        font-size: 14px;
        margin: 0;
    }
 
    #opiniones-slider .texto {
        padding: 20px;
        border-radius: 20px;
        margin: 5px 18px 25px;
    }
 
    .contenidoOpinion {
        font-size: 15px;
        height: auto;
    }
 
    .estrellasOpinion {
        font-size: 20px;
    }
 
    #opiniones-slider .logo-google {
        width: 26px;
        height: 26px;
        top: 20px;
        right: 20px;
    }
 
    /* Reduce separadores verticales */
    .separa-50 {
        height: 25px;
    }
}
 
@media (max-width: 500px) {
    .tituloPrincipalAc h2.titulo {
        font-size: 24px;
    }
 
    #opiniones-slider .texto {
        padding: 16px;
        border-radius: 16px;
    }
 
    .contenidoOpinion {
        font-size: 14px;
    }
}
 
 
/* ──────────────────────────────────────────
   GALERÍA (galeriaAa)
────────────────────────────────────────── */
 
@media (max-width: 992px) {
    .galeriaItem {
        flex: 0 0 50%;
    }
 
    .galeriaItem > img {
        height: 320px;
    }
}
 
@media (max-width: 768px) {
    .galeriaItem {
        flex: 0 0 100%;
    }
 
    .galeriaItem > img {
        height: 260px;
    }
}
 
@media (max-width: 500px) {
    .galeriaItem > img {
        height: 220px;
    }
}
 
 
/* ──────────────────────────────────────────
   AJUSTES GLOBALES DE ESPACIADO
   (Los separa-50 son excesivos en móvil)
────────────────────────────────────────── */
 
@media (max-width: 768px) {
    .separa-50 { height: 25px; }
    .separa-40 { height: 20px; }
    .separa-30 { height: 15px; }
    .separa-20 { height: 10px; }
}
 
@media (max-width: 500px) {
    .separa-50 { height: 20px; }
    .separa-40 { height: 15px; }
    .separa-30 { height: 10px; }
}
 

























/* ============================================================
   ANIMACIONES DE ENTRADA — se activan al 70% de visibilidad
   Uso: añade data-animate="[nombre]" al elemento en el HTML
   ============================================================ */

/* ── Estado inicial: todos los módulos animables ocultos ── */
.animations-ready [data-animate] {
    opacity: 0;
    will-change: opacity, transform;
    transition-duration: 0.75s;
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
    transition-property: opacity, transform;
}

/* ── Estado visible: la clase .is-visible la añade el JS ── */
[data-animate].is-visible {
    opacity: 1;
    transform: none !important;
}

/* ── Variantes de animación ── */

/* Sube desde abajo (módulos principales) */
[data-animate="fade-up"] {
    transform: translateY(60px);
}

/* Baja desde arriba */
[data-animate="fade-down"] {
    transform: translateY(-50px);
}

/* Entra desde la izquierda (texto izquierdo, mapa) */
[data-animate="fade-left"] {
    transform: translateX(-70px);
}

/* Entra desde la derecha (texto derecho, imagen) */
[data-animate="fade-right"] {
    transform: translateX(70px);
}

/* Zoom suave (tarjetas de variedades, galería) */
[data-animate="zoom-in"] {
    transform: scale(0.85);
}

/* Zoom saliente (elementos decorativos) */
[data-animate="zoom-out"] {
    transform: scale(1.1);
}

/* Fade puro sin movimiento (parallax, overlays) */
[data-animate="fade"] {
    transform: none;
}

/* ── Delays encadenados para grupos de elementos ── */
[data-animate-delay="1"] { transition-delay: 0.1s; }
[data-animate-delay="2"] { transition-delay: 0.2s; }
[data-animate-delay="3"] { transition-delay: 0.35s; }
[data-animate-delay="4"] { transition-delay: 0.5s; }
[data-animate-delay="5"] { transition-delay: 0.65s; }
[data-animate-delay="6"] { transition-delay: 0.8s; }
[data-animate-delay="7"] { transition-delay: 0.95s; }
[data-animate-delay="8"] { transition-delay: 1.1s; }


/* ============================================================
   HOVER — Botones  (paleta: #0e0d22, #d8000a, #ebafd0, #fff)
   ============================================================ */

/* ── .boton_banner  (WhatsApp / CTA principal del banner) ── */
.boton_banner {
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    background-color 0.3s ease,
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}

.boton_banner:hover {
        background-color: rgb(255 255 255);
    border-color: #d8000a00 !important;
    /* box-shadow: 0 0 22px rgb(255 255 255 / 35%); */
    color: #000;
    transform: scale(1.03);
}

.boton_banner a {
    transition: color 0.25s ease, letter-spacing 0.25s ease;
}


.boton_banner a svg path,
.boton_banner a svg g {
    transition: fill 0.25s ease;
}

.boton_banner:hover a svg path,
.boton_banner:hover a svg g {
    fill: #d8000a;
}

/* ── .boton_banner.dos  (CTA blanco en sección variedades / footer) ── */
.boton_banner.uno,
.boton_banner.dos {
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
                background-color 0.3s ease,
                box-shadow 0.3s ease;
}

.boton_banner.dos:hover {
    background-color: #000000;
    /* box-shadow: 0 6px 28px rgba(235, 175, 208, 0.4); */
    transform: scale(1.03);
}

.boton_banner.dos a {
    transition: color 0.25s ease;
}

.boton_banner.dos:hover a {
    color: #ffffff;
}

/* ── .boton-primario  (Parallax CTA principal) ── */
.boton-primario {
    position: relative;
    overflow: hidden;
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
                box-shadow 0.3s ease,
                color 0.3s ease;
}

.boton-primario::after {
    content: '';
    position: absolute;
    inset: 0;
    background: #fff;
    border-radius: inherit;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1);
    z-index: 0;
}

.boton-primario span,
.boton-primario {
    position: relative;
    z-index: 1;
}

.boton-primario:hover::after {
    transform: scaleX(1);
}

.boton-primario:hover {
    color: #d8000a !important;
    box-shadow: 0 8px 30px rgba(216, 0, 10, 0.3);
    transform: translateY(-2px);
}

/* ── .boton_rojo  (botón ubicación en sección mapa) ── */
.boton_rojo {
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
                background-color 0.3s ease,
                border-color 0.3s ease,
                box-shadow 0.3s ease;
}

.boton_rojo:hover {
    background-color: rgb(255, 255, 255);
    border-color: #ebafd0 !important;
    box-shadow: 0 0 20px rgba(235, 175, 208, 0.35);
    transform:scale(1.03);
}

.boton_rojo:hover a{
    color: var(--secundario) !important;
}

.boton_rojo .custom-button {
    transition: color 0.25s ease, letter-spacing 0.25s ease;
}

.boton_rojo:hover .custom-button {
    color: #fff;
    letter-spacing: 0.04em;
}

.boton_rojo svg path,
.boton_rojo svg g {
    transition: fill 0.25s ease, filter 0.25s ease;
}

.boton_rojo:hover svg path,
.boton_rojo:hover svg g {
    fill: var(--secundario);
}

/* ── .boton_resena  (botón Google Reviews) ── */
.boton_resena {
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
                border-color 0.3s ease,
                box-shadow 0.3s ease,
                background-color 0.3s ease;
}

.boton_resena:hover {
    background-color: rgba(255, 255, 255, 0.08);
    border-color: #ebafd0 !important;
    box-shadow: 0 0 20px rgba(235, 175, 208, 0.3);
    transform: translateY(-3px) scale(1.02);
}

.boton_resena a {
    transition: color 0.25s ease;
}

.boton_resena:hover a {
    color: #ebafd0;
}

.boton_resena img {
    transition: filter 0.25s ease;
}

.boton_resena:hover img {
    filter: drop-shadow(0 0 5px rgba(235, 175, 208, 0.7));
}

/* ── Variedades: links de iconos (parallaxAe) ── */
.parallaxAe .row > div > a {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                filter 0.3s ease;
    border-radius: 20px;
}

.parallaxAe .row > div > a:hover {
    transform: translateY(-10px);

}

.parallaxAe .row > div > a .round {
    transition: border-color 0.3s ease,
                box-shadow 0.3s ease,
                background-color 0.3s ease;
}


.parallaxAe .row > div > a .h4 {
    transition: color 0.25s ease;
    height: 90px;
    margin: 0;
}

.parallaxAe .row > div > a:hover .h4 {
    color: #fff;
}

/* ── Galería: hover en imágenes (ya tenía scale, añadimos brillo) ── */
.galeriaItem > img {
    transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1),
                filter 0.4s ease;
}

.galeriaItem:hover > img {
    transform: scale(1.06);
    filter: brightness(1.1) saturate(1.15);
}

/* ── Redes sociales en navbar ── */
.navbar-collapse .redes a {
    transition: transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
                background 0.3s ease,
                box-shadow 0.3s ease,
                outline-color 0.3s ease;
}

.navbar-collapse .redes a:hover {
    background: linear-gradient(135deg, #0e0d22 0%, #1a1935 100%) !important;
    outline: 1.5px solid #ebafd0;
    outline-offset: 2px;
    box-shadow: 0 4px 18px rgba(235, 175, 208, 0.35);
    transform: translateY(-2px) scale(1.05);
}

.navbar-collapse .redes a:hover svg,
.navbar-collapse .redes a:hover .img {
    filter: drop-shadow(0 0 5px #ebafd0);
}





@media (max-width: 992px) {
    .cont_footer_logo .boton_banner.dos{
        display: none;
    }
}

@media (max-width: 768px) {
    [data-animate="fade-left"] {
        transform: translateX(-30px);
    }

    [data-animate="fade-right"] {
        transform: translateX(30px);
    }

    [data-animate="fade-up"] {
        transform: translateY(30px);
    }
}