/*
Template Name: Pacifico
Author URI: 
Author Name: Epic Themes
Version: 1.0
*/

/* --- TABLE OF CONTENT

01. GENERAL LAYOUT
02. MENU-NAV
03. FOOTER
04. HOME
05. ABOUT
06. TEAM
07. SERVICES/FEATURES
08. PRICING
09. BLOG
10. CONTACT
11. OTHER ELEMENTS
		a. Newsletter
		b. Buttons
		c. Gallery Images Animation
		d. Testimonials
		e. Accordion Tabs
		f. Partners
		g. Fun Facts
		h. PopUp Video
		i. Features List
12. MEDIA QUERIES

--- */
/* -- VARIABLES COLORES -- */
:root {
  	--primary-color: #6EBACA; /* Color principal */
  	--secondary-color: #4CAAAC; /* Color secundario */
  	--accent-color: #80C9B6; /* Color secundario alternativo */
  	--dark-color: #03415C; /* Color principal oscuro */
	--gris-claro-color: #f5f5f5;
	--gris-claro-2-color: #f4f5f6;
	--gris-claro-3-color: #8d8d8d;
	--gris-claro-4-color: #6a6a6a;
	--gris-oscuro-color: #03415C; /* Usando el color principal oscuro */
	--texto-color: #333333;
	--texto-gris-color: #7c8595;
	--white-color: #ffffff;
	--black-color: #000000;
	--pinterest-color: #E60023;
	--facebook-color: #4267B2;
	--x-bg-color: #ffffff;
	--x-color: #000000;
}

/* ========================================================== */
/* 			               01. GENERAL LAYOUT                 */
/* ========================================================== */

ul, ol { 
	list-style: none; 
	list-style-image: none; 
	margin: 0; 
	padding: 0;
	color:var(--texto-gris-color);
	font-size: 14px;
	line-height:24px;
	margin-bottom:20px;
}
	
ul li, ol li{
	font-size: 15px;
	line-height: 28px;
}

ul li i{
	vertical-align: middle;
	padding-right: 5px;
}

p {
	font-size: 15px;
	line-height: 24px;
	font-weight: 400;
	color: var(--texto-color);
	margin-bottom:15px;
}

a,
a:hover,
a:focus {
	text-decoration: none;
	outline: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Roboto', sans-serif;
  line-height: 1.2;
  margin-bottom:20px;
  color: var(--texto-color);
}

h1 {
	font-size: 42px;
}

h2 {
	font-size: 36px;
}

h3 {
	font-size: 28px;
}

h4 {
	font-size: 24px;
}

h5 {
	font-size: 20px;
}

h6 {
	font-size: 18px;
}

h2.section-title{
	font-size: 36px;
    line-height: 40px;
    color: var(--texto-color);
    margin-bottom: 15px;
}

h2.section-title.grey,
.section-dark p,
.section-dark .feature-box h4,
.section-dark .feature-box p {
	color:var(--gris-claro-color);
}

h2.section-title.white{
	color:var(--white-color);
}

p.section-subtitle{
	font-size:16px;
}

p.section-subtitle.grey{
	color:var(--gris-claro-2-color);
}

p.section-subtitle.white{
	color:var(--white-color);
}

h3.medium-title {
	font-size: 32px;
	margin-top:10px;
}

ul {
	padding: 0;
}

ul li{
	list-style-type: none;
}

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

iframe {
    max-width: 100%;
    border: none;
}

.white-text{ 
	color: var(--white-color);
}

.blue {
    color: var(--primary-color);
}

.lyla {
    color: var(--primary-color);
}

.section-white {
	background: var(--white-color);
	padding: 70px 0;
}

.section-grey{
	background: var(--gris-claro-color);
	padding: 70px 0;
}

.section-white.no-padding, .section-grey.no-padding {
	padding:0;
}

.section-white.small-paddings, .section-grey.small-paddings {
	padding: 30px 0;
}

.section-gradient{
	background: var(--linealmain, linear-gradient(286deg, var(--Color-main-oscuro, #03415C) 1.52%, var(--Color-main, #6EBACA) 66.8%));
    padding: 70px 0;
}

.section-dark{
	background-color:var(--gris-oscuro-color);
	padding:70px 0;
}

.width-100{
	width: 100%;
}

/* margin and padding classes */

.margin-right-25 {
	margin-right: 25px !important;
}

.margin-top-110 {
	margin-top: 110px !important;
}

.margin-top-100 {
	margin-top: 100px !important;
}

.margin-top-90 {
	margin-top: 90px !important;
}

.margin-top-80 {
	margin-top: 80px !important;
}

.margin-top-60 {
	margin-top: 60px !important;
}

.margin-top-50 {
	margin-top: 50px !important;
}

.margin-top-40 {
	margin-top: 40px !important;
}

.margin-top-35 {
	margin-top: 35px !important;
}

.margin-top-30 {
	margin-top: 30px !important;
}

.margin-top-20 {
	margin-top: 20px !important;
}

.margin-top-10 {
	margin-top: 10px !important;
}

.margin-top-5 {
	margin-top: 5px !important;
}

.margin-bottom-0 {
	margin-bottom: 0px !important;
}

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

.margin-bottom-20 {
	margin-bottom: 20px !important;
}

.margin-bottom-30 {
	margin-bottom: 30px !important;
}

.margin-bottom-40 {
	margin-bottom: 40px !important;
}

.margin-bottom-50 {
	margin-bottom: 50px !important;
}

.margin-bottom-60 {
	margin-bottom: 60px !important;
}

.margin-bottom-70 {
	margin-bottom: 70px !important;
}

.margin-bottom-80 {
	margin-bottom: 80px !important;
}

.margin-bottom-100 {
	margin-bottom: 100px !important;
}

.margin-bottom-120 {
	margin-bottom: 120px !important;
}

.margin-bottom-130 {
	margin-bottom: 120px !important;
}

.margin-bottom-140 {
	margin-bottom: 140px !important;
}

.padding-top-0 {
	padding-top: 0px !important;
}

.padding-top-10 {
	padding-top: 10px !important;
}

.padding-top-20 {
	padding-top: 20px !important;
}
.padding-top-25 {
	padding-top: 25px !important;
}

.padding-top-30 {
	padding-top: 30px !important;
}

.padding-top-40 {
	padding-top: 40px !important;
}

.padding-top-45 {
	padding-top: 45px !important;
}

.padding-top-50 {
	padding-top: 50px !important;
}
.padding-top-60 {
	padding-top: 60px !important;
}

.padding-top-70 {
	padding-top: 70px !important;
}

.padding-top-80 {
	padding-top: 80px !important;
}

.padding-top-100 {
	padding-top: 100px !important;
}

.padding-top-120 {
	padding-top: 120px !important;
}

.padding-bottom-70 {
	padding-bottom: 70px !important;
}

.padding-bottom-60 {
	padding-bottom: 60px !important;
}

.padding-bottom-50 {
	padding-bottom: 50px !important;
}

.padding-bottom-40 {
	padding-bottom: 40px !important;
}

.padding-bottom-30 {
	padding-bottom: 30px !important;
}

.padding-bottom-20 {
	padding-bottom: 20px !important;
}

.padding-bottom-10 {
	padding-bottom: 10px !important;
}

.padding-bottom-0 {
	padding-bottom: 0px !important;
}

.margin-top-0 {
	margin-top: 0px !important;
}

/* ========================================================== */
/* 			               02. MENU-NAV                       */
/* ========================================================== */

.navbar-brand{
	font-family: 'Roboto', sans-serif;
	font-size: 28px;
	font-weight: 500;
	color: var(--white-color)!important;
}

.fixed-top.opaque .navbar-brand{
	font-family: 'Roboto', sans-serif;
	font-size: 28px;
	font-weight: 700;
	color: var(--gris-oscuro-color)!important;
}

.fixed-top #navbar-collapse-02 .current a {
    color:var(--primary-color);
     -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.fixed-top.opaque #navbar-collapse-02 .current a {
    color:var(--secondary-color)!important;
     -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.navbar {
	padding-top: 10px;
	padding-bottom: 10px;
}

.fixed-top {
	position: absolute!important;
	background-color: rgba(0, 0, 0, 0.0)!important; 
	border-bottom: none;
	transition: background-color 0.25s ease 0s;
}

.fixed-top.opaque {
	position: fixed!important;
	padding: 10px 0;
	transition: all 0.25s ease-in-out 0s;
}

nav.navbar.navbar-expand-lg.navbar-default.fixed-top.opaque .container {
	background-color: rgba(255, 255, 255, 0.95);
}

div#navbarNav .navbar-nav {
    align-items: center;
}

.fixed-top .navbar-nav > li > a, .fixed-top .navbar-nav > li > a:hover{
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.fixed-top .navbar-nav > li a{
	color:var(--white-color) !important;
	font-size: 14px !important;
	line-height: 30px !important;
	text-transform: uppercase;
	padding: 10px 20px!important;
	font-family: 'Roboto', sans-serif;
	font-weight: 600;
}

.fixed-top.opaque .navbar-nav > li > a{
	color:var(--gris-oscuro-color) !important;
}

.fixed-top .navbar-nav > li > a.discover-btn {
	background: transparent;
	border: 1px solid var(--white-color);
	border-radius: 5px 5px;
	padding: 8px 24px!important;
	margin: 0;
	font-family: 'Roboto', sans-serif;
}

header li.nav-item.phone-number {
    display: flex;
    justify-content: center;
    align-items: center;
	margin-left: 15px;
}

.fixed-top.opaque .navbar-nav > li > a.discover-btn {
	color: var(--white-color)!important;
	background: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: -moz-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
	-webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease;
}

.fixed-top .navbar-nav > li > a.discover-btn:hover {
	border: 1px solid var(--white-color);
	color: var(--white-color)!important;
	background: var(--white-color);
}

.fixed-top.opaque .navbar-nav > li > a.discover-btn:hover {
	color: var(--white-color)!important;
	background: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--secondary-color), var(--primary-color));
    background: -moz-linear-gradient(bottom right, var(--secondary-color), var(--primary-color));
    background: linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
}

.fixed-top.opaque #navbar-collapse-02 .current a.discover-btn {
    color: var(--white-color)!important;
}


