/*
Theme Name:     Neve
Theme URI:      https://themeisle.com/themes/neve/
Author:         ThemeIsle
Author URI:     https://themeisle.com
Tested up to:   6.2
Requires PHP:   7.0
Requires at least: 5.5
Description:    Neve is a next-generation, ultra-fast WordPress theme designed for top performance, SEO, and Core Web Vitals. Its lightweight codebase and small size ensure minimal overhead and lightning-fast load times. Fully compatible with the block editor, popular page builders (Elementor, Bricks, Oxygen etc), and WooCommerce, it’s perfect for blogs, small businesses, agencies, portfolios, and online stores. With responsive design, multilingual translations, and easy customization options, Neve empowers you to create a future-proof, high-ranking online presence. Discover everything Neve has to offer and explore our powerful premium version at https://themeisle.com/themes/neve/.
Version:        4.0.1
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:    neve
Pro Slug:  			neve-pro-addon
AMP: 						true
WordPress Available:  yes
Requires License:     no
Tags: blog, custom-logo, e-commerce, rtl-language-support, grid-layout, one-column, two-columns, custom-background, custom-colors, custom-header, custom-menu, featured-image-header, featured-images, flexible-header, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, accessibility-ready, wide-blocks, block-styles, footer-widgets, portfolio, left-sidebar, right-sidebar
*/


