/*!
Theme Name: CSW ASTURS THEME
Theme URI: https://www.colcastudios.com
Author: David Apaza
Author URI: https://wa.me/51980541544
Description: El Theme "CSW ASTURS THEME", está diseñado y personalizado para el funcionamiento de la página web de ASTURS, con plugins particulares y personalizados que funcionan exclusivamente con el Theme "CSW ASTURS THEME". Por lo que nos reservamos la funcionalidad en otros portales web, para mayor información y personalizaciones en otros sitios web diríjase a la página web del author o contáctese vía Whatsapp:(+51) 980 541 544 - Arequipa - Perú.
Version: 1.1.0
Requires at least: 6.8
Tested up to: 6.9
Requires PHP: 8.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: csw-asturs-theme
Tags: wide-blocks, block-styles, custom-logo, one-column, two-columns, grid-layout, custom-background, custom-colors, custom-header, custom-menu, footer-widgets, featured-images, flexible-header, threaded-comments, theme-options, left-sidebar, right-sidebar, full-width-template, editor-style, photography, post-formats
*/

/* ==========================================================================
   1. RESET & ESTILOS GLOBALES
   ========================================================================== */
   * {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  @-webkit-keyframes csw-wobble-horizontal{
    16.65%{
      -webkit-transform:translateX(0.3125rem);
      transform:translateX(0.3125rem)
    }
    33.3%{
      -webkit-transform:translateX(-0.375rem);
      transform:translateX(-0.375rem)
    }
    49.95%{
      -webkit-transform:translateX(0.25rem);
      transform:translateX(0.25rem)
    }
    66.6%{
      -webkit-transform:translateX(-0.125rem);
      transform:translateX(-0.125rem)
    }
    83.25%{
      -webkit-transform:translateX(0.0625rem);
      transform:translateX(0.0625rem)
    }
    100%{
      -webkit-transform:translateX(0);
      transform:translateX(0)
    }

  }
  @keyframes csw-wobble-horizontal{
    16.65%{
      -webkit-transform:translateX(0.3125rem);
      transform:translateX(0.3125rem)
    }
    33.3%{
      -webkit-transform:translateX(-0.375rem);
      transform:translateX(-0.375rem)
    }
    49.95%{
      -webkit-transform:translateX(0.25rem);
      transform:translateX(0.25rem)
    }
    66.6%{
      -webkit-transform:translateX(-0.125rem);
      transform:translateX(-0.125rem)
    }
    83.25%{
      -webkit-transform:translateX(0.0625rem);
      transform:translateX(0.0625rem)
    }
    100%{
      -webkit-transform:translateX(0);
      transform:translateX(0)
    }

  }

  @-webkit-keyframes fadeIn{
    0%{
      opacity:0;
    }

    100%{
      opacity:1;
    }
  }

  @keyframes fadeIn{
    0%{
      opacity:0;
    }

    100%{
      opacity:1;
    }
  }

  @-webkit-keyframes fadeOut{
    0%{
      opacity:1;
    }

    100%{
      opacity:0;
    }
  }

  @keyframes fadeOut{
    0%{
      opacity:1;
    }

    100%{
      opacity:0;
    }
  }

  .animated{
    -webkit-animation-duration:1s;
    animation-duration:1s;
    -webkit-animation-fill-mode:both;
    animation-fill-mode:both;
  }

  .animated.infinite{
    -webkit-animation-iteration-count:infinite;
    animation-iteration-count:infinite;
  }

  .animated.hinge{
    -webkit-animation-duration:2s;
    animation-duration:2s;
  }
  .fadeIn{
    -webkit-animation-name:fadeIn;
    animation-name:fadeIn;
  }

  .fadeOut{
    -webkit-animation-name:fadeOut;
    animation-name:fadeOut;
  }
/* ==========================================================================
   Arquitectura de Botones Optimizada - CSW Kactus Booking Tours
   ========================================================================== */
   :root {
   	/* Colores Principales del Tema */
   	--csw-primary: #d90f4d;
   	--csw-primary-hover: #C20640;
   	--csw-accent: #F8759D;
   	--csw-accent-hover: #DF5982;

   	/* Colores Secundarios del Tema */
   	--csw-success: #25d366;
   	--csw-success-hover: #20ba5a;
   	--csw-warning: #FFC62D;
   	--csw-warning-hover: #DCA611;
   	--csw-info: #00C0D1;
   	--csw-info-hover: #00A5B8;
   	--csw-danger: #DC3574;
   	--csw-danger-hover: #BB2D84;

   	/* Utilidades del Tema */
   	--csw-text-light: #ffffff;
   	--csw-text-dark: #2F0217;
   	--csw-text-warning-dark: #5c4d00;
   	--csw-border-light: #e6e7e7;
   	--csw-radius: 30px;
   	--csw-sm-radius: 12px;
   	--csw-transition: all 0.3s ease;

   	/* Variables del Bloque (Alineadas a la paleta del tema) */
   	--csw-text-main: #383A3C;
   	--csw-text-muted: #64748b;
   	--csw-bg-box: #ffffff;
   	--csw-line-color: #e2e8f0;

   	/* Nuevas Variables de Sombras Premium con sutil tinte primario */
   	--csw-shadow: 0 10px 25px -5px rgba(137, 11, 135, 0.05), 0 4px 12px -2px rgba(0, 0, 0, 0.03);
   	--csw-shadow-hover: 0 25px 35px -5px rgba(137, 11, 135, 0.15), 0 10px 20px -5px rgba(137, 11, 135, 0.08);
   }

   html, body {
    height: 100%;
    background-color: #f6f9fc;
    font-family: "Raleway", sans-serif;
    font-size: 1rem;
    color: #444;
    line-height: 1.6;
  }

  a {
    color: var(--csw-primary);
    text-decoration: none;
    transition: all 0.3s ease;
  }
  a:hover {
    color: var(--csw-primary-hover);
  }

  h1 {
    color: var(--csw-primary);
    font-size: 2rem;
    margin-bottom: 10px;
    letter-spacing: -1px;
  }
  h2 {
    font-size: 1.8rem;
    margin-bottom: 16px;
  }
  h3,
  h4,
  h5,
  h6 {
    font-weight: 600;
    margin-bottom: 16px;
  }
  h3 {
    font-size: 1.5625rem;
  }
  h4 {
    font-size: 1.375rem;
  }
  h5 {
    font-size: 1.125rem;
  }
  h6 {
    font-size: 1rem;
  }
  p,
  li {
    text-align: justify;
  }
  p {
    margin-bottom: 20px;
  }
  hr{
    margin-top: 22px;
    margin-bottom: 22px;
    border: 0;
    border-top-width: 0px;
    border-top-style: none;
    border-top-color: currentcolor;
    border-top: 1px solid var(--csw-border-light);
  }
  .text-left{
    text-align: left;
  }
  .text-center,
  .text-center p{
    text-align: center;
  }
  .text-right{
    text-align: right;
  }

  .hidden{
    display: none;
  }


  a,
  a p,
  label,
  select,
  .go-top,
  .sub-arrow,
  .wpcf7-date,
  .close-modal,
  input.timepicker,
  .post-list-thumb,
  input[type="radio"],
  .nav-mobile-trigger,
  .scale-img img:hover,
  input.datepicker-input,
  .input-daterange input,
  .owl-carousel .owl-dot,
  .owl-carousel .owl-next,
  .owl-carousel .owl-prev,
  .owl-carousel .owl-video-play-icon,
  .csw-carousel-gallery .owl-item:not(.center),
  .gallery .gallery-item .gallery-icon a .icon,
  .navi .navi-block ul.sub-menu li ul li a:hover{
    cursor:pointer
  }

  main blockquote::before,
  .nav-links .prev::before,
  .nav-links .next::before,
  .foot .menu li a::before,
  a.csw_accordeon-link::after,
  .sidebar .widget_search .searchform div::after,
  .navi .menu-item-summary ul li::before,
  .navi .navi-block ul.sub-menu li ul li a::before,
  .navi .main-menu>li.menu-item-has-children>a::after,
  .wpb_text_column ul:not(.widSSPBullet, .csw_icon-column, .share-button) li::before{
    font-family:"cswicons";
  }

   .img-zoom img,
   .column-wrap a,
   .header .brand,
   .header .brand img,
   .img-zoom .child,
   .grid-item a img,
   .main .thumb-overlay,
   .skin-thumb::before,
   .gallery-thumb::after,
   .vc_icon_element-icon,
   .csw_post_heading a,
   .owl-item.center img,
   .vc_custom_heading a,
   li.menu-with-img img,
   .book-footer .cart-list,
   .payment-options .payment,
   .csw_post_heading::before,
   .vc_custom_heading::before,
   .vc_icon_element-inner::after,
   .custom-icon .vc_icon_element-inner,
   .custom-icon .vc_row .vc_icon_element-inner{
    -webkit-transition:all .7s ease-in-out;
    -moz-transition:all .7s ease-in-out;
    -o-transition:all .7s ease-in-out;
    transition:all .7s ease-in-out
   }
   a,
   .csw-btn,
   .navi,
   .icon,
   button,
   a::after,
   a::before,
   .logo img,
   li::after,
   li::before,
   .footer img,
   .icon::after,
   .icon::before,
   .social-side li,
   .csw_icon-picker,
   .wpb_text_column,
   .csw-banner .carousel-control,
   .csw-term-banner .carousel-control,
   .calendar-body .datepicker-inline td{
    -webkit-transition:all .3s ease;
    -moz-transition:all .3s ease;
    -o-transition:all .3s ease;
    transition:all .3s ease
   }
   .logo img:hover,
   .logo img:focus,
   .logo img:active,
   .footer img:hover,
   .footer img:focus,
   .footer img:active{
    -webkit-animation-name:csw-wobble-horizontal;
    animation-name:csw-wobble-horizontal;
    -webkit-animation-duration:1s;
    animation-duration:1s;
    -webkit-animation-timing-function:ease-in-out;
    animation-timing-function:ease-in-out;
    -webkit-animation-iteration-count:1;
    animation-iteration-count:1
   }
   .icon-rotate i:hover{
    transform:rotate(360deg)!important
   }
  .go-top {
    background: var(--csw-primary);
    position: fixed;
    color: #fff;
    bottom: 160px;
    right: 0.625rem;
    display: none;
    z-index: 1001;
    border-radius: 50%;
  }

  .csw-btn.go-top{
    background: var(--csw-primary);
    position:fixed;
    color: var(--csw-text-light);
    bottom: 160px;
    right:0.625rem;
    padding: 0.75rem 1rem;
    display:none;
    z-index:1001;
    border-radius:50%
  }
  .skip-link {
    position: absolute;
    top: -100px;
    left: 0;
    background: var(--csw-primary);
    color: white;
    padding: 8px;
    z-index: 100;
  }

  .skip-link:focus {
    top: 0;
  }


/* --- Sistema de Botones Colca Studios --- */
.csw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  border-radius: var(--csw-radius);
  transition: var(--csw-transition);
  text-decoration: none;
  border: none;
  cursor: pointer;
  gap: 0.5rem;
  line-height: 1.2;
  position: relative;
  font-size: 0.875rem;
  font-family: inherit;
}
.csw-btn:not(.csw-btn-default):hover {
  color: var(--csw-text-light);
}
/* Tamaños */
.csw-btn-lg { padding: 1rem 2rem; font-size: 1.1rem; }
.csw-btn-sm { padding: 0.4rem 0.8rem; font-size: 0.85rem; border-radius: var(--csw-sm-radius); }
.csw-btn-xs {
  padding: 0.2rem 0.5rem;
  font-size: 0.75rem;
  line-height: 1;
  border-radius: 4px;
}
.csw-btn-block { display: flex; width: 100%; margin-bottom: 0.5rem; }