.home-section h1{
	font-size: 42px;
    line-height: 48px;
    font-weight: 300;
    color: var(--white-color);
    letter-spacing: 1px;
}

.hero-highlight {
  position: relative;
  display: inline-block;
  font-weight: 900;
  font-size: clamp(40px, 6vw, 70px) !important; /* límite entre 60–80 px */
  line-height: 1.1;
  color: #fff;
}

/* Subrayado SVG con ancho completo y alineado a la izquierda */
.hero-highlight::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -24px;
  width: 100%;
  height: 21px; /* proporción del vector (487×21 px ≈ 1:23) */
  background: url('/images/cector.svg') no-repeat left bottom;
  background-size: auto 100%; /* mantiene proporción horizontal */
  pointer-events: none;
}

.hero-highlight::after {
	height: 30px;
}

/* En móviles */
@media (max-width: 576px) {
	.hero-highlight {
		font-size: 48px;
	}
	.hero-highlight::after {
		bottom: -16px; 
	}
	.hero-highlight::after {
		height: 16px;
	}
	.home-section h1 {
		font-size: 24px;
        line-height: 39px;
	}
}


/* ========================================================== */
/* 			                03. FOOTER                        */
/* ========================================================== */

.footer {
	z-index:900;
	background-color: var(--texto-color);
	padding: 50px 0;
	font-weight: 300;
}

.footer p {
	font-size: 16px;
	color: var(--white-color);
}

.footer p a {
	font-size: 16px;
	color: var(--primary-color);
	text-decoration:underline;
}

/* Footer Social Icons */
ul.footer_social{
	width:100%;
	max-width:1140px;
	display:block;
	margin:0 auto;
	padding-top:5px;
	text-align:center;
}

ul.footer_social li{
	display:inline-block;
    margin:0 ;
	line-height:100%!important;
}

ul.footer_social li a i,
ul.footer_social li a svg {
  display: inline-block;
  margin:0 8px;
  padding:0;
  font-size:26px!important;
  line-height: 26px!important;
  color: var(--gris-claro-3-color);

  transition: all .5s ease-in-out;
  -moz-transition: all .25s ease-in-out;
  -webkit-transition: all .25s ease-in-out;
}

ul.footer_social li a i:hover,
ul.footer_social li a svg:hover {
	color:var(--secondary-color);
}

/* ========================================================== */
/* 			               04. HOME                           */
/* ========================================================== */

.home-section {
	background: url(../images/hero-bg-1920X1080.jpg) bottom center no-repeat;
	background-size: cover;
	width: 100%;
	position: relative;
  	padding-top: 300px;
  	padding-bottom: 165px;
}

section#home_wrapper .container {
    position: relative;
}

.home-section-overlay{
	background: var(--primary-color); /* fallback for old browsers */
	background: -webkit-linear-gradient(to left, var(--primary-color) , var(--secondary-color)); /* Chrome 10-25, Safari 5.1-6 */
	background: linear-gradient(to left, var(--primary-color) , var(--secondary-color)); /* W3C, IE 10+/ Edge, Firefox 16+, Chrome 26+, Opera 12+, Safari 7+ */
	opacity: 0.7;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}


.home-section p{
	font-size: 18px;
	line-height: 28px;
	font-weight: 400;
	color: var(--white-color);
	margin-bottom: 30px;
}

a.hero-video-text{
	margin-left: 34px;
	font-size: 16px;
	line-height: 28px;
	color:var(--white-color);
}