/* aqui empieza el gestor de reserva */

        .multi-step-container {
            display: flex;
            flex-direction: row; /* Por defecto, la sidebar estará a la izquierda */
            flex-wrap: nowrap; /* Evita que los elementos se muevan de línea */
            padding: 5px;
        }
        .multi-step-sidebar {
            width: 15%;
            padding: 10px;
            background-color: #000000;
            color: white;
            font-size: 12px;
            border-radius: 8px 0 0 8px;
            border-left: 2px solid #AD954F; 
        }

        /* ------------------------- Seccion de resumen ---------------------------*/
        .multi-step-resumen {
            width: 35%;
            min-width: 380px;
            box-sizing: border-box;
            padding: 20px;
            min-width: 380px;
            background-color: #fff;
            /*background: linear-gradient(135deg, #f9fafb, #AD954F);*/
            color: rgb(3, 3, 3);
            border-radius: 0 8px 8px 0;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            text-align: left;
            border-left: 2px solid #AD954F; 
            order: 3; /* Se mantiene a la derecha */
        }
        .multi-step-resumen h5 {
            font-size: 16px;
            text-align: center;
         
            letter-spacing: 1px;
            padding-bottom: 10px;
            margin-bottom: 15px;
            margin-top: 10px;
        }
        .multi-step-resumen p {
            font-size: 12px;
            margin: 8px 0;
            display: flex;
            align-items: center;
            font-family: 'Montserrat', sans-serif;
        }

        .multi-step-resumen p strong {
            width: 130px; /* Asegura alineación */
            display: inline-block;
        }

        .multi-step-resumen span {
            color: #000000; /* Amarillo dorado para destacar */
            font-size: 11px;
        }
        /* Íconos decorativos */
        .multi-step-resumen p::before {
            content: "⭐";
            margin-right: 5px;
            font-size: 12px;
        }


        /* Botón de finalizar reserva */
        .finalize-reservation {
            width: 100%;
            margin-top: 15px;
            padding: 12px;
            background-color: #AD954F;
            color: white;
            font-size: 12px;
            border: none;
            cursor: pointer;
            border-radius: 6px;
            font-family: 'Montserrat', sans-serif;
            font-weight: bold;
            transition: 0.3s;
        }

        .finalize-reservation:hover {
            background-color: #000000;
        }


        /* ------------------------- fin de resumen ---------------------------*/

        .multi-step-step {
            padding: 10px 0;
            cursor: pointer;
            border-bottom: 1px solid #000000;
        }
        .multi-step-step.active {
            font-weight: bold;

            color: #AD954F; /* Custom color */
        }
        .multi-step-content {
            width: 50%;
            background-color: white;
            padding: 30px;

            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            order: 2; /* Se mantiene al centro */
        }
        .multi-step-content h2{
            font-size: 24px;

        }
        .multi-step-form-group {
            margin-bottom: 10px;
        }
        .multi-step-form {
            display: flex;
            flex-wrap: wrap;
            gap: 20px;
        }

        #extra-services select{
            width: 100%;
            padding: 10px;
            border: 1px solid #AD954F; /* Borde con color personalizado */
            border-radius: 5px;
            font-size: 12px;
            background-color: #fff;
            color: #333;
            cursor: pointer;
            transition: all 0.3s ease-in-out;
            font-family: 'Montserrat', sans-serif;
        }
        .multi-step-form-group select, #dropdown-people-container select {
            width: 100%;
            padding: 10px;
            border: 1px solid #AD954F; /* Borde con color personalizado */
            border-radius: 5px;
            font-size: 12px;
            background-color: #fff;
            color: #333;
            cursor: pointer;
            transition: all 0.3s ease-in-out;
            font-family: 'Montserrat', sans-serif;
        }
        label {
            font-weight: 600;
            font-size: 14px;
            color: #34495e;
        }
        .multi-step-form label{
            display: block;
            font-size: 14px;
            color: #34495e;
        }
        .multi-step-form-group input:focus {
            border-color: #AD954F;
            outline: none;
            box-shadow: 0 0 5px rgba(39, 174, 96, 0.5);
        }
        input, select {
            width: 100%;
            padding: 10px;
            margin-top: 5px;
            border-radius: 5px;
            border: 1px solid #ccc;
            box-sizing: border-box;
            font-size: 12px;
            transition: 0.3s;
        }
        .calendar-wrapper {
            display: flex;
            justify-content: space-between;
            gap: 20px; /* Espacio entre los elementos */
            align-items: center;
        }
        .date-container, .time-container {
            display: flex;
            flex-direction: column; /* Apila label e input/select */
            width: 50%; /* Ambos ocupan el mismo ancho */
        }
        .time-selector {
            width: 100%;
        }
        .multi-step-nav {
            display: flex;
            justify-content: space-between;
            margin-top: 20px;
        }
        .multi-step-btn {
            padding: 6px 12px;
            background-color: #AD954F; /* Custom color */
            color: white;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            font-weight: 600; /* No bold */
            font-size: 12px; /* Smaller buttons */
            font-family: 'Montserrat', sans-serif;
            transition: background-color 0.3s ease-in-out, color 0.3s ease-in-out, transform 0.2s;
        }
        .back-btn {
            background-color: #96908f;
            color: #000;
        }
        .multi-step-btn:hover, .back-btn:hover {
            background-color: #000;
            color: #fff;
            transform: scale(1.05); /* Pequeño zoom al pasar el mouse */
        }
        .flatpickr-calendar {
            background-color: #ffffff !important;
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
        }
        .flatpickr-day.selected {
            background-color: #AD954F !important;
            color: white !important;
        }
        .flatpickr-day.today {
            border: 2px solid #AD954F !important;
        }
        .flatpickr-prev-month, .flatpickr-next-month {
            color: #AD954F !important;
        }
        .number-of-people-container {
    display: flex;
    align-items: center;
    justify-content: center; /* Centra horizontalmente */
    gap: 10px;
    width: 100%;
    margin: 20px auto;
    flex-wrap: wrap; /* Permite que los elementos se acomoden si no caben */
}
#cupo {
    width: 100%; /* Hace que el texto de cupos ocupe toda la línea */
    text-align: center; /* Centra el texto */
    margin-top: 10px; /* Espacio superior */
    font-size: 12px;
}

        .counter-btn {
    background-color: #AD954F !important;
    color: white;
    border: none;
    padding: 4px 10px;
    font-size: 14px;
    cursor: pointer;
    border-radius: 5px;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Importante para evitar el azul */
    outline: none;
    -webkit-tap-highlight-color: transparent; /* Evita destello azul en móviles */
}

