
:root{
    --teal: #216869;
      --teal-dark: #1a5559;
      --forest: #1f2421;
      --footer-bg: #1a1a1a;
    --ct-color-primary:#000000;
    --ct-color-secondary:var(--forest);
    --ct-font-primary:'Poppins', serif;
    --ct-font-secondary:'Poppins', serif;
    --ct-body-font-size: 16px;
    --ct-body-font-weight: 400;
    --ct-body-line-height: 1.4;
    --ct-body-color: var(--forest);
    --ct-body-bg: #e3f2f1;
    --ct-color-cta:var(--teal);
}


 h1,h2,h3,h4,h5{font-size:inherit; font-family:inherit; margin:0px; display:inline-block;}
html{font-size:100%}
 body{
     font-weight:var(--ct-body-font-weight);
    font-size:var(--ct-body-font-size);
    line-height:var(--ct-body-line-height);
    font-family:var(--ct-font-primary);
    background-color:var(--ct-body-bg);
    color:var(--ct-body-color);
    min-height:100vh;
    display:flex;
    flex-direction:column;
}

body > .container{flex-grow:1}
 
    
a{color:var(--ct-color-cta); transition:all .2s linear}
    a:hover{color:var(--ct-color-cta); text-decoration:none; }

::-moz-selection { color:#fff; background:var(--ct-color-secondary); }
::selection { color:#fff; background:var(--ct-color-secondary); }

.fw,.full-width{width:100%; float:left;}
        .full-width.container{max-width:100%;}
.full-image{background-size:cover; background-position:center;} 


input:focus{outline:0px;}
h1, h2, h3, h4, h5, h6{margin:auto; display:inline-block; font-family: inherit; font-size: inherit;font-weight: inherit; line-height:inherit;}


/* ─────────────────────────────────────────────────────────────────────
       CABECERA / NAVBAR
       ───────────────────────────────────────────────────────────────────── */
    .vv-navbar {
      position: fixed;
      top: 0; left: 0; right: 0;
      z-index: 50;
      background: rgba(255, 255, 255, 0.8);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      border-bottom: 1px solid rgba(0, 0, 0, 0.05);
    }
    .vv-navbar__inner {
      max-width: 80rem; /* max-w-7xl */
      margin: 0 auto;
      padding: 0 1rem;
    }
    .vv-navbar__row {
      display: flex;
      align-items: center;
      justify-content: space-between;
      height: 5rem; /* h-20 = 80px */
    }
    .vv-navbar__logo img { height: 3rem; width: auto; object-fit: contain; } /* h-12 */

    .vv-navbar__menu {
      display: flex;
      align-items: center;
      gap: 2rem;
    }
    /* Enlace de navegación con subrayado animado (clase .nav-link del sitio) */
    .nav-link {
      position: relative;
      font-weight: 500;
      color: rgba(0, 0, 0, 0.7);
      transition: color 0.3s;
    }
    .nav-link::after {
      content: "";
      position: absolute;
      left: 0; bottom: 0;
      width: 0; height: 2px;
      background: var(--teal);
      transition: all 0.3s;
    }
    .nav-link:hover::after { width: 100%; }
    .nav-link:hover { color: var(--teal); }

    .vv-cta {
      padding: 0.625rem 1.25rem;
      border-radius: 9999px;
      background: var(--teal);
      color: #fff;
      font-size: 0.875rem;
      font-weight: 600;
      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
      transition: all 0.2s;
      white-space: nowrap;
    }
    .vv-cta:hover { background: var(--teal-dark); transform: scale(1.03); }

    /* Botón hamburguesa (solo móvil) */
    .vv-navbar__burger {
      display: none;
      background: none; border: none; cursor: pointer;
      padding: 0.5rem; border-radius: 0.5rem;
      color: var(--forest);
    }
    .vv-navbar__burger:hover { background: rgba(0, 0, 0, 0.05); }

    /* Menú móvil desplegable */
    .vv-mobile {
      display: none;
      background: #fff;
      border-top: 1px solid rgba(0, 0, 0, 0.1);
    }
    .vv-mobile.is-open { display: block; }
    .vv-mobile__inner { padding: 1.5rem 1rem; display: flex; flex-direction: column; gap: 1rem; }
    .vv-mobile a {
      display: block;
      padding: 0.75rem 1rem;
      border-radius: 0.75rem;
      font-weight: 500;
      color: rgba(0, 0, 0, 0.7);
      transition: background 0.2s, color 0.2s;
    }
    .vv-mobile a:hover { color: var(--teal); background: rgba(33, 104, 105, 0.05); }
    .vv-mobile__cta {
      margin-top: 1rem;
      text-align: center;
      background: var(--teal) !important;
      color: #fff !important;
      border-radius: 9999px !important;
      font-weight: 600;
    }
    .vv-mobile__cta:hover { background: var(--teal-dark) !important; }

    /* Responsive: <1024px muestra hamburguesa, oculta menú desktop */
    @media (max-width: 1023px) {
      .vv-navbar__menu, .vv-navbar__cta-wrap { display: none; }
      .vv-navbar__burger { display: block; }
    }

    /* ─────────────────────────────────────────────────────────────────────
       PIE / FOOTER
       ───────────────────────────────────────────────────────────────────── */
    .vv-footer {
      background: var(--footer-bg);
      color: rgba(255, 255, 255, 0.8);
    }
    .vv-footer__top {
      max-width: 80rem;
      margin: 0 auto;
      padding: 2.5rem 1.5rem;
    }
    .vv-footer__grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 2rem;
      align-items: center;
      text-align: center;
    }
    @media (min-width: 768px) {
      .vv-footer__top { padding: 3rem 1.5rem; }
      .vv-footer__grid { grid-template-columns: repeat(3, 1fr); }
      .vv-footer__contact { text-align: left; }
      .vv-footer__social { align-items: flex-end !important; }
    }

    .vv-footer__contact p { margin-bottom: 0.375rem; }
    .vv-footer__addr {
      font-size: 0.875rem; font-weight: 500;
      color: rgba(255, 255, 255, 0.9);
      text-transform: uppercase; letter-spacing: 0.025em; line-height: 1.6;
    }
    .vv-footer__meta { font-size: 0.875rem; color: rgba(255, 255, 255, 0.6); }

    .vv-footer__logo { display: flex; justify-content: center; }
    .vv-footer__logo img { height: 4rem; width: auto; object-fit: contain; } /* h-16 */
    @media (min-width: 768px) { .vv-footer__logo img { height: 5rem; } } /* h-20 */

    .vv-footer__social {
      display: flex; flex-direction: column; align-items: center; gap: 0.75rem;
    }
    .vv-footer__social-title {
      font-size: 0.75rem; font-weight: 700;
      letter-spacing: 0.25em; text-transform: uppercase; color: #fff;
    }
    .vv-footer__social-row { display: flex; gap: 0.75rem; }
    .vv-social-btn {
      width: 2.5rem; height: 2.5rem; border-radius: 9999px;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
      transition: transform 0.2s;
    }
    .vv-social-btn:hover { transform: scale(1.1); }
    .vv-social-btn svg { width: 1.25rem; height: 1.25rem; fill: #fff; }

    .vv-footer__divider { border-top: 1px solid rgba(255, 255, 255, 0.1); }

    .vv-footer__bottom {
      max-width: 64rem; /* max-w-5xl */
      margin: 0 auto;
      padding: 1.5rem;
      display: flex; flex-direction: column; align-items: center; gap: 0.75rem;
      text-align: center;
    }
    .vv-footer__copy { font-size: 0.875rem; color: rgba(255, 255, 255, 0.6); }
    .vv-footer__cif { font-size: 0.75rem; color: rgba(255, 255, 255, 0.5); }

    .vv-footer__legal {
      display: flex; flex-wrap: wrap; justify-content: center;
      gap: 0.5rem; font-size: 0.75rem; color: rgba(255, 255, 255, 0.4);
    }
    .vv-footer__legal a, .vv-footer__legal button {
      color: rgba(255, 255, 255, 0.4);
      white-space: nowrap; transition: color 0.2s;
      background: none; border: none; cursor: pointer; font: inherit;
    }
    .vv-footer__legal a:hover, .vv-footer__legal button:hover { color: rgba(255, 255, 255, 0.7); }
    .vv-footer__sep { color: rgba(255, 255, 255, 0.2); user-select: none; }

    /* Sello "Powered by WeltBrave" */
    .vv-weltbrave {
      display: inline-flex; align-items: center; gap: 0.75rem;
      border-radius: 1rem; border: 1px solid rgba(227, 60, 9, 0.1);
      background: rgba(48, 48, 48, 0.5);
      padding: 0.75rem 1rem; white-space: nowrap;
      backdrop-filter: blur(4px); transition: background 0.2s;
    }
    .vv-weltbrave:hover { background: rgba(48, 48, 48, 0.7); }
    .vv-weltbrave__label { font-size: 0.875rem; color: #A9A9A9; }
    .vv-weltbrave__name { font-weight: 700; }
    .vv-weltbrave__name .w { color: #E33C09; }
    .vv-weltbrave__name .b { color: #E0E0E0; }
    .vv-weltbrave img { height: 1.25rem; width: 1.25rem; border-radius: 0.125rem; }

    /* ─────────────────────────────────────────────────────────────────────
       BOTÓN FLOTANTE DE WHATSAPP
       ───────────────────────────────────────────────────────────────────── */
    .vv-whatsapp {
      position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 50;
      display: flex; align-items: center; justify-content: center;
      width: 4rem; height: 4rem; border-radius: 9999px;
      background: #22c55e; /* green-500 */
      box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3);
      transition: all 0.3s;
    }
    .vv-whatsapp:hover { background: #16a34a; transform: scale(1.1); }
    .vv-whatsapp svg { width: 2rem; height: 2rem; fill: #fff; }
    .vv-whatsapp__pulse {
      position: absolute; inset: 0; border-radius: 9999px;
      border: 4px solid #4ade80; opacity: 0.2;
      animation: vv-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
    }
    @keyframes vv-ping { 75%, 100% { transform: scale(2); opacity: 0; } }

    /* ─────────────────────────────────────────────────────────────────────
       ZONA CENTRAL — aquí va TU motor (esto es solo un placeholder de ejemplo)
       ───────────────────────────────────────────────────────────────────── */
    .vv-main {
      /* Deja hueco para la navbar fija (80px) */
      padding-top: 5rem;
      min-height: 60vh;
    }
    .vv-placeholder {
      max-width: 60rem; margin: 3rem auto; padding: 3rem 1.5rem;
      border: 2px dashed #216869; border-radius: 1rem;
      text-align: center; color: var(--teal);
      background: #e3f2f1;
    }
    .vv-placeholder h2 { font-size: 1.5rem; margin-bottom: 0.5rem; }

    /* ─────────────────────────────────────────────────────────────────────
       PANEL DE INSTRUCCIONES (NO forma parte del diseño — bórralo al copiar)
       ───────────────────────────────────────────────────────────────────── */
    .kit-guia {
      background: #fffbeb; border-bottom: 4px solid #f59e0b;
      /* padding-top amplio: deja pasar la cabecera fija (80px) para que el
         título no quede oculto detrás de ella. */
      padding: 6.5rem 1.5rem 2rem; font-size: 0.9rem; line-height: 1.6; color: #422006;
    }
    .kit-guia__inner { max-width: 60rem; margin: 0 auto; }
    .kit-guia h1 { font-size: 1.5rem; margin-bottom: 0.5rem; color: #7c2d12; }
    .kit-guia h3 { margin: 1.25rem 0 0.4rem; color: #7c2d12; font-size: 1.05rem; }
    .kit-guia p { margin-bottom: 0.5rem; }
    .kit-guia code { background: #fde68a; padding: 0.1rem 0.35rem; border-radius: 0.25rem; font-size: 0.85em; }
    .kit-guia ul, .kit-guia ol { margin: 0.25rem 0 0.5rem 1.25rem; }
    .kit-guia li { margin-bottom: 0.25rem; }
    .kit-guia .kit-warn { color: #b91c1c; font-weight: 600; }
    .kit-box {
      background: #fef3c7; border: 1px solid #f59e0b; border-radius: 0.5rem;
      padding: 0.75rem 1rem; margin: 0.75rem 0;
    }
    
.title{font:500 1.3em/1.25em var(--ct-font-primary); letter-spacing:-0.02em; color:#06193d;}
.title.b{font-weight:600}
.title.xl{font:600 2.2em/1.1em var(--ct-font-primary);}
.title.xxl{font:700 3.1em/1.1em var(--ct-font-primary);}

.legend{font:500 .83em/1.2em var(--ct-font-primary); letter-spacing:.15em; text-transform:uppercase; color:#616872}

.color-primary{color:var(--ct-color-primary) !important}
    a.color-primary:hover{color:var(--ct-color-cta) !important}
.color-secondary{color:var(--ct-color-secondary) !important}
    a.color-secondary:hover{opacity:.8}
.color-cta{color:var(--ct-color-cta) !important}
    a.color-cta:hover{opacity:.8}
.color-white{color:#FFF}    
    a.color-white:hover{opacity:.8}
.text-alt{font-family:var(--ct-font-secondary)}

.boton, .btnSearch, .registerBox a.loginLink, .loginBox .registerAction a.loginLink, tws-agency-login .md-button.md-primary, md-dialog-actions .md-primary, .loginBox button.md-primary{cursor:pointer; display:inline-block; padding:15px 20px; font:600 1.02em/1.15em var(--ct-font-primary) !important; letter-spacing:0; text-align:center; text-transform:none !important; color:#fff !important; border:0; border-radius:30px;  box-shadow: 0 0 8px 0 rgba(0,0,1,.50); background:var(--ct-color-cta) !important;}
.boton.xl{padding:15px 40px; font-size:1.75rem !important;  box-shadow: 0 0 9px rgba(0 0 1 / 26%);}
.boton.md-button{margin:0;}
.boton:hover, .btnSearch:hover, .registerBox a.loginLink:hover, .loginBox .registerAction a.loginLink:hover, tws-agency-login .md-button.md-primary:hover, md-dialog-actions .md-primary:hover, .loginBox button.md-primary:hover{color:#fff !important;  background:#ffb207 !important}
	.boton:hover .orange{color:#fff !important;}
.boton-aux{padding:15px 15px; font:600 1.4em/1.15em var(--ct-font-primary); letter-spacing:-0.01em; border-radius:6px; color:#fff; -webkit-box-shadow: 0 0 5px 0 #383838; box-shadow: 0 0 5px 0 #383838; background:#00499c}
.boton-aux:hover{color:#fff !important;  background:#ffb207 !important}
	.boton-aux:hover .orange{color:#fff !important;}

.btn-as-link {min-width: auto; min-height: inherit; margin: 0; padding: 0; line-height: inherit; font:inherit; text-transform:none; border: 0; vertical-align:inherit; background: none;}
.btn-as-link:hover,
.btn-as-link:hover md-icon{color:#ffb207 !important; background-color:transparent !important;}

.full-width, .fw{width:100%; float:left;}
.full-height, .fh{height:100%;}
.full-width.container{max-width:100%;}

.m-amplio{margin-bottom:60px;}
.m-tercio{margin-bottom:45px;}
.m{margin-bottom:30px !important;}
.m-mid{margin-bottom:15px;}
.m-mini{margin-bottom:8px;}

.no-padding-col{padding-left:0 !important; padding-right:0 !important;}
.no-margin{margin-bottom:0 !important;}


.md-dialog .md-dialog-content.loadingCreateBooking md-progress-circular path{color:var(--ct-color-primary)}
.md-dialog .md-dialog-content.loadingCreateBooking span{color:var(--ct-color-primary);    font-weight: 500;    font-size: 16px;}


.mt-1{margin-top:10px;}
.mt-2{margin-top:25px;}
.mt-3{margin-top:45px;}
.mt-4{margin-top:65px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:25px;}
.mb-3{margin-bottom:45px;}
.mb-4{margin-bottom:65px;}

.ml-2{margin-left:25px;}

.pt-1{padding-top:10px;}
.pt-2{padding-top:25px;}
.pt-3{padding-top:45px;}
.pt-4{padding-top:65px;}

.pb-1{padding-bottom:10px;}
.pb-2{padding-bottom:25px;}
.pb-3{padding-bottom:45px;}
.pb-4{padding-bottom:65px;}

.font-light{font-weight:300}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}

.font-xxs{font-size:1rem}
.font-xs{font-size:1.3rem}
.font-sm{font-size:1.5rem}
.font-md{font-size:2.2rem}
.font-lg{font-size:2.4rem}
.font-xl{font-size:2.6rem; line-height:1.1em}
.font-xxl{font-size:7rem; line-height:1.1em}

.img-box{background-position:50% 50% !important; -webkit-background-size: cover !important; -moz-background-size: cover !important; -o-background-size: cover !important; background-size: cover !important; background-color:#06193d;}
.img-boxed{position:absolute; top:0; right:0; bottom:0; left:0;}
	.img-boxed .img-cover{width:100%; height:100%; object-fit: cover;}

.forma-responsive{display:block; position: relative; width: 100%;  background:#23211D;}
.forma-responsive:before{ content: ""; display: block; padding-top:53%;}
.forma-responsive.tall:before{ content: ""; display: block; padding-top:128%;}
.forma-responsive.doc:before{ padding-top:141%; box-shadow: 0 1px 2px 0px #7a7a7a;   border-radius:3px;}

.middle-box{width:100%; position: absolute; top: 50%; left: 50%;transform: translate(-50%, -50%);}
.relative{position:relative;}
.pointer{cursor:pointer;}

.white{color:#fff !important;}
.orange, a.orange{color:#eb7203 !important;}
.blue, a.blue{color:#4697e3 !important;}
.blue-mid, a.blue-mid{color:#4f6aa5 !important;}
a:hover .white, a.white:hover , a:hover .orange, a.orange:hover {color:#ffb207 !important;}

.fa-star , .fa-key{font-size:1em;}
	.fa-star.active , .fa-key.active{color:#f7b000;}
	.fa-star.inactive, .fa-key.inactive{color:#fdedef;}

.bg-dark{background:#06193d;}
.bg-blue{color:#fff; background:#00499c;}

::-moz-selection { color:#fff; background:#000; }
::selection { color:#fff; background:#000; }

.middle-box{z-index:2}
.no-pad {
    padding: 0px !important;
}
.main-slider{  min-height:560px; position:relative; z-index:2; background-color:var(--ct-color-primary); }
.product-recommended .layout-image,.main-slider .layout-image{position:absolute; bottom:0px; top:0px; left:0px; right:0px; z-index:1; background: #040219; opacity:.55}
    .main-slider .carrusel, .main-slider .carrusel .carousel-inner{height:100%;}

.main-slider .line-pretitle{font-size:2.4rem; color:#FFF;}
.main-slider .line-title{font-size:6.4rem; color:#FFF;}
.main-slider.slider-landing .carousel-indicators, .main-slider.slider-home .carousel-indicators{display:none}
.main-slider .item{ min-height:560px;
background: rgb(48,76,104); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(48,76,104,1) 0%, rgba(175,186,197,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(48,76,104,1) 0%,rgba(175,186,197,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(48,76,104,1) 0%,rgba(175,186,197,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#304c68', endColorstr='#afbac5',GradientType=0 ); /* IE6-9 */
}
.main-slider .gradient-bottom{position:absolute; z-index:1; height:63px; bottom:0px; left:0px; right:0px; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,1+100 */
background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
}
.main-slider .carousel-control{width:45px; background:none; opacity:1; z-index:2}
.main-slider .carousel-control .glyphicons {font-size:22px}
.main-slider .caption{ display:flex; flex-direction:column; justify-content:center; gap:15px}
   
   .position-searcher{
    position: relative;
    float:left;
    width:100%;
    top: -60px;
    left: 0px;
    right: 0px;
    z-index: 5;}
	.position-searcher .searcher{float:left; width:100%; padding:30px 12px 20px; border-radius:20px; background:#fff;}
	    .searcher .btnSearch{float:right}
.separator{background-color:var(--ct-color-cta); height:3px; width:39%; margin: 0 auto;}	
.main-slider .separator{width:8%; height:2px}

.title-section{font-size:4rem;
    position: relative;
    text-align: center;
    font-weight: 700;
    text-transform:uppercase;
}
    .title-section::after{    content: "";    position: absolute;    bottom: -25px;    left: 50%; transform:translateX(-50%);    border-top: 2px solid var(--ct-color-cta);    width: 39%;}
 /*   
.product-recommended{float:left; width:100%; border-radius:6px; box-shadow:2px 0px 5px rgba(0,0,0,.22); margin-bottom:15px}
    .product-recommended a{cursor:pointer}
.product-recommended .image{position:relative; height:280px; display:block; border-radius:6px 6px 0px 0px}  
    .product-recommended .image .box{position:absolute; z-index:1; top:10px; right:10px; height:54px; width:54px; border-radius:6px; background-color:#FFF; box-shadow:2px 0px 5px rgba(0,0,1,.22); color:var(--ct-color-primary); text-align:center; line-height: 1.2em; padding-top: 9px;}
    .product-recommended .image .box .number{font-weight:700; font-size:24px;}
    .product-recommended .image .box .text{font-size:14px;}
    .product-recommended .image .title{position:absolute; z-index:2; bottom:10px; left:10px; margin-right:10px; font-weight:700; color:#FFF; padding:2px 5px;}
        .product-recommended .image .title a{color:#FFF}
    .tours-recommended .product-recommended .image .title{margin-right:50px}     
    .product-recommended .caption{background-color:#FFF; padding:15px 10px; }    
        .product-recommended .caption .destination{font-size:1.8rem;margin-top:6px}
            .product-recommended .caption .destination i{color:var(--ct-color-secondary)}
        
        .product-recommended .box-price{text-align:right}
            .product-recommended .box-price.box-left{float:left; text-align:left; margin:10px}
                    .product-recommended .box-price.box-left .from{font-size:11px}
                    .product-recommended .box-price.box-left .price{font-size:24px}
        .product-recommended .bottom-line .box-price {text-align:left; padding:10px}
            .product-recommended .box-price .from{font-style:italic; font-size:14px;line-height:1em; color:var(--ct-color-secondary)}
            .product-recommended .box-price .price{font-weight:700; font-size:25px; color:var(--ct-color-primary); line-height:1em}
             
            .product-recommended .caption .box-price .price{color:var(--ct-color-primary);}
            .product-recommended .bottom-line .box-price .from{color:#FFF; opacity:.6; font-size:11px}
            .product-recommended .bottom-line .box-price .price{color:#FFF; font-size:24px}

    .product-recommended .bottom-line{float:left; width:100%; background-color:var(--ct-color-cta); border-radius:0px 0px 6px 6px}
        .product-recommended .bottom-line .include{float:left; margin-top: 17px; margin-left: 15px;}
            .product-recommended .bottom-line .include .tour-include-icon{float:left; margin-right:7px}
            .product-recommended .bottom-line .include i{color:#FFF; font-size: 18px;}
        .product-recommended .btn-arrow{background-color:#FFF; float:right; border-bottom:3px solid var(--ct-color-secondary); border-radius:0px 0px 6px 0px; padding:15px; min-width:53px; min-height:55px; text-align:center}
        .product-recommended .btn-arrow-bottom{background-color:#FFF; float:right; border-bottom:3px solid var(--ct-color-secondary); border-radius:0px; padding:15px;  min-width:53px; text-align:center}
    */
@media (min-width: 1px) and (max-width: 767px){.clearfix-xs{clear:both !important;}}
@media (min-width: 768px) and (max-width: 992px){.clearfix-sm{clear:both !important;}}
@media (min-width: 992px) and (max-width: 1200px){.clearfix-md{clear:both !important;}}
@media (min-width: 1200px){.clearfix-lg{clear:both !important;}}
/**/
	.nav, .pagination, .carousel, .panel-title a{cursor:default}
	.nav > li > a:focus, .nav > li > a:hover{background-color:inherit; outline:none;}
	.list-inline > li{padding-left:2px; padding-right:2px;}
	.navbar-toggle{z-index:20; margin:10px 0 14px 3px; padding:8px; border:0; border-radius:4px; background-color:transparent;}
		.navbar-toggle span{background:#fff;}
	.navbar-nav > li > a{padding:15px 15px 12px;  border-radius:0}
	.navbar-brand{height:auto;}
	.nav-tabs > li > a{padding:10px; font-size:0.85em; font-weight: 700; text-transform:uppercase; color: #06b4e1;}
	.item > .text-center{text-align:left;}
	.lead{font-size:1.2em; font-weight:400; }
	.lead.small{font-size:1.1em; font-weight:400; }
	iframe{border:0}
	p{margin:0 0 10px;}
	hr{border-width:2px}
	.text-muted{color:inherit; opacity:.6;}
	.small{font-size:0.85em; line-height:1.2em;}
	.nav.aside-nav{}
		.nav.aside-nav .title{padding-bottom:10px;}
		.nav.aside-nav a{padding:7px 0; color:#00499c}
		.nav.aside-nav a:hover{color:#ffb207; background:none;}
		.nav.aside-nav .active a{opacity:.5; cursor:default; color:#282521;  background:none;}
	.modal-backdrop.in{opacity:.75}
	.material-icons.default,
	.material-icons-outlined.default{position:relative; top:2px; width:auto; min-width:auto; height:auto; min-height:auto; font-size:inherit; line-height:inherit; color:inherit;  vertical-align: unset !important;}
	.tooltip-default, .tooltip-tour{height:auto; padding:6px 8px 6px; font:400 13px var(--ct-font-primary); color:#fff; background-color:#181410 !important;}
	md-menu-item .fab{margin-left:2px; font-size:22px;}
	md-menu-item .icono {position:relative; top:5px;}
#loader-container {background:var(--ct-color-primary); position: fixed;overflow: hidden;top: 0;right: 0;left: 0;bottom: 0;z-index: 99999;
}
#loader-container::before{content:""; position:absolute; z-index:1; top:50%; left:50%; width:50px; margin-top:-25px; margin-left:-25px;
	aspect-ratio: 1;
	border-radius: 50%;
	border: 8px solid var(--ct-color-secondary);
	border-right-color: var(--ct-color-cta);
	animation: spinner 1s infinite linear;}
@keyframes spinner {
	to {
		transform: rotate(1turn);
	}
}

.mt-1{margin-top:10px;}
.mt-2{margin-top:25px;}
.mt-3{margin-top:45px;}
.mt-4{margin-top:65px;}

.mb-1{margin-bottom:10px;}
.mb-2{margin-bottom:25px;}
.mb-3{margin-bottom:45px;}
.mb-4{margin-bottom:65px;}

.ml-2{margin-left:25px;}

.p-0{padding-left:0 !important; padding-right:0 !important;}
.pt-1{padding-top:10px;}
.pt-2{padding-top:25px;}
.pt-3{padding-top:45px;}
.pt-4{padding-top:65px;}

.pb-1{padding-bottom:10px;}
.pb-2{padding-bottom:25px;}
.pb-3{padding-bottom:45px;}
.pb-4{padding-bottom:65px;}

.font-light{font-weight:300}
.font-medium{font-weight:500}
.font-semibold{font-weight:600}
.font-bold{font-weight:700}

.font-xxs{font-size:1rem}
.font-xs{font-size:1.3rem}
.font-sm{font-size:1.5rem}
.font-md{font-size:2rem}
.font-lg{font-size:2.4rem}
.font-xl{font-size:2.8rem; line-height:1.1em}
.font-xxl{font-size:9rem; line-height:1.1em}
/**/
	#web-header{ position:relative; padding:12px 15px; background: #000;width:100%; float:left; color:#fff; }
    #web-header > .container{display:flex; align-items:center; justify-content:space-between;}
		#web-header .btn-as-link{margin-right:10px; overflow:inherit}
			#web-header .btn-as-link .material-icons.user{font-size:1.4em;}

			#web-header .aux-block > md-menu{float:left;}
				#web-header .aux-block .txt{display:block; text-align:right; line-height:1.15em; }
				#web-header .aux-block small{font-size:1.3rem; font-weight:400; letter-spacing:.05em; color:#bee9ff; }
				#web-header .btn-as-link.contact{padding-right:50px; font-size:1.7rem; margin-right:35px}
					#web-header .btn-as-link.contact .icns{position:absolute; right:0; top:0}

	#web-header .logo-menu{display:flex; justify-content:start; align-items:center; gap:15px;}
		#web-header nav .navbar-nav  > li{position:relative;display:inline-block; float:none;}
			#web-header nav .navbar-nav  > li a, #web-header nav .navbar-nav  > li .btn-as-link{ padding-left:15px; padding-right:15px; font-family:var(--ct-font-secondary); font-size:2rem; font-weight:400; line-height:1em; color:#fff;}
			#web-header nav .navbar-nav  > li:hover::after{content:""; position:absolute; bottom:0px; height:1px; background-color:#fa0202; left:0px; right:0px;}
				#web-header nav .navbar-nav  > li .btn-as-link md-icon{position:relative; top:-1px; width:12px; min-width:12px; height:auto; min-height:1px; margin-left:2px; font-size:16px; color:#70b1e0;}
		#web-header nav .navbar-nav  > li a:hover, #web-header nav .navbar-nav  > li .btn-as-link:hover{color:#fa0202; }

    #web-header .social-networks{
    display: flex;
    gap: 10px;
    align-items: center; margin:0px}
        #web-header .social-networks a{display:flex; justify-content:center; align-items:center; width:34px; height:34px; aspect-ratio:1; background-color:#999; color:#FFF; border-radius:50%}
            #web-header .social-networks li:nth-child(1) a:hover{background-color:#166bda}
            #web-header .social-networks li:nth-child(2) a:hover{background-color:#1d9f33}
            #web-header .social-networks li:nth-child(3) a:hover{background-color:#ce3a56}
            
    #web-header .social-networks .fab{font-size:20px}
    
	ul.submenu-special{}
		ul.submenu-special{width:100%; margin:0 0 0 -5px; padding:0; list-style:none; background-color:#000}
			ul.submenu-special li{width:100%; margin-bottom:6px; border-bottom:#ddd solid 1px;}
				ul.submenu-special a{display:inline-block; width:100%; padding:4px 0 6px; font-weight:700; color:#FFF}
			ul.submenu-special li:last-child{margin:0; border-bottom:0;}
				ul.submenu-special li:last-child a{padding-bottom:0}
	
.sidenav-menu-mvl,
	.sidenav-menu-mvl md-content{background:var(--ct-color-primary)}
		.sidenav-menu-mvl ul{width:100%; margin:0;}
			.sidenav-menu-mvl ul .md-button, .sidenav-menu-mvl ul li{width:100%; float:left; align-items:center}
				.sidenav-menu-mvl ul .md-button, .sidenav-menu-mvl ul li a{margin-bottom:2px; padding:7px 11px; color:#FFF; font-weight:700; border-radius:2px; background:#FFFFFF10; font-size: 1.4rem; text-transform:uppercase;}
				    .sidenav-menu-mvl ul .md-button:hover, .sidenav-menu-mvl ul li a:hover{background:#F4F4F4; color:#2F5597;}
				.sidenav-menu-mvl ul .md-button{text-align:left; margin:0px 0px 2px 0px;}  
	#web-footer{padding:40px 0 20px; background-color:#191919; color:#d3d3d3; font-family: 'Noto Sans', sans-serif;}
	    #web-footer .title{color:#FFF; font-family:var(--ct-font-primary); font-size:2.2rem; font-weight:700; text-transform:uppercase}
	     #web-footer .social-networks{    display: flex;    gap: 10px;  justify-content:center;  align-items: center; margin:0px}
	     #web-footer .social-networks a{display:flex; justify-content:center; align-items:center; width:38px; height:38px; aspect-ratio:1; color:#FFF; border-radius:50%}
            #web-footer .social-networks li:nth-child(1) a{background-color:#166bda}
            #web-footer .social-networks li:nth-child(2) a{background-color:#1d9f33}
            #web-footer .social-networks li:nth-child(3) a{background-color:#ce3a56}
            #web-footer .social-networks a:hover{opacity:.9}
            #web-footer .social-networks .fab{font-size:22px}
        #web-footer .top-line .img-responsive{max-width:412px}  
        
        #web-footer .bottom-line{margin-top:5px}
        #web-footer .bottom-line ul{display:flex; gap:7px; justify-content:center;flex-wrap:wrap}
        #web-footer .bottom-line a{color:#919191}
            #web-footer .bottom-line a::after{content:"|"; padding-left:7px}
            #web-footer .bottom-line li:last-child a::after{content:"";padding-left:0}
                        .kitdigital-bg{background-color:#eee; padding-top:20px}

        #web-footer .kitdigital-line{
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #FFF;
    border-radius: 6px;
    padding: 5px;}    
.middle-box{z-index:2}
.no-pad {
    padding: 0px !important;
}
.main-slider{  min-height:560px; position:relative; z-index:2; background-color:var(--ct-color-primary); }
.product-recommended .layout-image,.main-slider .layout-image{position:absolute; bottom:0px; top:0px; left:0px; right:0px; z-index:1; background: #040219; opacity:.55}
    .main-slider .carrusel, .main-slider .carrusel .carousel-inner{height:100%;}

.main-slider .line-pretitle{font-size:2.4rem; color:#FFF;}
.main-slider .line-title{font-size:6.4rem; color:#FFF;}
.main-slider.slider-landing .carousel-indicators, .main-slider.slider-home .carousel-indicators{display:none}
.main-slider .item{ min-height:560px;
background: rgb(48,76,104); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(48,76,104,1) 0%, rgba(175,186,197,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(48,76,104,1) 0%,rgba(175,186,197,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(48,76,104,1) 0%,rgba(175,186,197,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#304c68', endColorstr='#afbac5',GradientType=0 ); /* IE6-9 */
}
.main-slider .gradient-bottom{position:absolute; z-index:1; height:63px; bottom:0px; left:0px; right:0px; /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&0+0,1+100 */
background: -moz-linear-gradient(top,  rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(255,255,255,0) 0%,rgba(255,255,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#ffffff',GradientType=0 ); /* IE6-9 */
}
.main-slider .carousel-control{width:45px; background:none; opacity:1; z-index:2}
.main-slider .carousel-control .glyphicons {font-size:22px}
.main-slider .caption{ display:flex; flex-direction:column; justify-content:center; gap:15px}
   
   .position-searcher{
    position: relative;
    float:left;
    width:100%;
    top: -60px;
    left: 0px;
    right: 0px;
    z-index: 5;}
	.position-searcher .searcher{float:left; width:100%; padding:30px 12px 20px; border-radius:20px; background:#fff;}
	    .searcher .btnSearch{float:right}
.separator{background-color:var(--ct-color-cta); height:3px; width:39%; margin: 0 auto;}	
.main-slider .separator{width:8%; height:2px}

.title-section{font-size:4rem;
    position: relative;
    text-align: center;
    font-weight: 700;
    text-transform:uppercase;
}
    .title-section::after{    content: "";    position: absolute;    bottom: -25px;    left: 50%; transform:translateX(-50%);    border-top: 2px solid var(--ct-color-cta);    width: 39%;}
    
.product-recommended{
    position:relative; width:100%;
    background:#fff; border-radius:16px;
    box-shadow:0 8px 28px rgba(0,0,0,.10);
    margin-bottom:24px; overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .product-recommended:hover{ transform:translateY(-4px); box-shadow:0 14px 34px rgba(0,0,0,.14); }
  .product-recommended a{ cursor:pointer; text-decoration:none; }
 
  /* Imagen */
  .product-recommended .image{
    position:relative; display:block; height:210px;
    background-size:cover; background-position:center;
    background-image:linear-gradient(200deg,#7ec8e3 0%, #4fb0c6 45%, #f4e2b8 46%, #eccb8a 100%);
  }
 
  /* ---------- CAPTION ---------- */
  .product-recommended .caption{ background:#fff; padding:18px 18px 6px; }
  .product-recommended .caption .destination{
    display:flex; align-items:center; gap:7px;
    font-size:.9rem; color:var(--ct-ink-soft); margin-bottom:10px;
  }
  .product-recommended .caption .destination i{ color:var(--ct-color-secondary); }
 
  .product-recommended .caption .title{
    display:block; font-size:1.2rem; font-weight:700;
    line-height:1.3; color:var(--ct-ink); margin:0 0 12px;
  }
  .product-recommended .caption .title:hover{ color:var(--ct-color-primary); }
 
  .product-recommended .caption .meta{
    display:flex; flex-wrap:wrap; align-items:center;
    gap:8px 14px; margin-bottom:14px;
  }
  .product-recommended .caption .category{ display:flex; gap:2px; }
  .product-recommended .caption .category i{ color:#f5a623; font-size:.9rem; }
 
  .product-recommended .caption .box-price{ margin-left:auto; text-align:right; }
  .product-recommended .caption .box-price .from{
    display:block; font-style:italic; font-size:.72rem; color:var(--ct-ink-soft); line-height:1;
  }
  .product-recommended .caption .box-price .price{
    display:block; font-weight:800; font-size:1.35rem;
    color:var(--ct-color-primary); line-height:1.1;
  }
 
  /* ---------- CTA ---------- */
  .product-recommended .bottom-line{ padding:0 18px 18px; }
  .product-recommended .bottom-line .btn-cta{
    display:flex; align-items:center; justify-content:center; gap:10px;
    width:100%; padding:15px 18px; box-sizing:border-box;
    border-radius:12px; color:#fff; font-weight:700; font-size:1rem;
    background:linear-gradient(135deg, var(--ct-color-cta) 0%, #14513d 100%);
    transition:filter .2s ease, transform .1s ease;
  }
  .product-recommended .bottom-line .btn-cta:hover{ filter:brightness(1.08); }
  .product-recommended .bottom-line .btn-cta:active{ transform:scale(.99); }
  .product-recommended .bottom-line .btn-cta i{ transition:transform .2s ease; }
  .product-recommended .bottom-line .btn-cta:hover i{ transform:translateX(4px); }
   
   .productHotel{margin-top:25px}             
	@media (min-width: 1200px) {
		.container {width:100%; max-width:1375px;  clear:both;}
	}				
	@media (max-width:767px) {
	#web-footer .bottom-line ul{flex-direction:column}
	#web-footer .top-line .img-responsive{max-width:100%}
	}:root {
    /* Ajusta estos colores a tu paleta real */
    --color-forest: #14532d;
    --color-teal: #0f766e;
    --color-sage: #6b9e78;
    --color-sage-light: #a8d5b5;
    --color-teal-light: #5eead4;
    --color-background: #ffffff;
  }
 
  * {
    box-sizing: border-box;
  }
 
  body {
    margin: 0;
    font-family: system-ui, -apple-system, sans-serif;
  }
 
  .hero-section {
    position: relative;
    padding-top: 8rem;
    padding-bottom: 10rem;
    overflow: hidden;
  }
 
  .hero-bg {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom right, var(--color-forest), var(--color-teal), var(--color-sage));
  }
 
  .blob {
    position: absolute;
    border-radius: 9999px;
  }
 
  .blob-1 {
    top: 5rem;
    left: 2.5rem;
    width: 16rem;
    height: 16rem;
    background: rgba(255, 255, 255, 0.05);
    filter: blur(64px);
  }
 
  .blob-2 {
    bottom: 5rem;
    right: 2.5rem;
    width: 24rem;
    height: 24rem;
    background: rgba(168, 213, 181, 0.1); /* sage-light/10 */
    filter: blur(64px);
  }
 
  .blob-3 {
    top: 50%;
    left: 33.333%;
    width: 12rem;
    height: 12rem;
    background: rgba(94, 234, 212, 0.1); /* teal-light/10 */
    filter: blur(40px);
  }
 
  .ring-1 {
    top: 8rem;
    right: 25%;
    width: 5rem;
    height: 5rem;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    transform: translateY(2.82897px) rotate(3.20724deg);
  }
 
  .ring-2 {
    bottom: 10rem;
    left: 25%;
    width: 8rem;
    height: 8rem;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    transform: translateY(2.13135px) rotate(-1.96716deg);
  }
 
  .hero-content {
    position: relative;
    z-index: 10;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1rem;
  }
 
  .hero-text {
    text-align: center;
    max-width: 48rem;
    margin: 0 auto;
  }
 
  .hero-badge {
    display: inline-block;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(4px);
    border: 1px solid rgba(255, 255, 255, 0.2);
    font-size: 0.875rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 1rem;
  }
 
  .hero-title {
    font-size: 2.25rem;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1.5rem;
    line-height: 1.2;
  }
 
  .hero-subtitle {
    font-size: 1.125rem;
    color: rgba(255, 255, 255, 0.8);
    max-width: 42rem;
    margin: 0 auto;
  }
 
  @media (min-width: 768px) {
    .hero-title {
      font-size: 3rem;
    }
    .hero-subtitle {
      font-size: 1.25rem;
    }
  }
 
  @media (min-width: 1024px) {
    .hero-title {
      font-size: 3.75rem;
    }
  }
 
  .wave-container {
    position: absolute;
    z-index:0;
    bottom: 0;
    left: 0;
    right: 0;
    overflow: hidden;
    pointer-events: none;
  }
 
  .wave-svg {
    width: 100%;
    height: auto;
    display: block;
  }
 
  .wave-front {
    position: relative;
    z-index: 1;
  }
 
  .wave-back {
    position: absolute;
    bottom: 3rem;
    left: 0;
    right: 0;
    opacity: 0.3;
  }
 
  .fill-background {
    fill: var(--color-background);
  }
 
  .fill-sage-light {
    fill: var(--color-sage-light);
  }
  .box-searcher{    background: #FFF;
    float: left;
    width: 100%;
    border-radius: 25px;
    padding: 15px 10px;
    margin-top: 25px;
    .btnSearch{float:right}
}