i.hero-video-icon {
	width: 34px;
	height: 34px;
	border:1px solid var(--white-color);
	border-radius: 50% 50%;
	font-size: 20px;
	line-height: 34px;
	color:var(--white-color);
	margin-top: 12px;
	margin-left: 5px;
	display: inline-block;
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

a.hero-video-text:hover .hero-video-icon{
	background: var(--white-color);
	color: var(--secondary-color);
}

/* ========================================================== */
/* 			               05. ABOUT                          */
/* ========================================================== */

.about-box {
	margin-top: 20px;
	text-align: center;
}

.about-box i,
.about-box svg {
	font-size: 58px;
	margin-bottom: 0;
	color:var(--secondary-color);
	display: inline-block;
	line-height: 58px;
	cursor: pointer;
	border-radius: 50%;
}

.about-box-image {
	height: 60px;
	margin-bottom: 20px;
	display: inline-block;
	object-fit: contain;
}

.about-box h3{
	font-size: 20px;
	color: var(--texto-color);
	margin-bottom: 15px;
	position: relative;
}

.about-box h3::after {
	content: '';
	display: block;
	width: 100px;
	height: 3px;
	background: var(--primary-color);
	margin: 10px auto 0 auto;
	border-radius: 2px;
}

.about-box p{
	padding: 0 10px;
}

blockquote {
	font-size: 16px;
	color: var(--secondary-color);
	border-left: 2px solid var(--secondary-color);
}

a.btn-download {
	color: var(--white-color);
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	background: var(--secondary-color);
	border: 2px solid var(--secondary-color);
	border-radius: 5px 5px;
	padding: 15px 25px;	
	display: inline-block;
	margin-top: 30px;
	margin-bottom: 60px;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

a.btn-download i{
	font-size: 16px;
	margin-right: 10px;
}

a.btn-download:hover {
	color: var(--secondary-color);
	background: transparent;
	border:2px solid var(--secondary-color);
}

ul.features-responsive{
	margin-bottom: 40px;
}

ul.features-responsive li {	
	font-size: 15px;
	line-height: 20px;
	font-weight: 400;
	color: var(--gris-claro-3-color);
	display: block;
	margin-bottom: 10px;
}

ul.features-responsive li i {
	font-size: 18px;
	vertical-align: bottom;
	color: var(--secondary-color);
	margin-right: 10px;
}

/* ========================================================== */
/* 			               06. TEAM                           */
/* ========================================================== */

.team-item{
	background: var(--gris-claro-color);
	text-align:center;
	margin:20px 0;
	padding:50px 20px 40px 20px;
	border-radius: 8px 8px;
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}

.team-item:hover{
	background: var(--gris-oscuro-color);
}

.team-item h3{
	margin:20px 0 1px 0!important;
	color:var(--gris-oscuro-color);
	font-size:18px;
	font-weight: 700;
	text-transform:uppercase;
	transition: all .25s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-webkit-transition: all .25s ease-in-out;
}

.team-item:hover h3{
	color:var(--texto-gris-color);
}

.team-info {
	display: block;
	margin-bottom:0;
}

.team-info p{
	color:var(--gris-claro-3-color);
	font-style:italic;
}

.team-info::after {
    background: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: -moz-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    display: inline-block;
    vertical-align: middle;
    content: "";
    width: 50px;
    height: 3px;
    margin-top: -20px;
}

.team-img{
	max-width: 140px;
	padding: 6px 6px;
    background-color: var(--gris-claro-2-color);
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
}

ul.team-icon {
	margin-top: 25px;
}

ul.team-icon li{
	display: inline-block;
	margin:0 3px;
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}

ul.team-icon li a{
	margin: 0;
	display: inline-block;
	padding: 8px 8px;
	width: 34px;
	height: 34px;
	font-size: 18px;
	line-height: 18px;
	background-color: var(--white-color);
	border-radius: 50%;
	color:var(--white-color);
}

ul.team-icon li a.twitter{
	background-color: var(--x-bg-color);
	color: var(--x-color);
}

ul.team-icon li a.pinterest{
	background-color: var(--pinterest-color);
}

ul.team-icon li a.facebook{
	background-color: var(--facebook-color);
}


.team-icon li a:hover{
	color:var(--gris-claro-2-color);
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}

/* ========================================================== */
/* 			               07. SERVICES/FEATURES              */
/* ========================================================== */

.feature-box{
	overflow: hidden;
	margin: 10px 0 20px 0;	
}

.feature-box i{
	float: left;
	font-size: 48px;
	color: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: -moz-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.feature-box-text {
	float: left;				
	width: 70%;
	margin-left: 30px;
}

.feature-box h4{
	font-size: 18px;
	color: var(--texto-gris-color);
	margin-bottom: 10px;
}

.feature-box p{
	color: var(--texto-color);
}

.feature-inner {
	float: left;
	width: 70%;
	margin-left: 30px;
}

.feature-inner h4, .feature-inner-left h4, .feature-inner-right h4{
	font-size: 18px;
	color: var(--gris-oscuro-color);
	margin-top: 0;
	margin-bottom: 10px;
}

.feature-wrapper{
	overflow: hidden;
	margin: 30px 0;
}

.feature-wrapper i.lefts{
	float: right;
	margin-top: 10px;
	margin-right: 3px;
}

.feature-wrapper i.rights{
	float: left;
	margin-top: 10px;
	margin-left: 3px;
}

.feature-inner-left {
	float: right;
	width: 70%;
	text-align: right;
	padding-right: 30px;
}

.feature-inner-right{
	float: left;
	width: 70%;
	text-align: left;
	padding-left: 30px;
}

ul.benefits-list i::before {
    color: var(--gris-oscuro-color);
}

/* ========================================================== */
/* 			               08. PRICING                        */
/* ========================================================== */

.price-box-white{
	text-align: center;
	border: 2px solid var(--gris-claro-color);
	padding: 50px 0;
	width: 90%;
	margin-top:30;
	margin-bottom: 20px;
	margin-left: 20px;
	border-radius: 8px 8px;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-webkit-backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
}

.price-box-grey{
	text-align: center;
	background: var(--gris-claro-color);
	border: 2px solid var(--gris-claro-color);
	padding: 50px 0;
	width: 90%;
	margin-top:30;
	margin-bottom: 20px;
	margin-left: 20px;
	border-radius: 8px 8px;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-webkit-backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
}

.price-box-blue{
	text-align: center;
	background: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: -moz-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
	padding: 50px 0 40px 0;
	color:var(--white-color);
	width: 90%;
	margin-top:30;
	margin-bottom: 20px;
	margin-left: 20px;
	border-radius: 8px 8px;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
	-webkit-backface-visibility: hidden;
	-moz-osx-font-smoothing: grayscale;
}

.price-box-blue:hover, .price-box-grey:hover, .price-box-white:hover {	
	transform: scale(1.03,1.03);
	-ms-transform: scale(1.03,1.03); /* IE 9 */
    -webkit-transform: scale(1.03,1.03); /* Safari */

    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
}

.price-box-white .price-title, .price-box-white ul.pricing-list li.price-value,
.price-box-grey .price-title, .price-box-grey ul.pricing-list li.price-value{
	color: var(--texto-color);
}

.price-box-white .price-subtitle,.price-box-white .price-text,
.price-box-grey .price-subtitle,.price-box-grey .price-text{
	color: var(--gris-claro-4-color);
}

ul.pricing-list li.price-title{
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
	line-height: 24px;
	font-weight: 500;
	letter-spacing: 1px;
}

ul.pricing-list li.price-value{
	font-family: 'Roboto', sans-serif;
	font-size: 70px;
	line-height: 70px;
	display: block;
	margin-top:20px;
	margin-bottom: 10px;
}

ul.pricing-list li.price-subtitle{
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
}

ul.pricing-list li.price-text{
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	line-height: 28px;
	font-weight: 400;
	margin-bottom: 5px;
}

ul.pricing-list li.price-tag a{
	color: var(--white-color);
	background: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: -moz-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
	border-radius: 5px 5px;
	padding: 15px 30px;
	display: inline-block;
	font-size: 14px;
	line-height: 24px;
	font-weight: 600;
	margin: 40px 0 30px 0;
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}

ul.pricing-list li.price-tag a:hover{
	background: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--secondary-color), var(--primary-color));
    background: -moz-linear-gradient(bottom right, var(--secondary-color), var(--primary-color));
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-color) 100%);
}

.price-box-blue ul.pricing-list li.price-tag a{
	color: var(--white-color);
	background: transparent;
	border: 2px solid var(--white-color);
	border-radius: 5px 5px;
	padding: 15px 30px;
	display: inline-block;
	font-size: 14px;
	line-height: 24px;
	font-weight: 600;
	margin: 40px 0 30px 0;
}

.price-box-blue ul.pricing-list li.price-tag a:hover{
	color: var(--secondary-color);
	border: 2px solid var(--white-color);
	background: var(--white-color);
}

/* ========================================================== */
/* 			                   09. BLOG                       */
/* ========================================================== */

.blog-item{
	-webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
    transition: all .50s ease-in-out;
    -moz-transition: all .50s ease-in-out;
    -webkit-transition: all .50s ease-in-out;
}

.blog-item img {
}

.blog-item-inner{
	padding:10px 0 20px 0;
}

.blog-item-inner p{
	margin:15px 0 20px 0;
}

h3.blog-title{
	margin-top:15px;
	margin-bottom:10px;
}

h3.blog-title a{
	font-size:21px;
	color:var(--gris-oscuro-color);
	transition: all .25s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-webkit-transition: all .25s ease-in-out;
}

h3.blog-title a:hover{
	color:var(--secondary-color);
	transition: all .25s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-webkit-transition: all .25s ease-in-out;
}

a.blog-icons{
	color:var(--texto-gris-color);
	font-size:14px;
	font-style:italic;
	margin-right:10px;
	padding-right:10px;
	border-right:1px solid var(--gris-claro-3-color);
	transition: all .25s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-webkit-transition: all .25s ease-in-out;
}

a.blog-icons i{
	color:var(--gris-claro-4-color);
	font-size:16px;
	line-height:16px;
	vertical-align: text-bottom;
}

a.blog-icons.last{
	border-right: none;
}

a.blog-icons:hover{
	color:var(--secondary-color);
	transition: all .25s ease-in-out;
	-moz-transition: all .25s ease-in-out;
	-webkit-transition: all .25s ease-in-out;
}

a.button-blog{
	background-color: var(--primary-color);
	border:1px solid var(--primary-color);
	color:var(--white-color);
	display:inline-block;
	font-weight:400;
	font-size:13px;
	padding:10px 20px;
	margin:0 0 20px 0;
	-webkit-border-radius: 3px 3px;
    -moz-border-radius: 3px 3px;
    border-radius: 3px 3px;
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
}

a.button-blog:hover{
	background-color: transparent;
	border:1px solid var(--primary-color);
	color:var(--primary-color);
	transition: all .50s ease-in-out;
	-moz-transition: all .50s ease-in-out;
	-webkit-transition: all .50s ease-in-out;
}

/* ========================================================== */
/* 						    10. CONTACT                       */
/* ========================================================== */

#contact-form{
	margin:0 auto;
	width:100%;
	max-width:960px;
	text-align:center;
	margin-bottom:10px;
}

input.contact-input{
	width:100%;
	height:55px;
    padding-left:2%;
    padding-right:2%;
	margin-bottom:20px;
	color: var(--gris-claro-3-color);
	border: 1px solid var(--gris-claro-4-color);
	background-color: transparent;
    font-size:14px;
	-webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

textarea{
	height:205px;
	margin-bottom:20px;
	width:100%;
    padding-left:2%;
    padding-right:2%;
    padding-top:10px;
    padding-bottom:10px;
	color: var(--gris-claro-3-color);
	border: 1px solid var(--gris-claro-4-color);
	background-color: transparent;
    font-size:14px;
	-webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

input.contact-submit{
	color: var(--white-color);
	background: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: -moz-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    border: none;
    cursor: pointer;
    display: inline-block;
    font-size: 14px;
	font-weight:600;
	margin-top:10px;
    padding: 18px 32px;
    position: relative;
    text-transform: uppercase;
	-webkit-border-radius: 5px 5px;
    -moz-border-radius: 5px 5px;
    border-radius: 5px 5px;
	transition: all .3s ease-in-out;
	-moz-transition: all .3s ease-in-out;
	-webkit-transition: all .3s ease-in-out;
}

input.contact-submit:hover{
	color: var(--white-color);
	background: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--secondary-color), var(--primary-color));
    background: -moz-linear-gradient(bottom right, var(--secondary-color), var(--primary-color));
    background: linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
}

input.white-input::-webkit-input-placeholder,
textarea.white-input::-webkit-input-placeholder { /* WebKit browsers */
    color:var(--gris-claro-3-color);
}
input.white-input:-moz-placeholder,
textarea.white-input:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:var(--gris-claro-3-color);
}
input.white-input::-moz-placeholder,
textarea.white-input::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:var(--gris-claro-3-color);
}
input.white-input:-ms-input-placeholder,
textarea.white-input:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:var(--gris-claro-3-color);
}