.counter-btn:hover {
    color: #fff;
    background-color: #8c783d;
    transform: scale(1.05);
}

.counter-btn:active {
    transform: scale(0.95);
    background-color: #8c783d; /* Evita que cambie a otro color al presionar */
}

/* ELIMINAR EL FOCO AZUL */
.counter-btn:focus, 
.counter-btn:focus-visible {
    outline: none;
    box-shadow: none;
}

#people-count {
    font-size: 18px;
    width: 50px;
    height: 50px;
    padding: 0;
    text-align: center;
 
    display: inline-block;
    vertical-align: middle;
    border: 1px solid #AD954F;
    border-radius: 5px;
    background-color: white;
    font-family: 'Montserrat', sans-serif;
    color: #333;
    outline: none;
    font-weight: 600;
    transition: box-shadow 0.3s;
	-webkit-appearance: none;
    -moz-appearance: textfield;
    margin: 0;
}

#people-count:focus {
    box-shadow: 0 0 8px rgba(173, 149, 79, 0.3);
}
        .multi-step-nav {
            display: flex;
            justify-content: space-between;
        }
        
#cruceros-container {
    width: 100%;
    max-width: 800px; /* Ajusta según necesidad */
    margin: 30px auto;
    text-align: center;
}

#crucero-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px; /* Espacio entre tarjetas */
    margin-top: 10px;
}

.crucero-card {
    background-color: #fff;
    border: 2px solid #AD954F; /* Borde con el color corporativo */
    border-radius: 10px;
    padding: 15px;
    width: 220px;
    align-items: center; /* Centra horizontalmente */
    justify-content: center; /* Centra verticalmente */
    text-align: left;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
        display: flex;
    gap: 10px;
}

.crucero-card:hover {
    transform: translateY(-5px);
    box-shadow: 5px 5px 15px rgba(0, 0, 0, 0.2);
}
.crucero-card input[type="radio"] {
    accent-color: #AD954F; /* Color del radio button */
    width: 16px;
    height: 16px;
    cursor: pointer;
}
.crucero-card .crucero-content {
    flex-grow: 1;
}
.crucero-card h3 {
    font-size: 12px;
    color: #AD954F;
    margin-bottom: 5px;
    font-weight: bold;
}
#cruceros-container h2 {
    font-size: 12px;
    color: #000;
    margin-bottom: 10px;
    font-weight: bold;
}
    #aerolineas-container {
        display: none;
        background: #f8f9fa;
        padding: 20px;
        border-radius: 8px;
        box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
        max-width: 400px;
        margin: 20px auto;
        text-align: center;
    }

    #aerolineas-container h3 {
        color: #333;
        font-size: 20px;
        margin-bottom: 10px;
    }
    #return-info-container{
        margin-top:20px; 
    }
   