/* Variantes */
.csw-btn-primary { background-color: var(--csw-primary); color: var(--csw-text-light); }
.csw-btn-primary.active,
.csw-btn-primary:hover { background-color: var(--csw-primary-hover); box-shadow: var(--csw-shadow-hover); }

.csw-btn-success { background-color: var(--csw-success); color: var(--csw-text-light); }
.csw-btn-success:hover { background-color: var(--csw-success-hover);}

.csw-btn-info { background-color: var(--csw-info); color: var(--csw-text-light); }
.csw-btn-info:hover { background-color: var(--csw-info-hover); }

.csw-btn-warning { background-color: var(--csw-warning); color: var(--csw-text-warning-dark); }
.csw-btn-warning:hover { background-color: var(--csw-warning-hover); }

.csw-btn-danger { background-color: var(--csw-danger); color: var(--csw-text-light); }
.csw-btn-danger:hover { background-color: var(--csw-danger-hover) }

/* Contenedor de grupo de botones */
.csw-btn-group {
  display: inline-flex;
  vertical-align: middle;
}
/* 8. Default (Acción neutra o secundaria) */
.csw-btn-default {
  background-color: #f8f9fa;
  color: var(--csw-text-main);
  border: 1px solid #e2e8f0;
}

.csw-btn-default:hover {
  background-color: #e2e8f0;
  color: var(--csw-text-main);
  border-color: #cbd5e1;
}