#contact-form input.contact-input:focus, #contact-form textarea.contact-commnent:focus {
  border-color:var(--white-color);
  outline: none;
}

p.contact_success_box{
	display:inline-block;
	color:var(--white-color);
	font-size:20px;
	font-style:italic;
	padding:20px 20px;
	border:1px solid var(--white-color);
	webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

/* ========================================================== */
/* 			               11. OTHER ELEMENTS                 */
/* ========================================================== */

.extra-image{
	position: relative;
	margin-top: 30px;
	margin-bottom: -200px;
	z-index: 200;
}

/* -----  a) Newsletter ----- */

.newsletter_form_wrapper{
	width:100%;
	text-align:center;
	margin-bottom:30px;
}

.newsletter_form_box{
	margin:0 auto;
	max-width:730px;
}

#newsletter-form #email_newsletter {
	width:100%;
	max-width:500px; 
	height:65px;
    padding:0 20px;
	border: 2px solid var(--primary-color);
	background-color: var(--white-color);
    -moz-border-radius: 5px 0 0 5px;
    -webkit-border-radius: 5px 0 0 5px;
    border-radius: 5px 0 0 5px;
	color:var(--gris-claro-4-color);  
    font-size:16px;
    font-weight: 600;
	margin:0;
}

#newsletter-form #submit-button-newsletter {
    width: 165px;
	height:65px;
    background: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: -moz-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
	border: none;
    color:var(--white-color);  
    display: inline;
	margin:0 0 0 -5px;
    -moz-border-radius: 0 5px 5px 0;
    -webkit-border-radius: 0 5px 5px 0;
    border-radius: 0 5px 5px 0;
	font-size:14px;
	font-weight:700;
	vertical-align: top;
	transition: background-color .25s ease-in-out;
   -moz-transition: background-color .25s ease-in-out;
   -webkit-transition: background-color .25s ease-in-out;
}

#newsletter-form #submit-button-newsletter:hover {
	color:var(--gris-oscuro-color);
    background-color:var(--white-color);
	transition: background-color .25s ease-in-out;
   -moz-transition: background-color .25s ease-in-out;
   -webkit-transition: background-color .25s ease-in-out;
}

input#email_newsletter::-webkit-input-placeholder { /* WebKit browsers */
    color:var(--gris-claro-4-color);
}
input#email_newsletter:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color:var(--gris-claro-4-color);
}
input#email_newsletter::-moz-placeholder { /* Mozilla Firefox 19+ */
    color:var(--gris-claro-4-color);
}
input#email_newsletter:-ms-input-placeholder { /* Internet Explorer 10+ */
    color:var(--gris-claro-4-color);
}

.newsletter_success_box{
	font-size:18px;
	font-style:italic;
	color:var(--white-color);
	margin:5px 0;
}

/* b) Buttons */

/* Base */
.btn-blue{
	position: relative; /* para el pseudo-elemento */
	isolation: isolate; /* asegura superposición correcta */
	color: var(--white-color) !important;
  
	/* capa base */
	background-image: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
	background-size: 220% 220%;
	background-position: 0% 50%;
  
	border-radius: 6px;
	margin: 10px 0;
	padding: 16px 30px;
	display: inline-block;
	font: 500 16px/22px 'Roboto', sans-serif;
  
	transition:
	  background-position 700ms cubic-bezier(.22,.61,.36,1),
	  transform 200ms ease,
	  box-shadow 200ms ease;
	will-change: background-position, transform;
	overflow: hidden; /* recorta brillo del pseudo-elemento */
}

.btn-blue::before{
	content: "";
	position: absolute; inset: 0;
	z-index: -1; /* por debajo del contenido, por encima del fondo */
	border-radius: inherit;
	pointer-events: none;
  
	background-image: linear-gradient(135deg, var(--dark-color) 0%, var(--primary-color) 100%);
	background-size: 260% 260%;
	background-position: 0% 50%;
  
	opacity: 0;
	transition:
	  opacity 350ms ease,
	  background-position 700ms cubic-bezier(.22,.61,.36,1);
  }
  

.btn-blue.small {
	padding: 14px 26px;
}

/* Hover: barrido del gradiente */
.btn-blue:hover{
	background-position: 100% 50%;
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(3,65,92,.45);
  }
  .btn-blue:hover::before{
	opacity: 1;
	background-position: 100% 50%;
  }


.btn-white {
	color: var(--primary-color);
	background-color: var(--white-color);
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 22px;
	font-weight: 500;
	border-radius: 5px 5px;
	margin: 10px 10px;
	padding: 16px 30px;
	display: inline-block;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-white:hover{
	color: var(--white-color);
	background: var(--primary-color);
    background: -webkit-linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--secondary-color), var(--primary-color));
    background: -moz-linear-gradient(bottom right, var(--secondary-color), var(--primary-color));
    background: linear-gradient(135deg, var(--secondary-color) 0%, var(--primary-color) 100%);
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-white-border {
	color: var(--white-color);
	background: transparent;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 22px;
	font-weight: 500;
	border: 1px solid var(--white-color);
	border-radius: 5px 5px;
	margin: 10px 10px;
	padding: 15px 30px;
	display: inline-block;
	transition: all 0.4s ease-in-out;
	-webkit-transition: all 0.4s ease-in-out;
}

.btn-white-border:hover{
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid var(--white-color);
}

.btn-white i, .btn-white-border i {
	font-size: 22px;
	line-height: 22px;
	margin-right: 10px;
	vertical-align: text-top;
}

/* -----  c) Gallery Images Animations ----- */

.popup-wrapper{
	display:block;
	position:relative;
	overflow:hidden;
}

.popup-gallery{
	display:inline-block;
	position:relative;
}

.first-gallery{
	margin-bottom:15px;
}

.popup-gallery img {
	position:relative;
	z-index:10;
	width: 100%;
	height: auto;
}

.popup-gallery:hover img {
	opacity: 0.25;
}

.popup-gallery a span.eye-wrapper, 
.popup-gallery a span.eye-wrapper2 {
	background-color:var(--black-color);
	position: absolute;
	display: block;
	overflow:hidden;
	z-index: 2;
	height:100%!important;
	top: 0%;
	margin-top: 0px;
	left: 0%;
	right: 0%;
	font-size: 22px;
	color:var(--white-color);
	text-align: center;
	font-weight:300;
	opacity: 0;
	-webkit-border-radius: 5px 5px 0 0;
    -moz-border-radius: 5px 5px 0 0;
    border-radius: 5px 5px 0 0;
}

.popup-gallery-rounded a span.eye-wrapper, 
.popup-gallery-rounded a span.eye-wrapper2 {
	-webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

.popup-gallery a span.eye-wrapper i.eye-icon, .popup-gallery a span.eye-wrapper2 i.eye-icon{
	position: absolute;
	display: inline-block;
	font-size:38px;
	z-index: 3;
	top: 50%!important;
	margin-top: -19px!important;
	left: 0%;
	right: 0%;
}

.popup-gallery a:hover span{
	opacity: 1;
}

.popup-gallery img,
.popup-gallery a span {
	-webkit-transition: all 0.25s ease-in-out;
	-moz-transition: all 0.25s ease-in-out;
	-ms-transition: all 0.25s ease-in-out;
	-o-transition: all 0.25s ease-in-out;
	transition: all 0.25s ease-in-out;
}

.gallery-show {
	box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.3); 
	border: 8px solid rgba(255, 255, 255, 0.8);
	margin: 20px 10px 40px 10px;
}

.gallery-item-wrapper{
	float: left;
	width: 100%;
}

/* d) Testimonials */
.testim-inner{
	text-align: center;
}

.testim-inner img{
	max-width: 130px;
	border:1px solid var(--white-color);
	border-radius: 50% 50%;
	padding: 6px 6px;
	background-color: var(--gris-claro-2-color);
	display: inline-block!important;
}

.testim-inner h6{
	margin-bottom: 5px;
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
	line-height: 26px;
	color:var(--texto-color);
	font-weight: 700;
}

.testim-inner span.job-text{
	font-size: 18px;
	line-height: 26px;
	font-weight: 500;
	color: var(--gris-claro-4-color);
}	

.testim-inner p{
	font-family: 'Roboto', sans-serif;
	font-size: 20px;
	line-height: 32px;
	font-weight: 300;
	font-style: italic;
	color: var(--gris-oscuro-color);
	margin-top: 20px;
}

.testim-inner i,
.testim-inner svg {
	font-size: 70px;
	color: var(--primary-color);
	margin-top:20px;
	margin-bottom: 40px;
}

/* e) Accordion Tabs */

.panel-wrapper{
	margin-bottom: 25px;
}