#return-info-container h3 {
    font-size: 16px; /* Título más pequeño */
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
}
#return-info-container-detalles{
  display: flex;
            flex-wrap: wrap;
            gap: 20px;
}
        #return-info-container select {
            width: 100%;
            padding: 10px;
            border: 1px solid #AD954F; /* Borde con color personalizado */
            border-radius: 5px;
            font-size: 12px;
            background-color: #fff;
            color: #333;
            cursor: pointer;
            transition: all 0.3s ease-in-out;
            font-family: 'Montserrat', sans-serif;
        }
               #return-info-container input:focus {
            border-color: #AD954F;
            outline: none;
            box-shadow: 0 0 5px rgba(39, 174, 96, 0.5);
        }
        
          #payment-form {
    max-width: 400px; /* Ancho máximo */
    margin: 0 auto; /* Centrar en la pantalla */
    padding: 20px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    align-items: left;
  }

  /* Contenedor del estado del pago */
  #payment-status-container {
    width: 100%;
    text-align: left;
    margin-bottom: 15px;
  }




  /* Media query para pantallas más pequeñas (móviles) */
  @media (max-width: 480px) {
    #payment-form {
      width: 90%;
      padding: 15px;
    }
  }
  

  	/* ---------------------  Tiempo de espera luego de la transaccion  --------------------------- */

	/* Media query para pantallas más pequeñas (móviles) */
	@media (max-width: 480px) {
		#payment-form {
		width: 90%;
		padding: 15px;
		}
	}
  
	#loading-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(255, 255, 255, 0.8);
	z-index: 9999;
	display: none; /* Este se reemplaza con 'flex' cuando se activa */
	justify-content: center;
	align-items: center;
	}

    .spinner {
      border: 8px solid #f3f3f3;
      border-top: 8px solid #AD954F;
      border-radius: 50%;
      width: 60px;
      height: 60px;
      animation: spin 1s linear infinite;
    }

    @keyframes spin {
      0% { transform: rotate(0deg); }
      100% { transform: rotate(360deg); }
    }

	/* -------------------------------- * ------------------------------------- */
	
	
	@media screen and (max-width: 768px) {
  .multi-step-container {
    display: flex;
    flex-direction: column;
  }

  /* Fila 1: steps */
  .multi-step-sidebar {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    overflow-x: auto;
    padding: 10px 0;
    width: 100%; 
    font-size: 8px;
    border-radius: 8px 8px 0 0;
    
scroll-behavior: smooth;
position: relative;
  }

  .multi-step-step {
    min-width: max-content;
    padding: 6px;
    font-size: 9px;
    text-align: center;
    border-bottom: 2px solid #ccc;
      transition: all 0.3s ease; /* Transición suave */
      flex: 1; /* Para que no se reduzcan */
  }

  .multi-step-step.active {
    border-bottom: 2px solid #AD954F;
  }

  /* Fila 2: contenido + resumen */
  .multi-step-content,
  .multi-step-resumen {
    width: 100%;
  }

  .multi-step-content {
    order: 1;
  }

  .multi-step-resumen {
    order: 2;
    margin-top: 20px;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 10px;
  }
          .multi-step-content h2{
            font-size: 16px;

        }
        label {

            font-size: 12px;
            color: #000;
        }
        
       #aerolineas-container {
   
        margin: 10px auto;
    }

    #aerolineas-container h3 {
        color: #333;
        font-size: 15px;
        margin-bottom: 10px;
    }
    

}

/*------------- Estilo de encabezados del hotel ------------------ */
/* Variables de Diseño */
:root {
    --gold-primary: #b39a6a;
    --gold-light: #d4c3a1;
    --dark-bg: #111111;
    --glass-white: rgba(255, 255, 255, 0.03);
    --glass-border: rgba(255, 255, 255, 0.1);
}