/* Estado deshabilitado para el botón por defecto */
.csw-btn-default:disabled,
.csw-btn-default.disabled {
  background-color: #f1f5f9;
  color: #cbd5e1;
  border-color: #e2e8f0;
}
/* Ajustes para botones dentro del grupo */
.csw-btn-group > .csw-btn {
  position: relative;
  border-radius: 0; /* Quitamos bordes redondeados internos */
}

/* Primer botón del grupo: bordes izquierdos redondeados */
.csw-btn-group > .csw-btn:first-child {
  border-top-left-radius: 32px;
  border-bottom-left-radius: 32px;
}

/* Último botón del grupo: bordes derechos redondeados */
.csw-btn-group > .csw-btn:last-child {
  border-top-right-radius: 32px;
  border-bottom-right-radius: 32px;
}

/* Margen sutil entre botones (opcional, según tu preferencia) */
.csw-btn-group > .csw-btn:not(:last-child) {
  margin-right: 2px;
}
.csw-btn-link{
  padding: 5px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.csw-btn-link:hover{
  color: var(--csw-text-main);
}
.item-btn{
  list-style: none;
}
.csw-alert {
  list-style: none;
  padding: 0.75rem 1rem;
  margin-bottom: 1rem;
  border: 1px solid transparent;
  border-radius: 12px;
}

.csw-alert-dafault{
  color: var(--csw-text-main);
  border:0.0625rem solid #ddd;
  background-color:#f9f9f9
}

.csw-alert-warning { background: #fff3cd; color: #856404; border-color: #E3CE8F!important; }
.csw-alert-success { background: #d4edda; color: #155724; border-color: #A1D1AC!important; }
.csw-alert-info    { background: #d1ecf1; color: #0c5460; border-color: #99C8CF!important; }
.csw-alert-danger  { background: #f8d7da; color: #721c24; border-color: #DBA6AC!important; }
.csw-alert-sm      { padding: 0.4rem 0.6rem; font-size: 0.9rem; }

.csw-badge {
  display: inline-block;
  padding: 0.25em 0.6em;
  font-size: 85%;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  border-radius: 12px;
  background-color: #e2e8f0;
  color:  var(--csw-text-main);
  font-family: inherit;
}

.csw-badge-danger { background-color: var(--csw-danger); color: var(--csw-text-light); }
.csw-badge-primary { background-color: var(--csw-primary); color: var(--csw-text-light); }
.csw-badge-success { background-color: var(--csw-success); color: var(--csw-text-light); }

.csw-btn .csw-badge {
  top: -0.3125rem;
  right: 0;
  color: var(--csw-text-light);
  position: absolute;
  background-color: var(--csw-danger);
}
/* Variantes de Color para Badges */

/* Info: Para información adicional, IDs o datos de navegación */
.csw-badge-info {
  background-color: var(--csw-cyan);
  color: var(--csw-text-light);
}

/* Warning: Para estados de alerta, pendientes o avisos de disponibilidad */
.csw-badge-warning {
  background-color:  var(--csw-warning);
  color: var(--csw-text-warning-dark);
}
.csw-btn .cswicon-cart{
  position: relative;
}
.csw-btn .cswicon-cart .csw-badge {
  top: -1rem;
  right: -1rem;
}
.csw-label {
  display: inline-block;
  margin-bottom: 0.5rem;
  font-weight: 600;
  color: var(--csw-text-main);
  font-size: 0.95rem;
}
.csw-text-through { text-decoration: line-through; color: var(--csw-text-muted); }

.offer-wrap{
	position:absolute;
	width:4.6875rem;
	height:2.6875rem;
	transform:rotate(45deg);
	right:-1.6875rem;
	top:-0.625rem;
	line-height:4.0625rem;
	text-align:center;
	color:var(--csw-text-light);
	font-size:0.875rem;
	font-weight:700;
	z-index:8;
	background-color:var(--csw-danger)
}

.csw-skin-img .offer-wrap{
	left: 0.8125rem;
	top: 1.25rem;
	right: auto;
	transform: none;
	line-height: 1.5625rem;
	height: 1.5625rem;
	width: 5rem;
	background-color: #8EBA3B;
	border-radius: 0.8125rem 3.125rem 3.125rem 0 !important;
}
.csw-skin-img .offer-wrap::before,
.csw-skin-img .offer-wrap::after{
	content: "";
  position: absolute;
  top: 100%;
  left: 0;
  width: 0.25rem !important;
  background-color: var(--wpte-discount-color, #68921A);
}
.csw-skin-img .offer-wrap::before{
	height:0.15625rem;
}
.csw-skin-img .offer-wrap::after{
	height: 0.3125rem !important;
  background-color: var(--wpte-discount-color, #68921A);
  border-radius: 0.25rem 0 0 0.25rem !important;
  filter: brightness(0.6);
}
.rank-math-breadcrumb{
	margin-bottom: 20px;
}

/* El Row principal que separa el contenido del header/footer */
.site-main-row {
  width: 100%;
  padding: 0 15px;
  display: block;
  clear: both;
}

.site-content{
  padding: 0 30px;
}
.site-main {
  width: 100%;
}
.site-main p:last-child{
  margin-bottom: 0;
}
.site-main ul:not(.menu){
  padding-left: 30px;
  margin-bottom: 20px;
  list-style: disc;
}
.site-hero-title{
  margin: 20px auto;
}
.home .site-hero-title{
  position: absolute;
  left: 50%;
  bottom: 50px;
  z-index: 50;
  max-width: 650px;
  transform: translateX(-50%);
}
/* El Contenedor fluido con tope en 1900px */
.content-container {
  width: 100%;
  max-width: 1900px;
  margin-left: auto;
  margin-right: auto;
  padding-left: clamp(1.25rem, 4vw, 3.5rem);
  padding-right: clamp(1.25rem, 4vw, 3.5rem);
  box-sizing: border-box;
}

.content-container::after {
  content: "";
  display: table;
  clear: both;
}

/* Tipografía controlada para el contenido modular */
.content-container h1 {
  color: var(--csw-primary);
  font-size: 2.5rem;
  margin-bottom: 20px;
  text-align: center;
  letter-spacing: -1px;
}

.content-container h2 {
  font-size: 1.5rem;
  margin: 35px 0 20px;
  color: #333;
  border-left: 5px solid #FFC62D;
  padding-left: 15px;
}

.content-container p {
  margin-bottom: 20px;
  text-align: justify;
}

/* Respeto de elementos multimedia pesados insertados por el usuario */
.content-container img,
.content-container iframe,
.content-container video {
  max-width: 100%;
  height: auto;
}

/* Contenedor estándar reutilizado en Header y Footer clásicos */

.container {
  width: 98%;
  max-width: 1300px;
  margin: 0 auto;
}
.container-fluid,
.vc_section > .vc_row.wpb_row.vc_row-fluid,
.vc_section .vc_row[data-vc-full-width="true"] .vc_column-inner,
.vc_section .vc_row .vc_row .vc_column-inner{
  max-width:1300px;
  position:relative;
  margin: auto!important;
  width: 100%;
}
.vc_section .vc_row-fluid{
  padding-top: 20px;
  padding-bottom: 20px;
}
.vc_section .vc_row .csw-tour-pills-wrapper .vc_row .vc_column-inner{
  margin-top: 0!important;
  margin-bottom: 0!important;
}
.site-main .wpb_widgetised_column_heading, body .widget.no-title .widget-title, .site-main .not-list.wpb_text_column .wpb_wrapper ul li::before {
  display: none !important;
}
.vc_section .vc_row-fluid::not(:last-child) {
  padding-bottom: 20px;
}
.vc_section li{
  padding-left: 12px;
}
.vc_section.pd-top{
  padding-top: 30px;
}
.vc_section.pd-bottom{
  padding-bottom: 30px;
}
.vc_section.intro{
  background: linear-gradient(to bottom,  rgba(0,0,0,0.05) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 100%);
}

.include-container{
  margin-top: 20px;
  margin-bottom: 0;
}
.includes,
.not-included{
  padding: 10px 15px;
  border-radius: var(--csw-sm-radius);
  border: 1px solid oklch(92.5% .084 155.995);
  background: oklch(.98 .02 155.83/.43);
}
.includes h3{
  color: var(--csw-success-hover);
}
.site-main .includes ul,
.site-main .not-included ul{
  padding-left: 12px;
}
.includes ul li::marker {
  content: "✓";
  color: var(--csw-success-hover);
}
.not-included {
  background: oklch(.97 .01 17.38/.33);
  border-color: oklch(88.5% .062 18.334);
}
.not-included h3{
  color: var(--csw-primary-hover);
}
.not-included ul li::marker {
  content: "✕";
  padding-right: 6px;
  color: var(--csw-primary-hover);
}

.img-zoom,.skin-thumb{
  overflow:hidden;
  position:relative
}
.owl-item.center:hover img,
li.menu-with-img:hover img,
.img-zoom:hover img,.img-zoom:hover .child{
  transform:scale(1.15) rotateZ(0deg);
  -moz-transform:scale(1.15) rotateZ(0deg);
  -webkit-transform:scale(1.15) rotateZ(0deg);
  -o-transform:scale(1.15) rotateZ(0deg)
}
/* ==========================================================================
   3. HEADER, TOP BAR & BRANDING CLÁSICO
   ========================================================================== */
   .site-header {
    position: relative;
    width: 100%;
    padding: 0;
    z-index: 100;
    font-size: 16px;
    text-align: center;
  }

  .top-bar {
    color: #fff;
    padding: 5px 0;
    background: var(--csw-text-main);
  }

  .top-bar:not(.head) a {
    color: #fff;
  }

  .top-bar a:hover {
    color: #FFC62D;
  }

  .top-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 0 15px;
  }

  .top-item {
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .top-item p {
    margin: 0;
  }

/* Redes */
.social-list {
  display: flex;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.social-list a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  opacity: .8;
  padding: 5px;
}

.social-list a:hover {
  opacity: 1;
}

/* Elementos Destacados de Contacto */
.top-bar ul,
.top-bar ul li {
  padding: 0;
  margin: 0;
  list-style: none;
}

.top-bar ul {
  display: flex;
  gap: 10px;
  align-items: center;
}

.top-bar p {
  display: flex;
  gap: 15px;
}

.top-actions{
  margin-left: auto;
}
.top-bar a {
  color: var(--csw-text-light);
  padding: 4px 10px;
  border-radius: 50px;
  text-decoration: none;
  display: flex;
  gap: 10px;
  align-items: center;
}

.top-actions a:hover {
  color: #fff;
}

.top-bar .csw-catalog a { background: var(--csw-warning); color: var(--csw-text-main); }
.top-bar .csw-catalog a:hover { background: var(--csw-warning-hover); }
.top-actions .blog a { background: var(--csw-primary); }
.top-actions .blog a:hover { background: #BB033B; }
.top-actions .contact a { background: var(--csw-primary); }
.top-actions .contact a:hover { background: #BB033B; }
.top-actions .whatsapp a { background: #06A341; }
.top-actions .whatsapp a:hover { background: #14B952; }
.top-actions .csw-cart-menu-item a { background: #D9940F; }
.top-actions .csw-cart-menu-item a:hover { background: #BB8503; }

.top-bar .search a {
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.5);
}
.top-bar .search .no-mobile {
  min-width: 140px;
}

.top-bar .search a:hover {
  background: #ABABAB;
}

/* Head bar */
.top-bar.head{
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(4px);
}
.head a .cswicon-tripadvisor{
  color: #000;
  width: 64px;
  height: 64px;
  line-height: 64px;
  text-align: center;
  margin: 0;
  font-size: 2rem;
  border-radius: 50%;
  display: inline-block;
  background-color: #34E0A1;
}
.head a .cswicon-tripadvisor:hover{
  background-color: #23CD8F;
}
.top-bar.head .top-item {
  margin: auto;
}
.top-bar .get-your-guide:hover{
  opacity: 0.8;
}


/* Brading */
.site-branding {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  padding: 10px 20px 20px 20px;
  display: inline-flex;
  border-radius: 0 0 50% 50%;
  backdrop-filter: blur(4px);
  z-index: 110;
  background: rgba(255, 255, 255, 0.7);
}

.site-branding img {
  max-width: 140px;
  height: auto;
  display: block;
  margin: 0 auto;
  cursor: pointer;
  animation: latido 5s infinite ease-in-out;
}

/* ==========================================================================
   4. MEGA MENU OPTIMIZADO
   ========================================================================== */
   .top-bar a{
    font-size: 14px;
    font-weight: 600;
   }
   ul.menu .wpml-ls-menu-item a{
    padding: 0;
   }
   .main-navigation .menu li {
    list-style: none;
  }

  @media(min-width: 1024px) {
    .main-navigation {
      width: 100%;
      position: relative;
      z-index: 101;
      background: rgba(255,255,255,0.5);
      backdrop-filter: blur(4px);
      box-shadow: 0 5px 15px rgba(0,0,0,0.05);
    }

    .main-navigation .container {
      display: flex;
      align-items: center;
      position: relative;
      justify-content: space-between;
    }

    .main-navigation .menu {
      display: flex;
      gap: 20px;
      align-items: center;
      padding: 0;
      flex-grow: 1;
      justify-content: space-between;
    }

    .main-navigation .menu li {
      margin: 0;
      display: inline-block;
    }

    .menu li.menu-item-right {
      margin-left: auto;
    }

    .main-navigation .menu a {
      font-weight: 700;
      color: #000;
      font-size: 14px;
      padding: 10px 16px;
      border-radius: 36px;
      transition: all 0.3s ease;
      display: inline-block;
      text-align: center;
    }

    .main-navigation .menu>li>a:hover {
      background-color: var(--csw-primary);
      color: #fff;
    }

    .main-navigation .menu > li {
      position: static;
    }

    .main-navigation .menu > li > a {
      position: relative;
      z-index: 1001;
    }

    .main-navigation .menu > li > .sub-menu {
      display: none !important;
      position: absolute;
      top: 100%;
      left: 15px;
      right: 15px;
      margin-top: 10px;
      background: var(--csw-text-light);
      box-shadow: 0 20px 40px rgba(0,0,0,0.15);
      z-index: 999;
      padding: 20px;
      grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
      gap: 30px;
      border-radius: 10px;
    }

    .main-navigation .menu > li:hover > .sub-menu {
      display: grid !important;
      animation: menuFadeIn 0.2s ease-out;
    }

    .main-navigation .menu > li::after {
      content: "";
      position: absolute;
      top: 80%;
      left: 0;
      width: 100%;
      height: 40px;
      display: none;
      z-index: 998;
      background: transparent;
    }

    .main-navigation .menu > li:hover::after {
      display: block;
    }

    .main-navigation .menu > li > .sub-menu li {
      text-align: left !important;
      display: block;
      width: 100%;
    }

    .main-navigation .menu > li > .sub-menu > li > a {
      color: var(--csw-text-muted) !important;
      font-weight: 700;
      text-transform: uppercase;
      border-bottom: 1px dotted var(--csw-text-main);
      padding-bottom: 12px !important;
      margin-bottom: 15px;
      text-align: left;
      display: block;
      width: 100%;
      border-radius: 0;
    }

    .main-navigation .menu > li > .sub-menu > li > .sub-menu {
      display: flex !important;
      flex-direction: column;
      align-items: flex-start;
      padding: 0;
      margin: 0;
      gap: 10px;
      list-style: none;
    }

    .main-navigation .menu > li > .sub-menu > li > .sub-menu li a {
      font-weight: 400;
      color: #555 !important;
      padding: 8px 10px !important;
      position: relative;
      border-radius: 4px;
      display: flex;
      width: 100%;
      border-bottom: 1px dotted var(--csw-text-muted);
      align-items: center;
      gap: 10px;
      text-align: left;
      font-weight: 600;
    }

    .main-navigation .menu > li > .sub-menu > li > .sub-menu a:hover {
      color: var(--csw-primary) !important;
      transform: translateX(5px);
      transition: transform 0.2s ease;
    }

    .main-navigation .sub-menu .sub-menu li a::before {
      content: "";
      width: 6px;
      height: 6px;
      background: var(--csw-primary);
      border-radius: 50%;
      display: inline-block;
    }

    .main-navigation .sub-menu .sub-menu li a:hover::before {
      background: var(--csw-primary);
    }
  }

  .icon-navigation {
    display: none;
  }

/* ==========================================================================
   5. NAVEGACIÓN EN BANNER & BUSCADOR (PORTADA)
   ========================================================================== */
   .second-navigation .container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: -60px;
    z-index: 99;
    position: relative;
    flex-direction: column;
    background: #fff;
    border-radius: 10px;
    max-width: 1024px;
    box-shadow: 0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);
  }

  .second-navigation .menu {
    list-style: none;
    display: flex;
    gap: 25px;
    margin-top: -30px;
    padding: 12px 8px 14px 8px;
    background: rgba(18,24,38,.8);
    backdrop-filter: blur(4px);
    border-radius: 50px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
  }

  .second-navigation .menu li {
    display: inline-block;
  }

  .second-navigation .menu a {
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    padding: 10px 20px;
    border-radius: 20px;
    transition: all 0.3s ease;
  }

  .second-navigation .menu a:hover {
    background: var(--csw-primary);
  }

  .search-form {
    padding: 24px 16px;
    width: 100%;
  }

  .search-form p {
    margin: 0;
    display: flex;
    gap: 16px;
  }

  .search-form button {
    background: #fff;
    border-radius: 6px;
    border: 1px solid #e5e7eb;
    padding: 16px;
    display: flex;
    gap: 16px;
    color: rgb(56, 66, 82);
    font-weight: 600;
  }

  .search-form button:first-child {
    width: 100%;
    text-align: left;
    box-shadow: 0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);
  }

  .search-form button:last-child {
    background: var(--csw-primary);
    border-color: #B80139;
    color: #fff;
    padding: 16px 24px;
    box-shadow: 0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);
  }

  .search-form button:last-child:hover {
    background: #CD0643;
    border-color: #A80134;
  }

/* ==========================================================================
   6. SIDEBAR DINÁMICO (MODO BLOQUE)
   ========================================================================== */

   .sidebar .widget-title,
   .sidebar .textwidget {
    padding:25px 16px;
    background: var(--csw-text-light);
    box-shadow:0px 0px 0px 1px rgba(0,0,0,0.02),0px 8px 16px 0px rgba(0,0,0,0.10);
  }
  .in-wrappper>.vc_column-inner>.wpb_wrapper{
    padding:15px 20px 40px 20px;
    border-radius: var(--csw-radius);
    box-shadow: var(--csw-shadow);
  }
  .in-wrappper .vc_icon_element,
  .in-wrappper .wpb_text_column{
    margin-bottom: 0;
  }
  .in-wrappper h3{
    font-size: 18px;
    margin-bottom: 0;
  }
  .sidebar .widget:not(:last-child){
    margin-bottom: 20px;
  }
  .sidebar .widget-title{
    margin: 0;
    border-radius: 16px;
  }
  .sidebar .textwidget {
    border-radius: 16px;
  }
  .csw-review-form{
    display: none;
  }
  .csw-review-form .glsr-field-rating.glsr-required{
    margin-top: 20px;
  }
  .csw-custom-content .shortcode-site-reviews{
    margin-bottom: 20px;
  }
  .theiaStickySidebar{
    padding: 15px;
  }
  .page-sidebar {
    width: 100%;
    padding: 20px;
    background-color: #fdfdfd;
    border: 1px solid #eee;
    border-radius: 8px;
    box-sizing: border-box;
  }
  .csw-related-title{
    width:fit-content;
    background-color: var(--csw-primary);
    color: var(--csw-text-light);
    display: flex;
    margin: 5px auto;
    padding: 5px 10px;
    border-radius: 4px;
    font-size: 14px;
    text-transform: uppercase;
  }

  .page-sidebar .widget-title {
    font-size: 1.3rem;
    margin-bottom: 15px;
    color: #333;
    border-left: 4px solid #FFC62D;
    padding-left: 10px;
  }

/* ==========================================================================
   7. PIE DE PÁGINA (FOOTER)
   ========================================================================== */
   .site-footer {
    background-color: #F1F2F3;
    color: #444;
    padding: 60px 0 0 0;
  }

  .site-footer a {
    color: #444;
  }

  .site-footer a:hover {
    color: #000;
  }

  .site-footer .container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }

  .site-footer .column {
    padding: 0 15px;
    margin: auto;
  }
  .menu-terms-container .menu{
    display: flex;
    gap: 20px;
  }

  .foot-branding {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .foot-branding img {
    max-width: 100%;
    height: auto;
  }

  .foot-address {
    flex: 0 0 25%;
    max-width: 50%;
  }

  .foot-address .cswicon {
    position: absolute;
    top: 10px;
    left: 0;
  }

  .foot-address .textwidget ul li {
    position: relative;
    padding-left: 30px;
  }

  .foot-social {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .foot-title,
  .site-footer .widget-title {
    color: #000;
    font-size: 1.5rem;
    margin-bottom: 15px;
  }

  .site-footer ul {
    list-style: none;
  }

  .site-footer ul li {
    padding: 4px 0;
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    align-items: center;
  }

  .foot-social ul {
    display: flex;
    gap: 15px;
  }

  .foot-social a {
    font-size: 1.4rem;
  }

  .footer-bottom {
    color: #777;
    margin-top: 30px;
  }

  .footer-bottom a {
    color: #777;
    font-weight: 700;
  }

  .footer-bottom .container {
    padding-top: 30px;
    padding-bottom: 30px;
    border-top: 1px solid rgba(255,255,255,1);
  }

  .footer-bottom p {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
    font-size: 0.9rem;
  }

/* Structural layouts */
#page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

#content {
  flex: 1 0 auto;
}

/* ==========================================================================
   8. CORRESPONDENCIA CON THEME.JSON (ROW & CONTAINER DE GUTENBERG)
   ========================================================================== */

/* Bloque Grupo en modo "Ancho Completo" -> Actúa como tu ROW */
.wp-block-group.alignfull {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}

/* Forzar que el contenedor interno del Grupo sea tu Container centrado (Tope 1900px) */
.wp-block-group.alignfull > .wp-block-group__inner-container,
.wp-block-group.alignfull > * {
  width: 98% !important;
  max-width: 1900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

/* El bloque Columnas nativo que hereda el ancho máximo del tema */
.wp-block-columns.alignwide {
  width: 98% !important;
  max-width: 1900px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}