.panel-icon{
	margin-right: 5px;
	font-size: 20px;
	vertical-align: middle;
}

.panel-title {
    margin-top: 0;
    margin-bottom: 0;
    font-size: 16px;
    font-weight: 500;
    color: var(--gris-oscuro-color);
    font-family: 'Roboto', sans-serif;
}

.panel-title > a, .panel-title > small, .panel-title > .small, .panel-title > small > a, .panel-title > .small > a {
    color: var(--gris-claro-4-color);
}

.panel-group {
	margin: 10px 0;
}

.panel-group .panel {
    margin-bottom: 0;
    background: transparent;
}

.panel-body {
    padding: 20px 10px 10px 10px;
}

.panel-heading {
    padding: 8px 10px 16px 10px;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.panel-default {
    border-color: transparent;
}
.panel-default > .panel-heading {
  color: var(--gris-claro-3-color);
  background-color: transparent;
  border: none;
}

.panel-group .panel-heading + .panel-collapse > .panel-body, .panel-group .panel-heading + .panel-collapse > .list-group {
    border-top: 3px solid var(--secondary-color);
 }

 /* f) Partners */

.section-grey.sponsors-padding {
    padding: 25px 0 25px 0;
}

.sponsors{
	text-align: center;
}

.sponsors img.sponsor {
    opacity: 0.4;
    margin: 10px 25px;
    max-height: 28px;
    -webkit-transition: all 0.25s ease-in-out;
    -moz-transition: all 0.25s ease-in-out;
    -ms-transition: all 0.25s ease-in-out;
    -o-transition: all 0.25s ease-in-out;
    transition: all 0.25s ease-in-out;
}

.sponsors img.sponsor:hover {
    opacity: 0.8;
}

.partners-title{
	display: inline-block;
	font-size: 18px;
	line-height: 26px;
	margin-right: 30px;
	color: var(--texto-color);
}

/* ----- g) Fun Facts ----- */

.fun-facts-box{
	display: inline-block;
	width:19%;
	padding:10px;
}

.fun-facts-title{
	font-size:16px;
	font-weight:400;
	color:var(--texto-color);
	font-style:italic;
}

.fun-facts-title span{
	font-size:32px;
	line-height:40px;
	font-weight:600;
	font-style:normal;
	color:var(--gris-oscuro-color);
}

.fun-facts-box i,
.fun-facts-box svg {
	font-size:45px;
	line-height:54px;
	color: var(--primary-color);
}

.fun-facts-box svg * {
	fill: url(#rg);
}

/* h) PopUp Video */

.youtube-video-wrapper{
	background: url(../images/image-section.jpg) top center no-repeat;
	background-size: initial;
	padding: 160px 0;
	position: relative;
	text-align: center;
}

.youtube-video-icon {
	width: 100px;
	height: 100px;
	border:2px solid var(--white-color);
	border-radius: 50% 50%;
	display: inline-block;
	background: var(--white-color);
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
	display: flex;
	justify-content: center;
	align-items: center;
}

.youtube-video-icon:hover{
	background: var(--primary-color);
	border: 2px solid var(--primary-color);
}

.youtube-video-icon:hover i,
.youtube-video-icon:hover svg {
	color: var(--white-color);
}

.youtube-video-icon i,
.youtube-video-icon svg {
	font-size: 60px;
	line-height: 100px;
	color:var(--primary-color);
	margin-left: 10px;
	transition: all 0.4s ease-in-out;
    -webkit-transition: all 0.4s ease-in-out;
}

/* i) Features List */

.no-padding-bottom{
	padding-bottom: 0;
}

ul.features-list-hero{
	display: inline-block;
	margin-bottom: 25px;
}

ul.features-list-hero li{
	float:left;
	margin:8px 0;
	color:var(--white-color);
	font-size:16px;
	line-height:26px;
}

ul.features-list-hero li i{
	float:left;
	padding-right: 20px;
	color:var(--white-color);
	font-size:42px;
	line-height: 46px;
	vertical-align: text-top;
}

/* ========================================================== */
/* 			          13. MASAGE SERVICE SPECIFIC STYLES      */
/* ========================================================== */

/* Logo Styles */
.logo-container {
    display: flex;
    align-items: center;
    gap: 10px;
}

.logo-container i {
    font-size: 24px;
    color: var(--primary-color);
}

.logo-text {
    font-size: 16px;
    font-weight: 700;
    color: var(--white-color);
}

.fixed-top.opaque .logo-text {
    color: var(--gris-oscuro-color);
}

.fixed-top.opaque .logo-container i {
    color: var(--primary-color);
}

/* Navbar Toggler (Hamburger Menu) */
.navbar-toggler {
    border: 2px solid var(--white-color);
    padding: 4px 8px;
    background: transparent;
    transition: all 0.3s ease;
}

.navbar-toggler:focus {
    box-shadow: none;
}

.navbar-toggler .navbar-toggler-icon {
    background-image: none;
    width: 20px;
    height: 2px;
    background-color: var(--white-color);
    display: block;
    position: relative;
    transition: all 0.3s ease;
}

.navbar-toggler .navbar-toggler-icon::before,
.navbar-toggler .navbar-toggler-icon::after {
    content: '';
    position: absolute;
    width: 20px;
    height: 2px;
    background-color: var(--white-color);
    left: 0;
    transition: all 0.3s ease;
}

.navbar-toggler .navbar-toggler-icon::before {
    top: -6px;
}

.navbar-toggler .navbar-toggler-icon::after {
    bottom: -6px;
}

/* Navbar Toggler when opaque (scrolled) */
.fixed-top.opaque .navbar-toggler {
    border-color: var(--gris-oscuro-color);
}

.fixed-top.opaque .navbar-toggler .navbar-toggler-icon,
.fixed-top.opaque .navbar-toggler .navbar-toggler-icon::before,
.fixed-top.opaque .navbar-toggler .navbar-toggler-icon::after {
    background-color: var(--gris-oscuro-color);
}

/* Navbar Collapse (Mobile Menu) */
.navbar-collapse {
    background-color: rgba(255, 255, 255, 0.95);
    margin-top: 10px;
    border-radius: 8px;
    padding: 20px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.fixed-top.opaque .navbar-collapse {
    background-color: var(--white-color);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.navbar-collapse .navbar-nav .nav-item:last-child {
    margin-bottom: 0;
}

.navbar-collapse .navbar-nav .nav-item a {
    padding: 15px 20px !important;
    font-size: 16px !important;
    border-radius: 6px;
    transition: all 0.3s ease;
    display: block;
    text-align: center;
    color: var(--gris-oscuro-color) !important;
    font-weight: 500;
}

.fixed-top .navbar-nav > li > a.discover-btn {
    color: var(--white-color) !important;
}

.navbar-collapse .navbar-nav .nav-item a:hover {
    background-color: var(--primary-color);
    color: var(--white-color) !important;
    transform: translateY(-2px);
}

/* Phone number in mobile menu */
.navbar-collapse .phone-number a {
    background-color: var(--primary-color) !important;
    color: var(--white-color) !important;
    border: none !important;
    padding: 18px 25px !important;
    font-weight: 600;
    margin-top: 10px;
}

.navbar-collapse .phone-number a:hover {
    background-color: var(--secondary-color) !important;
    transform: translateY(-2px);
}

/* Logo imagen en navbar */
.navbar-logo {
    height: 60px;
    width: auto;
    display: block;
    transition: all 0.3s ease;
}

.fixed-top.opaque .navbar-logo {
    height: 60px;
}

/* Phone Number in Navigation - Estilos consolidados más abajo en línea 2883 */

/* WhatsApp Button Styles */
.whatsapp-btn {
    background: #25D366 !important;
    color: var(--white-color) !important;
    border: none !important;
    padding: 16px 30px !important;
    border-radius: 50px !important;
    font-weight: 600 !important;
    text-transform: none !important;
    transition: all 0.3s ease !important;
}

.whatsapp-btn:hover {
    background: #128C7E !important;
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(37, 211, 102, 0.4);
}

.whatsapp-btn i {
    margin-right: 8px;
    font-size: 18px;
}

/* Floating WhatsApp Button */
.whatsapp-float {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 1000;
}

.whatsapp-link {
    display: block;
    width: 60px;
    height: 60px;
    background: #25D366;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white-color);
    font-size: 28px;
    box-shadow: 0 4px 12px rgba(37, 211, 102, 0.4);
    transition: all 0.3s ease;
    animation: pulse 2s infinite;
}

.whatsapp-link:hover {
    background: #128C7E;
    transform: scale(1.1);
    color: var(--white-color);
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(37, 211, 102, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

/* Service Cards */
.service-card {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 20px;
    height: 400px;
    position: relative;
    overflow: hidden;
    margin-bottom: 30px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
}

.service-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 20px;
    transition: all 0.3s ease;
}

.service-card:hover::before {
    background: rgba(0, 0, 0, 0.3);
}

.service-relajante {
    background-image: url('../images/relajante.png');
}

.service-deportivo {
    background-image: url('../images/deportivo.png');
}

.service-terapeutico {
    background-image: url('../images/terapeutico.png');
}

.service-content {
    position: relative;
    z-index: 2;
    padding: 40px 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
}

.service-card h3 {
    color: var(--white-color);
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 20px;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.service-card p {
    color: var(--white-color);
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 30px;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.service-features {
    display: flex;
    gap: 60px;
    align-items: center;
    width: 100%;
    justify-content: center;
}

.feature-item {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--white-color);
    font-size: 16px;
    font-weight: 500;
}

.feature-icon {
    width: 20px;
    height: 20px;
    filter: brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.5));
}

.feature-text {
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

/* Services Section Spacing */
.services-spacing {
    height: 50px;
}

/* Booking Section Specific Styles */
.booking-section {
    background: var(--linealmain, linear-gradient(286deg, var(--Color-main-oscuro, #03415C) 1.52%, var(--Color-main, #6EBACA) 66.8%));
    padding: 80px 0;
}

.booking-image-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
}

.booking-image {
    max-width: 100%;
}

.booking-title {
    font-size: 36px;
    font-weight: 700;
    color: var(--white-color);
    margin-bottom: 25px;
    line-height: 1.2;
}

.booking-description {
    font-size: 18px;
    color: var(--white-color);
    margin-bottom: 35px;
    line-height: 1.6;
    opacity: 0.95;
}

.booking-features {
    list-style: none;
    padding: 0;
    margin: 0 0 40px 0;
}

.booking-features li {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--white-color);
}

.booking-features li svg {
    color: var(--white-color);
    font-size: 18px;
    margin-right: 5px;
    margin-top: 2px;
    flex-shrink: 0;
}

.btn-booking {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background: var(--white-color);
    color: var(--gris-oscuro-color);
    padding: 18px 35px;
    border-radius: 8px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3);
}

.btn-booking:hover {
    background: var(--dark-color);
    color: var(--white-color);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(3, 65, 92, 0.4);
}

.btn-booking i {
    font-size: 18px;
}

/* Footer Styles */
.footer-logo {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin-bottom: 0;
}

.footer-logo i {
    font-size: 24px;
    color: var(--primary-color);
}

.footer-logo span {
    font-size: 18px;
    font-weight: 700;
    color: var(--gris-claro-2-color);
}

/* Logo imagen en footer */
.footer-logo-img {
    height: 60px;
    width: auto;
    display: block;
    margin: 0;
}

/* Footer copyright section */
.footer-copyright-section {
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.footer-links {
    display: flex;
    justify-content: center;
    gap: 30px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}

.footer-links a {
    color: var(--gris-claro-3-color);
    text-decoration: none;
    font-size: 14px;
    transition: color 0.3s ease;
}

.footer-links a:hover {
    color: var(--primary-color);
}

/* Benefits Section Check Icons */
.features-list-dark .fa-check {
    color: var(--accent-color) !important;
    font-weight: bold;
}

/* Benefits Section Specific Styles */
.benefits-image-container {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 20px;
}

.benefits-image {
    object-fit: cover;
    transition: transform 0.3s ease;
	max-width:100%;
}

.benefits-image:hover {
    transform: scale(1.05);
}

.benefits-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--gris-oscuro-color);
    margin-bottom: 20px;
    line-height: 1.2;
}

.benefits-subtitle {
    font-size: 18px;
    margin-bottom: 30px;
    font-weight: 400;
}

.benefits-list {
    list-style: none;
    padding: 0;
    margin: 0 0 40px 0;
}

.benefits-list li {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.6;
    color: var(--texto-color);
}

.benefits-list li svg {
    color: var(--primary-color);
    font-size: 18px;
    margin-right: 5px;
    margin-top: 2px;
    flex-shrink: 0;
}

.benefits-list li strong {
    color: var(--gris-oscuro-color);
    font-weight: 600;
}

.btn-benefits {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: var(--primary-color) !important;
    color: var(--white-color);
    padding: 16px 30px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 600;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(110, 186, 202, 0.3);
}

.btn-benefits:hover {
    background: var(--dark-color) !important;
    color: var(--white-color);
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(110, 186, 202, 0.4);
}

.btn-benefits i {
    font-size: 18px;
}

/* Hero Section Overlay */
.home-section-overlay {
    background: var(--dark-color);
    background: -webkit-linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.4) 50%, var(--primary-color) 100%);
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.4) 50%, var(--primary-color) 100%);
    opacity: 0.8;
}