/* Contenedor de Pantalla Completa o Sección */
.ms-premium-overlay {
    padding: 80px 20px;
    display: flex;
    justify-content: center;
    background: radial-gradient(circle at center, #2c2518 0%, #000000 100%);
    border-radius: 20px;
    overflow: hidden;
}

/* Efecto Glassmorphism */
.ms-glass-card {
    background: rgba(20, 20, 20, 0.6);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border: 1px solid var(--glass-border);
    padding: 50px 40px;
    border-radius: 24px;
    text-align: center;
    max-width: 500px;
    box-shadow: 0 25px 50px rgba(0,0,0,0.5);
    animation: fadeInUp 0.8s ease-out;
}

.ms-icon-wrapper {
    width: 80px;
    height: 80px;
    background: linear-gradient(135deg, var(--gold-primary), var(--gold-light));
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 30px;
    font-size: 32px;
    color: #fff;
    box-shadow: 0 10px 20px rgba(179, 154, 106, 0.3);
}

.ms-display-title {
    font-family: 'Montserrat', sans-serif;
    color: #fff;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 5px;
    margin-bottom: 20px;
}

.ms-description {
    color: #a0a0a0;
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 35px;
    font-weight: 300;
}

/* Botón con micro-interacción */
.ms-action-btn {
    background: transparent;
    border: 1px solid var(--gold-primary);
    color: var(--gold-primary);
    padding: 15px 35px;
    border-radius: 50px;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: 12px;
    cursor: pointer;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.ms-action-btn:hover {
    background: var(--gold-primary);
    color: #fff;
    box-shadow: 0 0 20px rgba(179, 154, 106, 0.4);
    transform: translateY(-2px);
}

/* Cabecera del Hotel */
.ms-corporate-header {
    padding: 40px 0;
    text-align: center;
}

.ms-pre-title {
    color: var(--gold-primary);
    text-transform: uppercase;
    letter-spacing: 6px;
    font-size: 11px;
    display: block;
    margin-bottom: 10px;
    opacity: 0.8;
}

.ms-main-hotel-name {
    font-size: 3rem;
    font-weight: 200;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 12px;
    margin: 0;
}

.ms-gold-separator {
    margin-top: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.ms-gold-separator::before, .ms-gold-separator::after {
    content: "";
    height: 1px;
    width: 60px;
    background: linear-gradient(to right, transparent, var(--glass-border));
}

.ms-gold-separator::after {
    background: linear-gradient(to left, transparent, var(--glass-border));
}

.ms-diamond {
    width: 8px;
    height: 8px;
    background: var(--glass-border);
    transform: rotate(45deg);
}

/* Animaciones */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(30px); }
    to { opacity: 1; transform: translateY(0); }
}

/* -------------------------------------------------------------- */
/* RESPONSIVE DESIGN - PREMIUM ADJUSTMENTS                        */
/* -------------------------------------------------------------- */

/* Tablets y pantallas medianas */
@media (max-width: 992px) {
    .ms-main-hotel-name {
        font-size: 2.2rem;
        letter-spacing: 8px;
    }
    
    .ms-premium-overlay {
        padding: 60px 15px;
    }
}

/* Dispositivos Móviles (Smartphones) */
@media (max-width: 600px) {
    /* Ajuste del contenedor principal */
    .ms-premium-overlay {
        padding: 40px 10px;
        border-radius: 15px; /* Bordes un poco más suaves en móvil */
    }

    /* La Card de Cristal */
    .ms-glass-card {
        padding: 40px 20px;
        border-radius: 20px;
    }

    .ms-icon-wrapper {
        width: 65px;
        height: 65px;
        font-size: 24px;
        margin-bottom: 20px;
    }

    /* Títulos de Error/Acceso */
    .ms-display-title {
        font-size: 1.2rem;
        letter-spacing: 3px; /* Reducimos el espaciado para que no rompa línea */
    }

    .ms-description {
        font-size: 14px;
        margin-bottom: 25px;
    }

    /* Cabecera del Hotel (La más crítica) */
    .ms-corporate-header {
        padding: 20px 0;
    }

    .ms-main-hotel-name {
        font-size: 1.5rem; /* Reducción drástica para evitar scroll horizontal */
        letter-spacing: 4px; /* Espaciado más humano para pantallas pequeñas */
        line-height: 1.3;
    }

    .ms-pre-title {
        letter-spacing: 4px;
        font-size: 10px;
    }

    .ms-gold-separator::before, 
    .ms-gold-separator::after {
        width: 40px; /* Separadores más cortos */
    }

    /* Botón de acción */
    .ms-action-btn {
        padding: 12px 25px;
        font-size: 11px;
        width: 100%; /* Botón ancho completo en móvil para mejor UX */
        justify-content: center;
    }
}

/* Ajuste para pantallas extra pequeñas (iPhone SE, etc) */
@media (max-width: 380px) {
    .ms-main-hotel-name {
        font-size: 1.2rem;
        letter-spacing: 2px;
    }
    
    .ms-display-title {
        letter-spacing: 2px;
    }
}

/* ------- estilo para el cardv2 ------------------------------------------ */

/* Aplicamos el estilo de "Tarjeta" al contenedor padre para que todo quede dentro */
#payment-form {
	background: white;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0,0,0,0.08);
	box-sizing: border-box;
	margin: 0 auto;
}
/*
       #payment-form {
    max-width: 400px; 
    margin: 0 auto; 
    padding: 20px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    display: flex;
    flex-direction: column;
    align-items: left;
  }
*/
/* Quitamos estilos individuales para que no se dupliquen sombras/paddings */
#card-container {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	width: 100%;
	margin-bottom: 12px !important;
}