/* Section Gradient Updates */
.section-gradient {
    background: var(--linealmain, linear-gradient(286deg, var(--Color-main-oscuro, #03415C) 1.52%, var(--Color-main, #6EBACA) 66.8%));
}


/* About Box Icons */
.about-box i {
    color: var(--primary-color) !important;
    background: -webkit-linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    background: -o-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: -moz-linear-gradient(bottom right, var(--primary-color), var(--secondary-color));
    background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


/* =========================
   BOTÓN TELÉFONO (solo móvil/tablet)
   ========================= */
.btn.btn-call {
  display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .4rem;
    border-radius: 5px 5px;
    padding: 8px 24px !important;
    background-color: var(--primary-color);
    color: var(--white-color);
    font-weight: 600;
    font-size: 15px;
    line-height: 30px;
    text-decoration: none;
    border: none;
    transition: background-color .25s ease, transform .1s ease;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.15);
}

/* Icono */
.btn.btn-call i {
  font-size: 1rem;
  line-height: 1;
}

/* Hover / focus / active */
.btn.btn-call:hover {
  background-color: color-mix(in srgb, var(--primary-color) 85%, black);
  text-decoration: none;
}
.btn.btn-call:active {
  transform: scale(0.96);
}
.btn.btn-call:focus-visible {
  outline: 2px solid var(--primary-color);
  outline-offset: 2px;
}

/* Asegura que solo se muestre en móvil/tablet */
@media (min-width: 992px) {
  .btn.btn-call {
    display: none !important;
  }
}


/* ========================================================== */
/* 			             12. MEDIA QUERIES                    */
/* ========================================================== */

@media (min-width: 992px) {
  nav.navbar.navbar-expand-lg.navbar-default.fixed-top .container {
    background-color: rgba(255, 255, 255, 0.75);
    margin-top: 10px;
    border-radius: 8px;
    padding: 5px 15px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    transition: all 0.3s ease;
  }

  /* Limpia estilos en navbar-collapse (por si vienen heredados) */
  .navbar-collapse {
    background: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin-top: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 991px) {
	
	nav.navbar.navbar-expand-lg.navbar-default.fixed-top.opaque .container {
	margin: 0 12px;
	border-radius:12px;
}

	.hero-picture{
		margin-bottom:0;
	}

	.navbar-fixed-top.opaque {
	    padding: 10px 0 10px 0;
	}

	.navbar-toggler {
	    border-color: var(--white-color) !important;
		height: 40px;
    	width: 40px;
	}

	.navbar-toggler .navbar-toggler-icon,
	.navbar-toggler .navbar-toggler-icon::before,
	.navbar-toggler .navbar-toggler-icon::after {
	    background-color: var(--white-color) !important;
	}

	.fixed-top.opaque .navbar-toggler {
	    border-color: var(--gris-oscuro-color) !important;
	}

	.fixed-top.opaque .navbar-toggler .navbar-toggler-icon,
	.fixed-top.opaque .navbar-toggler .navbar-toggler-icon::before,
	.fixed-top.opaque .navbar-toggler .navbar-toggler-icon::after {
	    background-color: var(--gris-oscuro-color) !important;
	}

}

@media (max-width: 767px) {

	.home-section {
		padding-top: 150px;
	  	padding-bottom: 50px;
	}
    
    .home-title h1{	
		font-size: 40px;
		line-height: 50px;
		padding: 30px 35px;
	}

	.home-title span{
		font-size: 24px;
		line-height: 30px;
	}

	.home-title p{
		margin-bottom:30px!important;
	}

}

@media (max-width: 767px) {
	.benefits-image {
		height: 280px;
	}
	
	.benefits-title {
		font-size: 28px;
		text-align: center;
	}
	
	.benefits-subtitle {
		text-align: center;
	}
	
	.benefits-list {
		text-align: left;
	}
	
	.btn-benefits {
		width: 100%;
		justify-content: center;
	}
	
	/* Service Cards Responsive */
	.service-card {
		height: 350px;
		margin-bottom: 20px;
	}
	
	.service-content {
		padding: 30px 20px;
	}
	
	.service-card h3 {
		font-size: 24px;
		margin-bottom: 15px;
	}
	
	.service-card p {
		font-size: 15px;
		margin-bottom: 25px;
	}
	
	.feature-item {
		font-size: 15px;
	}
	
	.feature-icon {
		width: 18px;
		height: 18px;
	}
}

@media (max-width: 375px) {

	.navbar-toggle {
	    margin-bottom: 0;
	    border: 1px solid var(--gris-claro-3-color)!important;
	}

	.navbar-toggler {
	    border-color: var(--white-color) !important;
	}

	.navbar-toggler .navbar-toggler-icon,
	.navbar-toggler .navbar-toggler-icon::before,
	.navbar-toggler .navbar-toggler-icon::after {
	    background-color: var(--white-color) !important;
	}

	.fixed-top.opaque .navbar-toggler {
	    border-color: var(--gris-oscuro-color) !important;
	}

	.fixed-top.opaque .navbar-toggler .navbar-toggler-icon,
	.fixed-top.opaque .navbar-toggler .navbar-toggler-icon::before,
	.fixed-top.opaque .navbar-toggler .navbar-toggler-icon::after {
	    background-color: var(--gris-oscuro-color) !important;
	}
	
  	.owl-carousel .owl-item img{
  		width: 80%!important;
  		margin: 0 10%;
  	}

	.fun-facts-box{
		width:48%!important;
	}

	#newsletter-form #email_newsletter {
	    -moz-border-radius: 5px 5px 5px 5px!important;
	    -webkit-border-radius: 5px 5px 5px 5px!important;
	    border-radius: 5px 5px 5px 5px!important;
	}

	#newsletter-form #submit-button-newsletter {
	    display: inline-block;
		margin-top:10px!important;
	    -moz-border-radius: 5px 5px 5px 5px!important;
	    -webkit-border-radius: 5px 5px 5px 5px!important;
	    border-radius: 5px 5px 5px 5px!important;
	}

	.extra-image {
	    margin-bottom: -140px!important;
	}

	/* Responsive adjustments for benefits section */
	.benefits-image {
		width: 250px;
		height: 250px;
	}
	
	.benefits-title {
		font-size: 24px;
	}
	
	.benefits-list li {
		font-size: 15px;
	}
	
	/* Service Cards Mobile */
	.service-card {
		height: 320px;
	}
	
	.service-content {
		padding: 25px 15px;
	}
	
	.service-card h3 {
		font-size: 22px;
		margin-bottom: 12px;
	}
	
	.service-card p {
		font-size: 14px;
		margin-bottom: 20px;
	}
	
	.feature-item {
		font-size: 14px;
		gap: 8px;
	}
	
	.feature-icon {
		width: 16px;
		height: 16px;
	}
	
	/* Booking Section Mobile */
	.booking-section {
		padding: 60px 0;
	}
	
	.booking-image {
		width: 300px;
		height: 300px;
	}
	
	.booking-title {
		font-size: 28px;
		text-align: center;
	}
	
	.booking-description {
		text-align: center;
		font-size: 16px;
	}
	
	.booking-features {
		text-align: left;
	}
	
	.btn-booking {
		width: 100%;
		justify-content: center;
	}

}

@media (max-width: 320px) {

	.newsletter-input {
		width: 60%;		
	}

	.btn-newsletter{
  		width: 38%;
  		margin-top: 12px;
  	}

}

/* ========================================================== */
/* 			    ESTILOS ESPECÍFICOS DEL SISTEMA SYMFONY       */
/* ========================================================== */

/* --- TIPOGRAFÍAS SISTEMA --- */

@font-face {
	font-family: 'Roboto'; src: url('/fonts/Roboto-Regular.woff2') format('woff2');
    font-weight: 400; font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Roboto'; src: url('/fonts/Roboto-Bold.woff2') format('woff2');
    font-weight: 700; font-style: normal;
	font-display: swap;
}

/* --- MODALES SISTEMA --- */

body { 
	padding-right: 0 !important;
}

.modal-dialog.modal-dialog-centered {
    max-width: 100vw;
    width: 1000px;
}

footer button.link {
    background: transparent;
    color: var(--white-color);
    border: 0;
    font-size: 16px;
	margin-top: -2px;
	padding: 0;
	cursor: pointer;
}

footer button.link:hover,
footer a.edit-cookieconsent-settings:hover {
	color: var(--primary-color);
}

footer button.link:focus {
    box-shadow: 0 0 0 0rem transparent;
	outline: none;
}

footer button.link:after,
footer a.edit-cookieconsent-settings:after {
    content: "|";
    display: inline-block;
    padding: 0 15px;
}

footer button.link:last-child:after {
	content: "";
	padding: 0;
}

footer button.link:hover::after,
footer a.edit-cookieconsent-settings:hover::after {
	color: var(--gris-claro-3-color);
}

footer button.btn-primary:not(:disabled):not(.disabled).active:focus,
footer button.btn-primary:not(:disabled):not(.disabled):active:focus,
footer button.show>.btn-primary.dropdown-toggle:focus {
    box-shadow: 0 0 0 0.2rem transparent;
}

footer button.btn-primary:not(:disabled):not(.disabled).active,
footer button.btn-primary:not(:disabled):not(.disabled):active,
footer button.show>.btn-primary.dropdown-toggle {
    color: var(--white-color);
    background-color: transparent;
    border-color: transparent;
}

.modal-header {
	background: var(--primary-color);
	color: var(--white-color);
}

.modal-header .modal-title {
	color: var(--white-color);
	font-weight: 600;
}

.modal-header .btn-close {
	filter: brightness(0) invert(1);
}

/* --- FORMULARIOS SISTEMA --- */

.form_box form {
	text-align: left;
	margin-top: 1em;
}

.form_box .form label {
	width: 100%;
	margin-bottom: 0.3em;
	font-weight: 500;
	color: var(--texto-color);
}

.form_box .form input[type="text"],
.form_box .form input[type="email"],
.form_box .form input[type="tel"] {
	width: 100%;
	padding: 0.5em 1em;
    font-size: 1em;
	border: 1px solid var(--gris-claro-3-color);
	border-radius: 5px;
}

.form_box .form textarea {
	width: 100%;
	padding: 0.5em 1em;
    font-size: 1em;
	border: 1px solid var(--gris-claro-3-color);
	border-radius: 5px;
}

.form_box input:focus,
.form_box textarea:focus {
	outline: 2px solid var(--primary-color);
	border-color: var(--primary-color);
}

.form_box::placeholder,
.form_box:-ms-input-placeholder{
	color: #b2b2b2;
	font-size: 1em;
	padding: 5px;
}

.form_box .check input[type="checkbox"],
.form_box .check label{
	display: inline-block;
	width: auto;
}

.form_box .check label{
	padding-left: 0.5em;
}

.form_box li.check input:focus {
	outline: none;
}

.form_box .wildcard{
	color: red;
    font-size: 1em;
    padding-left: 3px;
    vertical-align: top;
}

/* - Verificación formulario  - */

.form_box label.error,
#contact-form > ul > li.check > label.error {
	color: #c40000;
	margin: 5px;
	font-weight: 500;
}

.form_box .sms_ok {
	font-size: 16px;
	line-height: 20px;
	font-weight: 400;
	padding: 30px 30px 50px 30px;
}

.form_box .sms_ok h5 {
	color: var(--texto-color);
	font-weight: 700;
	margin-bottom: 15px;
}

.sms_ok .tpv_response_code{
    background: #c4e8c4;
    padding: 1em 2em;
    color: #234423;
    font-size: 0.9em;
	border-radius: 5px;
}

.sms_ko .tpv_response_code{
    background: #e8c4c4;
    padding: 1em 2em;
    color: #981414;
    font-size: 0.9em;
	border-radius: 5px;
}

/* --- FOOTER SISTEMA --- */

.footer .copyright {
	font-size: 16px;
	color: var(--white-color);
	margin-bottom: 0;
}

.footer .footer-list {
	display: flex;
	justify-content: center;
	gap: 30px;
	margin-bottom: 0;
	flex-wrap: wrap;
	list-style: none;
	padding: 0;
}

.footer .footer-list li {
	display: inline-block;
	margin: 0;
}

/* - Firma Idento - */ 

.wrapper-idento {
    display: inline-block;
    vertical-align: middle;
}

.firma-idento {
    background: url(/images/logo-idento.svg);
    width: 20px;
    height: 20px;
    background-repeat: no-repeat;
    display: inline-block;
    background-size: 53px;
    margin: 0;
    transition: width 0.3s;
    margin-top: 0px;
	vertical-align: middle;
}

.firma-idento.white {
    background-image: url(/images/idento_neg.svg);
}

.firma-idento:hover {
    width: 53px;
}


/* Miel - Campo oculto anti-spam */

#contact-form #mail,
#contact-form2 #mail{
	visibility: hidden;
	position: absolute;
	opacity: 0;
	left: -100vw;
}