.sq-input-container {
	border: 1px solid #d0d0d0;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;

}

.sq-input-container.focused {
	border-color: #006aff;
	box-shadow: 0 0 0 1px #006aff;
}

#zip-divider, #zip {
	opacity: 0;
	visibility: hidden;
	max-width: 0;
	flex: 0;
	padding: 0 !important;
	overflow: hidden;
	transition: all 0.4s ease; /* Un poquito más lento para que se note el efecto */
}

.input-row.show-zip #zip-divider {
	opacity: 1;
	visibility: visible;
	max-width: 1px;
	flex: 0 0 1px;
}

.input-row.show-zip #zip {
	opacity: 1;
	visibility: visible;
	max-width: 100px; /* Un ancho máximo razonable para el CP */
	flex: 1;
	padding: 8px 12px !important;
}

.input-row { display: flex; border-bottom: 1px solid #f0f0f0; }
.input-row:last-child { border-bottom: none; }
.input-row .sq-field {
	transition: flex 0.3s ease; 
}
.sq-field {
	padding: 8px 12px;
	border: none !important;
	outline: none !important;
	width: 100%;
	min-width: 0;
	flex: 1;
	box-shadow: none !important;
	font-size: 16px;
	color: #262626;
	background: transparent;
	font-family: "Square Sans Text VF", "Square Sans Text", Arial, sans-serif;
}

/* --- ICONO DE TARJETA AJUSTADO --- */
.card-number-wrapper { display: flex; align-items: center; padding-left: 10px; }
#cardIcon {
	width: 40px; /* Más ancho y alto como pediste */
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 4px !important;
	/* ESTO APLICA EL REDONDEO */
	background: #f8f8f8;
	overflow: hidden; /* Crucial para que el contenido respete el redondeo */
	border: 1px solid #e0e0e0; /* Un borde sutil para definir la tarjeta */
}
#cardIcon svg { width: 100%; height: 100%; fill: #999; object-fit: cover;}

.divider { flex: 0 0 1px; background: #fff; }

/* --- MENSAJES DE ALERTA DINÁMICOS --- */
.hint-container {
	display: flex;
	align-items: center;
	margin: 8px;
	opacity: 0;
	gap: 8px;
	transition: opacity 0.2s ease;
}
.show-hint { opacity: 1; }

/* El icono ahora hereda el color del texto (Gris por defecto) */
.hint-icon { width: 16px; height: 16px; fill: #999; color: #999;} 
.hint-text { 
	font-size: 13px !important;; 
	color: #999 !important; 
	font-family: "Square Sans Text VF", "Square Sans Text", Arial, sans-serif; 
}

/* Cuando hay error, cambiamos ambos a ROJO usando la clase state-error */
.state-error .hint-icon { fill: #df3333 !important; }
.state-error .hint-text { color: #df3333 !important; }

/* Estilo para la etiqueta non-refundable */
.non-refundable-msg {
	display: block;
	text-align: center;
	font-weight: bold;
	margin-top: 0;
	font-size: 13px;
	color: #333;
}