/* --- IFRAMES DE MODALES --- */

iframe.embed-responsive-item {
    width: 100%;
    height: 80vh;
	border: none;
}

.embed-responsive {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	overflow: hidden;
}

.embed-responsive-16by9::before {
	padding-top: 56.25%;
}

.embed-responsive-item {
	/*position: absolute;*/
	top: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

/* --- CONTENIDO LEGAL --- */

.content-legal {
    padding: 2.5rem;
    font-family: 'Roboto', sans-serif;
    background-color: var(--white-color);
    color: var(--texto-color);
    line-height: 1.6;
}

/* Títulos */
.content-legal h1 {
    font-family: 'Roboto', sans-serif;
    font-size: 32px;
    line-height: 1.3;
    font-weight: 700;
    color: var(--gris-oscuro-color);
    margin-bottom: 1.5rem;
    margin-top: 0;
    padding-bottom: 0.5rem;
    border-bottom: 3px solid var(--primary-color);
}

.content-legal h2,
.content-legal .h2 {
    font-family: 'Roboto', sans-serif;
    font-size: 24px;
    line-height: 1.4;
    font-weight: 700;
    color: var(--gris-oscuro-color);
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.content-legal h3,
.content-legal .h3 {
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    line-height: 1.4;
    font-weight: 600;
    color: var(--gris-oscuro-color);
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
}

.content-legal .h2:after {
    display: none;
}

/* Párrafos */
.content-legal p {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: var(--texto-color);
    margin-bottom: 1rem;
}

.content-legal p strong {
    font-weight: 600;
    color: var(--gris-oscuro-color);
}

/* Enlaces */
.content-legal a {
    color: var(--primary-color);
    text-decoration: underline;
    transition: color 0.3s ease;
    word-break: break-word;
}

.content-legal a:hover {
    color: var(--secondary-color);
    text-decoration: none;
}

/* Listas */
.content-legal ul {
    padding-left: 2.5rem;
    margin-bottom: 1.5rem;
}

.content-legal ul li {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: var(--texto-color);
    list-style: disc;
    margin-bottom: 0.5rem;
}

.content-legal ol {
    padding-left: 2.5rem;
    margin-bottom: 1.5rem;
}

.content-legal ol li {
    font-family: 'Open Sans', sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: var(--texto-color);
    margin-bottom: 0.5rem;
}

/* Tablas */
.content-legal table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 1.5rem;
}

.content-legal table td {
    border: 1px solid var(--gris-claro-3-color);
    padding: 0.75rem;
    font-size: 15px;
}

.content-legal table th {
    border: 1px solid var(--gris-claro-3-color);
    padding: 0.75rem;
    font-weight: 600;
    background-color: var(--gris-claro-color);
    color: var(--gris-oscuro-color);
}

.content-legal table p {
    margin-bottom: 0;
}

/* Elementos especiales */
.content-legal em {
    font-style: italic;
    color: var(--texto-gris-color);
}

.content-legal .cookie-change {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: var(--primary-color);
    color: var(--white-color);
    border-radius: 8px;
    cursor: pointer;
    transition: background 0.3s ease;
    text-decoration: none;
}

.content-legal .cookie-change:hover {
    background: var(--secondary-color);
}

/* --- AJUSTES ESPECÍFICOS PARA NAVEGACIÓN CON TELÉFONO --- */

/* Contenedor del número de teléfono */
.phone-number {
	padding: 0 !important;
}

/* Enlaces dentro del número de teléfono */
.navbar-nav .phone-number a {
	color: var(--white-color) !important;
	text-decoration: none;
	transition: all 0.3s ease;
	font-weight: 600;
	font-size: 14px !important;
}

.fixed-top.opaque .navbar-nav .phone-number a {
	color: var(--gris-oscuro-color) !important;
}

.navbar-nav .phone-number a:hover {
	color: var(--primary-color) !important;
}

.navbar-nav .phone-number a i {
	margin-right: 5px;
}

/* --- SELECTOR DE IDIOMA (LANGUAGE SWITCHER) --- */

.language-selector {
	padding: 0 !important;
	margin: 0 10px;
	display: flex;
	align-items: center;
}

.lang-switcher {
	display: flex;
	align-items: center;
	gap: 3px;
	background: none !important;
	padding: 0;
}

.lang-link {
	color: var(--white-color) !important;
	text-decoration: none;
	font-weight: 400;
	font-size: 13px !important;
	padding: 2px 6px;
	transition: all 0.2s ease;
	border-radius: 3px;
	display: inline-block;
	opacity: 0.7;
}

.fixed-top.opaque .navbar-nav .lang-link {
	color: var(--gris-oscuro-color) !important;
	opacity: 0.6;
}

.lang-link:hover {
	color: var(--primary-color) !important;
	opacity: 1;
	background-color: transparent;
}

.lang-link.active {
	color: var(--primary-color) !important;
	font-weight: 600;
	background-color: transparent;
	opacity: 1;
}

.fixed-top.opaque .navbar-nav .lang-link.active {
	color: var(--primary-color) !important;
	opacity: 1;
}

.lang-separator {
	color: var(--white-color);
	font-weight: 300;
	font-size: 13px;
	opacity: 0.4;
	padding: 0 2px;
}

.fixed-top.opaque .navbar-nav .lang-separator {
	color: var(--gris-oscuro-color);
	opacity: 0.3;
}

/* Mobile language selector */
.navbar-collapse .language-selector {
	margin: 8px;
	padding: 0 !important;
	justify-content: center;
}

.navbar-collapse .lang-switcher {
	justify-content: center;
	background: none !important;
	padding: 0;
}

.navbar-collapse .lang-link {
	color: var(--gris-oscuro-color) !important;
	padding: 4px 10px;
	opacity: 0.7;
}

.navbar-collapse .lang-link:hover {
	background-color: transparent;
	color: var(--primary-color) !important;
	opacity: 1;
}

.navbar-collapse .lang-link.active {
	background-color: transparent;
	color: var(--primary-color) !important;
	opacity: 1;
}

.navbar-collapse .lang-separator {
	color: var(--gris-oscuro-color);
	opacity: 0.3;
}

/* --- RESPONSIVE SISTEMA --- */

@media only screen and (max-width: 991px) {
	.modal-dialog.modal-dialog-centered {
		max-width: 90vw;
		width: 90%;
	}
}

@media only screen and (max-width: 767px) {
	.content-legal {
		padding: 1.5rem;
	}
	
	.content-legal h1 {
		font-size: 26px;
		margin-bottom: 1rem;
		padding-bottom: 0.5rem;
	}
	
	.content-legal h2,
	.content-legal .h2 {
		font-size: 20px;
		line-height: 1.4;
		margin-top: 1.5rem;
		margin-bottom: 0.75rem;
	}
	
	.content-legal h3,
	.content-legal .h3 {
		font-size: 18px;
		font-weight: 600;
		line-height: 1.4;
		margin-top: 1.25rem;
		margin-bottom: 0.5rem;
	}
	
	.content-legal p,
	.content-legal li {
		font-size: 14px;
		line-height: 1.6;
	}
	
	.content-legal a {
		word-break: break-word;
	}
	
	.content-legal ul,
	.content-legal ol {
		padding-left: 1.5rem;
		margin-bottom: 1rem;
	}
	
	.content-legal table td,
	.content-legal table th {
		padding: 0.5rem;
		font-size: 13px;
	}
	
	/* MODAL */
	.modal-dialog.modal-dialog-centered {
		max-width: 100vw;
		width: 100%;
		height: 100%;
		margin: 0;
	}
	
	footer .modal-header {
		align-items: center;
	}
	
	footer button.link {
		display: block;
		margin-bottom: 5px;
	}
	
	footer .modal-title {
		font-size: 16px;
	}
	
	footer button.link:after {
		display: none;
	}
	
	footer .modal-content {
		height: 70%;
	}
	
	footer .modal-content .embed-responsive {
		height: 100%;
	}

	.navbar-nav .phone-number {
		padding: 0 !important;
	}

	.footer .footer-list {
		flex-direction: column;
		align-items: center;
		gap: 15px;
	}

	.footer .footer-list li {
		margin-bottom: 10px;
	}

	/* Footer responsive layout */
	.footer .row > div {
		text-align: center !important;
		margin-bottom: 20px;
	}

	.footer-copyright-section {
		justify-content: center !important;
	}

	.footer-logo {
		justify-content: center !important;
	}

	/* Mobile Menu Improvements */
	.navbar-collapse {
		padding: 25px 20px;
		margin-top: 15px;
	}

	.navbar-collapse .navbar-nav .nav-item a {
		padding: 18px 25px !important;
		font-size: 18px !important;
		margin-bottom: 10px;
	}

	.navbar-collapse .phone-number a {
		padding: 20px 30px !important;
		font-size: 18px !important;
		margin-top: 15px;
	}
	
	.home-section {
		background-image: url("../images/hero-bg-mobile.png");
	  }
	
	header .btn.btn-call {
		width: 50px;
		height: 50px;
		border-radius: 100px;
		& i {
			font-size:20px;
		}
	}
}
