/* GENERAL CONTENT */

  .meta-tour-1:hover .elementor-icon{
    background-color: var(--index-primary) !important;
    color: #fff !important;
}

/* ADDONS extras */ 

    .aah-addons-header {
      display: flex;
      justify-content: space-between;
      border-bottom: 2px solid var(--index-dark);
      padding-bottom: var(--spacer-2);
      margin-bottom: 2px;
      counter-reset: addons;
    }

    .aah-addons-header span {
      font-family: var(--index-title-font), sans-serif;
      font-size: var(--index-font-sm);
      font-weight: 700;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--index-dark);
    }

    .aah-addons-header span:first-child::before {
      content: "";
      display: inline-block;
      width: 3px;
      height: 10px;
      background: var(--index-primary);
      border-radius: 2px;
      margin-right: 6px;
      vertical-align: -1px;
    }

    /* ── Row ── */
    .aah-addons-row {
      display: flex;
      gap: var(--spacer-3);
      padding: var(--spacer-3) var(--spacer-2);
      align-items: flex-start;
      border-bottom: 1px solid var(--index-light);
      transition: background .15s;
      counter-increment: addons;
    }

    .aah-addons-row:last-child {
      border-bottom: none;
    }

    .aah-addons-row:hover {
      background: var(--index-cyan-soft);
    }

    /* ── Counter ── */
    .aah-addons-num {
      font-family: var(--index-title-font), sans-serif;
      font-size: 11px;
      font-weight: 700;
      min-width: 24px;
      height: 24px;
      display: flex;
      align-items: center;
      justify-content: center;
      border-radius: var(--index-radius-sm);
      background: var(--index-primary);
      color: var(--index-white);
      flex-shrink: 0;
      transition: transform .15s;
    }

    .aah-addons-row:hover .aah-addons-num {
      transform: scale(1.15);
    }

    .aah-addons-num::before {
      content: counter(addons, decimal-leading-zero);
    }

    /* ── Text ── */
    .aah-addons-name {
      font-family: var(--index-title-font), sans-serif;
      font-size: var(--font-15);
      font-weight: 600;
      color: var(--index-dark);
      line-height: 1.35;
      margin-bottom: var(--spacer-1);
    }

    .aah-addons-note {
      font-family: var(--index-body-font), sans-serif;
      font-size: var(--index-font-sm);
      color: var(--muted);
      line-height: 1.55;
    }

    .aah-addons-text {
      flex: 1;
      min-width: 0;
    }

    /* ── Price ── */
    .aah-addons-price {
      text-align: right;
      flex-shrink: 0;
    }

    .aah-addons-price-amount {
      font-family: var(--index-title-font), sans-serif;
      font-size: var(--font-15);
      font-weight: 700;
      color: var(--index-dark);
      line-height: 1.2;
    }

    .aah-addons-price-sub {
      font-family: var(--index-body-font), sans-serif;
      font-size: var(--index-font-xs);
      color: var(--muted);
      margin-top: 3px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      font-weight: 500;
    }

    .aah-addons-price-req {
      font-family: var(--index-title-font), sans-serif;
      font-size: var(--index-font-xs);
      font-weight: 600;
      color: var(--index-primary-hover);
      background: var(--index-cyan-soft);
      padding: var(--spacer-1) var(--spacer-2);
      border-radius: var(--index-radius-sm);
      display: inline-block;
    }

    /* ── Responsive ── */
    @media (max-width: 767px) {
      .aah-addons-row {
        flex-wrap: wrap;
        gap: var(--spacer-2);
        padding: var(--spacer-2) 6px;
      }

      .aah-addons-num {
        min-width: 22px;
        height: 22px;
        font-size: 10px;
      }

      .aah-addons-text {
        flex: 1 1 calc(100% - 38px);
      }

      .aah-addons-price {
        width: 100%;
        padding-left: 36px;
        text-align: left;
      }
    }
    
    
/* END addons Extras */

/* INCLUSIONS */

    /* INCLUDE */
    .tour-include ul {
      list-style: none;
      padding-left: 1.5rem;
      margin: 0;
    }
    .tour-include ul li {
      font-family: var(--index-body-font);
      position: relative;
      margin-bottom: 0.5rem;
      font-size: var(--font-15);
      line-height: 1.65;
      color: var(--texto);
    }
    .tour-include ul li:last-child { margin-bottom: 0; }
    .tour-include ul li::before {
      content: "\e182";
      font-family: "Phosphor-Light" !important;
      font-weight: 900;
      position: absolute;
      left: -1.5rem;
      top: 1px;
      color: #10B981;
    }

    /* EXCLUDE */
    .tour-exclude{
        /*border-width: 1px 1px 1px 1px !important;*/
        /*border-color: #f59e0b33 !important;*/
        /*border-left-color: #F59E0B  !important;*/
    }
    
    .tour-exclude ul {
      list-style: none;
      padding-left: 1.5rem;
      margin: 0;
    }
    .tour-exclude ul li {
      font-family: var(--index-body-font);
      position: relative;
      margin-bottom: 0.5rem;
      font-size: var(--font-15);
      line-height: 1.65;
      color: var(--texto);
    }
    .tour-exclude ul li:last-child { margin-bottom: 0; }
    .tour-exclude ul li::before {
      content: "\e4f6";
      font-family: "Phosphor-Light" !important;
      font-weight: 900;
      position: absolute;
      left: -1.5rem;
      top: 1px;
      color: #D97706;
    }

	/* WHAT TO PACK */

	.tour-pack ul {
	  list-style: none;
	  padding-left: 1.5rem;
	  margin: 0;
	}

	.tour-pack ul li {
	  font-family: var(--index-body-font);
	  position: relative;
	  margin-bottom: 0.5rem;
	  font-size: var(--font-15);
	  line-height: 1.65;
	  color: var(--texto);
	}

	.tour-pack ul li:last-child { margin-bottom: 0; }

	.tour-pack ul li::before {
	  content: "\e13a"; /* caret-right */
	  font-family: "Phosphor-Light" !important;
	  font-weight: 900;
	  position: absolute;
	  left: -1.5rem;
	  top: 1px;
	  color: var(--index-primary);
	}


    /* EXTRAS */
    .tour-extras ul {
      list-style: none;
      padding-left: 1.5rem;
      margin: 0;
    }
    .tour-extras ul li {
      font-family: var(--index-body-font);
      position: relative;
      margin-bottom: 0.5rem;
      font-size: var(--font-15);
      line-height: 1.65;
      color: var(--texto);
    }
    .tour-extras ul li:last-child { margin-bottom: 0; }
    .tour-extras ul li::before {
      content: "\e3d4";
      font-family: "Phosphor-Light" !important;
      font-weight: 900;
      position: absolute;
      left: -1.5rem;
      top: 1px;
      color: #6366F1;
    }
    
	/* ACCORDION INCLUSIONS */
	/*.aah-info-acc {*/
	/*  counter-reset: acc-count;*/
	/*}*/

	/*.aah-info-acc .e-n-accordion-item {*/
	/*  counter-increment: acc-count;*/
	/*}*/

	/* ── Número grande ── */
	.aah-info-acc .e-n-accordion-item > summary {
	  display: flex;
	  align-items: center;
	  gap: 18px;
	}

	/*.aah-info-acc .e-n-accordion-item > summary::before {*/
	/*  content: counter(acc-count, decimal-leading-zero);*/
	/*  font-family: 'DM Sans', sans-serif;*/
	/*  font-size: 30px;*/
	/*  font-weight: 700;*/
	/*  color: #E5E9EF;*/
	/*  letter-spacing: -0.04em;*/
	/*  line-height: 1;*/
	/*  flex-shrink: 0;*/
	/*  transition: color .25s;*/
	/*}*/

	.aah-info-acc .e-n-accordion-item[open] > summary::before {
	  color: var(--index-primary-hover);
	}

	.aah-info-acc .e-n-accordion-item:first-child > summary {
	  border-radius: 8px 8px 0 0;
	}

	.aah-info-acc .e-n-accordion-item:last-child > summary {
	  border-radius: 0 0 8px 8px;
	}

	.aah-info-acc .e-n-accordion-item:last-child[open] > summary {
	  border-radius: 0;
	}

	.aah-info-acc .e-n-accordion-item > summary {
	  border-bottom: 1px solid #f3f4f6 !important;
	}

	.aah-info-acc .e-n-accordion-item:last-child:not([open]) > summary {
	  border-bottom: none;
	}
	.tour-pack > strong {
	  font-family: var(--index-title-font);
	  font-size: var(--font-15);
	  font-weight: 700;
	  color: var(--index-dark);
	  display: block;
	  margin-top: 1rem;
	  margin-bottom: 1rem;
	}

	.tour-pack > strong:first-child {
	  margin-top: 0;
	}





	/* ── Ícono Phosphor inline ── */
	.aah-info-acc .e-n-accordion-item-title-header::before {
	  font-family: "Phosphor-Light";
	  font-size: 1.2rem;
	  color: var(--index-primary);
	  margin-right: 10px;
	  vertical-align: middle;
	}

	.aah-info-acc .e-n-accordion-item:nth-child(1) .e-n-accordion-item-title-header::before { content: "\e184"; }
	.aah-info-acc .e-n-accordion-item:nth-child(2) .e-n-accordion-item-title-header::before { content: "\e4f8"; }
	.aah-info-acc .e-n-accordion-item:nth-child(3) .e-n-accordion-item-title-header::before { content: "\e922"; }
	.aah-info-acc .e-n-accordion-item:nth-child(4) .e-n-accordion-item-title-header::before { content: "\e3d6"; }




	/* ── Hover ── */
	.aah-info-acc .e-n-accordion-item:not([open]) > summary:hover::before {
	  color: #c5cad4;
	}

	/* ── Responsive ── */
	@media (max-width: 767px) {
	  .aah-info-acc .e-n-accordion-item > summary::before {
		font-size: 22px;
	  }
	  .aah-info-acc .e-n-accordion-item-title-header::before {
		font-size: 1rem;
		margin-right: 8px;
	  }
	}



/* END */    
    
/* PRICES TABLE */ 


  /* ── Component ── */
  .pt-container *,
  .pt-container *::before,
  .pt-container *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
  }

  .pt-container {
    font-family: var(--index-title-font), sans-serif;
    position: relative;
    width: 100%;

    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow:
      0 1px 2px rgba(14, 23, 38, .04),
      0 4px 16px rgba(14, 23, 38, .06),
      0 12px 40px rgba(14, 23, 38, .04);
    border: 1px solid #E5E9EF;
  }

  /* ── Row ── */
  .pt-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    padding: 22px 24px 22px 16px;
    background: var(--index-white);
    border-bottom: 1px solid #E5E9EF;
    transition:
      background .22s cubic-bezier(.22, .61, .36, 1),
      box-shadow .22s cubic-bezier(.22, .61, .36, 1);
    position: relative;
  }

  .pt-row:last-child {
    border-bottom: none;
  }

  .pt-row:hover {
    background: var(--index-cyan-soft);
    box-shadow: inset 3px 0 0 var(--index-primary);
  }

  /* timeline */
  .pt-row::before {
    content: '';
    position: absolute;
    left: calc(16px + 19px);
    top: 0;
    bottom: 0;
    width: 2px;
    background: #E5E9EF;
    pointer-events: none;
  }

  .pt-row:first-child::before {
    top: 50%;
  }

  .pt-row:last-child::before {
    bottom: 50%;
  }

  /* staggered entrance */
  @keyframes row-in {
    from {
      opacity: 0;
      transform: translateY(8px);
    }

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .pt-row {
    animation: row-in .4s cubic-bezier(.22, .61, .36, 1) both;
  }

  .pt-row:nth-child(1) {
    animation-delay: .05s;
  }

  .pt-row:nth-child(2) {
    animation-delay: .1s;
  }

  .pt-row:nth-child(3) {
    animation-delay: .15s;
  }

  .pt-row:nth-child(4) {
    animation-delay: .2s;
  }

  /* ── Node ── */
  .pt-node {
    width: 40px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .pt-node::after {
    content: '';
    width: 10px;
    height: 10px;
    border-radius: var(--index-radius-full);
    background: var(--index-cyan-soft);
    border: 2px solid var(--index-primary);
    position: relative;
    z-index: 1;
    transition:
      transform .28s cubic-bezier(.34, 1.56, .64, 1),
      background .2s cubic-bezier(.22, .61, .36, 1),
      box-shadow .28s cubic-bezier(.22, .61, .36, 1);
  }

  .pt-row:hover .pt-node::after {
    background: var(--index-primary);
    transform: scale(1.3);
    box-shadow: 0 0 0 3px var(--index-cyan-soft);
  }

  /* ── Label ── */
  .pt-label {
    flex: 1;
    min-width: 0;
    padding-left: 14px;
  }

  .pt-name {
    font-weight: 600;
    font-size: var(--font-15);
    color: var(--index-dark);
    transition: color .2s cubic-bezier(.22, .61, .36, 1);
  }

  .pt-row:hover .pt-name {
    color: #006A8A;
  }

  /* ── Duration ── */
  .pt-dur {
    font-size: var(--index-font-xs);
    color: var(--muted);
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 5px;
  }

  .pt-dur svg {
    flex-shrink: 0;
  }

  /* ── Price ── */
  .pt-price {
    text-align: right;
    padding-right: 18px;
    flex-shrink: 0;
  }

  .pt-per {
    font-size: 10px;
    color: var(--muted);
    display: block;
    margin-bottom: 2px;
    font-family: var(--index-body-font), sans-serif;
    text-transform: uppercase;
    letter-spacing: .04em;
  }

  .pt-amount {
    font-weight: 800;
    font-size: var(--font-15);
    color: var(--index-dark);
    letter-spacing: -.02em;
    white-space: nowrap;
    transition:
      color .2s cubic-bezier(.22, .61, .36, 1),
      transform .22s cubic-bezier(.22, .61, .36, 1);
    display: inline-block;
  }

  .pt-row:hover .pt-amount {
    color: #006A8A;
    transform: scale(1.04);
  }

  /* ── Button ── */
  .pt-btn {
    flex-shrink: 0;
    background: var(--Alternate-BG);
    color: var(--muted);
    border: none;
    border-radius: 0.5rem;
    padding: 10px 20px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
    white-space: nowrap;
    transition:
      background .2s cubic-bezier(.22, .61, .36, 1),
      color .2s cubic-bezier(.22, .61, .36, 1),
      transform .2s cubic-bezier(.34, 1.56, .64, 1),
      box-shadow .2s cubic-bezier(.22, .61, .36, 1);
  }

  .pt-btn:hover,
  .pt-row:hover .pt-btn {
    background: var(--index-primary);
    color: var(--index-white);
    box-shadow: 0 4px 14px rgba(0, 196, 255, .25);
    transform: translateY(-1px);
  }

  .pt-btn:active {
    transform: translateY(0) scale(.97);
    box-shadow: 0 2px 8px rgba(0, 196, 255, .2);
  }

  @media (max-width: 767px) {
    .pt-row::before {
      display: none;
    }

    .pt-node {
      width: auto;
      margin-right: 8px;
    }

    .pt-node::after {
      width: 8px;
      height: 8px;
    }

    .pt-row {
      display: grid;
      grid-template-areas:
        "node label price"
        "node label btn";
      grid-template-columns: auto 1fr auto;
      gap: 8px 0;
      align-items: center;
      padding: 14px 16px;
    }

    .pt-row:hover {
      box-shadow: inset 3px 0 0 var(--index-primary);
    }

    .pt-node {
      grid-area: node;
      align-self: center;
    }

    .pt-label {
      grid-area: label;
      padding-left: 0;
    }

    .pt-price {
      grid-area: price;
      text-align: center;
      padding-right: 0;
    }

    .pt-per {
      display: none;
    }

    .pt-btn {
      grid-area: btn;
      justify-self: center;
      padding: 8px 18px;
    }

    .pt-amount {
      font-size: var(--index-font-sm);
      color: var(--index-primary);
    }

    .pt-name {
      font-size: var(--index-font-sm);
    }
  }


/* END TABLE PRICES */ 

/* TIMELINE ITINERARY ACCORDIION */ 


 .tl {
    position: relative;
    margin-top: 24px;
    counter-reset: day-counter;
  }

  .tl::before {
    content: '';
    position: absolute;
    left: 24px;
    top: 24px;
    bottom: 24px;
    width: 2px;
    background: var(--index-primary);
    opacity: .2;
    border-radius: 2px;
  }

  .tl-day {
    display: grid;
    grid-template-columns: 50px 1fr;
    gap: 0;
    margin-bottom: 14px;
    counter-increment: day-counter;
  }

  .tl-day:last-child {
    margin-bottom: 0;
  }

  .tl-node {
    margin-top: 18px;
    justify-self: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--index-primary) 0%, var(--index-primary-hover) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--index-title-font), sans-serif;
    font-weight: 700;
    font-size: 15px;
    color: #fff;
    box-shadow: 0 0 0 6px var(--Alternate-BG), 0 8px 20px -6px rgba(0, 196, 255, .5);
    position: relative;
    z-index: 1;
    border: 2px solid #fff;
    transition: transform .25s ease, box-shadow .25s ease, filter .25s ease;
    cursor: default;
  }

  .tl-node::before {
    content: counter(day-counter, decimal-leading-zero);
  }

  .tl-node:hover {
    transform: scale(1.08);
    box-shadow: 0 0 0 6px var(--Alternate-BG), 0 0 18px rgba(0, 196, 255, .45), 0 8px 20px -6px rgba(0, 196, 255, .5);
  }
	/* Day static */
	.tl-day.tl-day--static {
	  counter-increment: none !important;
	}
	.tl-day.tl-day--static .tl-node::before {
	  content: none !important;
	  display: none !important; /* Refuerzo extra para ocultar el pseudo-elemento */
	}



  /* Card (details/summary) */
  details.tl-card {
    background: #fff;
    border-radius: var(--index-radius-sm);
    border: 1px solid #E5E9EF;
    margin-left: 14px;
    position: relative;
    box-shadow: 0 1px 2px rgba(14,23,38,.04), 0 1px 1px rgba(14,23,38,.03);
    transition: border-color .2s ease, box-shadow .2s ease;
  }

  details.tl-card.is-open {
    border-color: rgba(0, 196, 255, .35);
    box-shadow: 0 1px 2px rgba(14, 23, 38, .04), 0 18px 40px -18px rgba(0, 196, 255, .3);
    background: linear-gradient(180deg, #fff 0%, #F6FCFF 100%);
  }

  /* Summary trigger — scoped to .tl-card */
  .tl-card > summary {
    list-style: none;
    cursor: pointer;
    padding: 18px 22px;
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: left;
    border-radius: var(--index-radius-sm);
    -webkit-tap-highlight-color: transparent;
  }

  .tl-card > summary::-webkit-details-marker {
    display: none;
  }

  .tl-card > summary::marker {
    content: '';
  }

  .tl-card > summary:focus-visible {
    outline: 2px solid var(--index-primary);
    outline-offset: -2px;
  }

  .tl-title {
    flex: 1;
    min-width: 0;
    font-family: var(--index-title-font), sans-serif;
    font-weight: 700;
    font-size: 17px;
    letter-spacing: -.01em;
    margin: 0;
    line-height: 1.25;
    color: var(--index-dark);
    text-wrap: pretty;
  }

  .tl-chevron {
    color: var(--muted);
    font-size: 18px;
    transition: transform .2s ease, color .2s ease;
    flex-shrink: 0;
  }

  details.is-open .tl-chevron {
    transform: rotate(180deg);
    color: var(--index-primary);
  }

  /* Card body — animated via max-height + opacity */
  .tl-body {
    overflow: hidden;
    padding: 10px 22px 22px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-height: 1800px;
    opacity: 1;
    transition: max-height .25s ease, opacity .2s ease, padding .25s ease;
  }

  details.tl-card:not(.is-open) .tl-body,
  details.tl-card.is-closing .tl-body {
    max-height: 0;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
  }

  /* Stats — fluid chips */
  .tl-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .tl-stat {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px 10px 12px;
    background: #fff;
    border: 1px solid #E5E9EF;
    border-radius: var(--index-radius-sm);
    cursor: default;
    transition: all .25s cubic-bezier(.4, 0, .2, 1);
  }

  .tl-stat:hover {
    border-color: rgba(0, 196, 255, .3);
    box-shadow: 0 3px 12px rgba(0, 196, 255, .1);
    transform: translateY(-1px);
  }

  .tl-stat i {
    width: 28px;
    height: 28px;
    border-radius: var(--index-radius-xs);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    background: var(--index-cyan-soft);
    color: var(--index-primary-hover);
    flex-shrink: 0;
    transition: all .25s ease;
  }

  .tl-stat:hover i {
    background: var(--index-primary);
    color: #fff;
  }

  .tl-stat-text {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
  }

  .tl-stat-value {
    font-family: var(--index-title-font), sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: var(--index-dark);
  }

  .tl-stat-label {
    font-size: 10.5px;
    font-weight: 600;
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .05em;
  }

  /* Description */
  .tl-desc {
    font-family: var(--index-body-font), sans-serif;
    color: var(--texto);
    font-size: 15px;
    line-height: 1.7;
    margin: 0;
    text-wrap: pretty;
  }

  .tl-desc + .tl-desc {
    margin-top: 10px;
  }

  /* Meals legend — minimal editorial strip */
  .meals-legend {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
    padding: 0 0 0 2px;
    margin-bottom: 22px;
    border-bottom: 1px solid #E5E9EF;
    padding-bottom: 14px;
  }

  .meals-legend-title {
    font-family: var(--index-title-font), sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: var(--index-dark);
    letter-spacing: .03em;
    text-transform: uppercase;
    margin-right: 4px;
  }

  .meals-legend-item {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 12.5px;
    color: var(--muted);
    font-weight: 500;
    letter-spacing: .01em;
  }

  /* Meal badge — shared pill base */
  .meal-badge {
    border-radius: var(--index-radius-xs);
    background: linear-gradient(135deg, var(--index-primary) 0%, var(--index-primary-hover) 100%);
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: 0;
    box-shadow: 0 2px 6px rgba(0, 196, 255, .25);
  }

  .meal-badge--sm {
    width: 22px;
    height: 22px;
  }

  .meal-badge--lg {
    width: 26px;
    height: 26px;
    transition: transform .15s ease, box-shadow .15s ease;
  }

  .meal-badge--lg:hover {
    transform: scale(1.12);
    box-shadow: 0 3px 10px rgba(0, 196, 255, .35);
  }

  /* Meals row — inside each day card */
  .day-meals {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
    padding: 10px 14px;
    background: var(--Alternate-BG);
    border-radius: 0 var(--index-radius-sm) var(--index-radius-sm) 0;
    border-left: 3px solid var(--index-primary);
  }

  .day-meals-label {
    font-size: 11px;
    font-weight: 700;
    color: var(--index-dark);
    text-transform: uppercase;
    letter-spacing: .05em;
    font-family: var(--index-title-font), sans-serif;
    margin-right: 8px;
  }

  .day-meals-badges {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
  }

  /* Overnight bar — Starfield Aurora */
  .tl-overnight {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 22px;
    background:
      linear-gradient(170deg, rgba(7, 13, 26, .65) 0%, rgba(12, 22, 40, .58) 35%, rgba(15, 29, 53, .55) 70%, rgba(16, 24, 38, .62) 100%),
      url('/wp/wp-content/uploads/2026/05/overnight.webp') center / cover no-repeat;
    border-radius: var(--index-radius-sm);
    color: #fff;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(0, 196, 255, .12);
    border-top: 2px solid;
    border-image: linear-gradient(90deg, rgba(0, 196, 255, .0), rgba(0, 196, 255, .5) 30%, rgba(56, 224, 187, .4) 60%, rgba(139, 92, 246, .3) 85%, transparent) 1;
    transition: box-shadow .35s ease, border-color .35s ease;
    cursor: default;
  }

  .tl-overnight:hover {
    background:
      linear-gradient(170deg, rgba(7, 13, 26, .52) 0%, rgba(12, 22, 40, .45) 35%, rgba(15, 29, 53, .4) 70%, rgba(16, 24, 38, .5) 100%),
      url('/wp/wp-content/uploads/2026/05/overnight.webp') center / cover no-repeat;
    border-color: rgba(0, 196, 255, .3);
    box-shadow: 0 0 24px rgba(0, 196, 255, .15), 0 8px 32px -8px rgba(0, 196, 255, .2);
  }

  .tl-overnight::before {
    content: '';
    position: absolute;
    top: -40%;
    left: -10%;
    width: 120%;
    height: 100%;
    background: radial-gradient(ellipse at 30% 0%, rgba(0, 196, 255, .06) 0%, transparent 60%),
      radial-gradient(ellipse at 70% 0%, rgba(56, 224, 187, .04) 0%, transparent 50%);
    pointer-events: none;
  }

  .tl-overnight > i {
    width: 40px;
    height: 40px;
    border-radius: var(--index-radius-sm);
    background: radial-gradient(circle, rgba(0, 196, 255, .15) 0%, rgba(0, 196, 255, .05) 100%);
    border: 1px solid rgba(0, 196, 255, .2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    box-shadow: 0 0 20px rgba(0, 196, 255, .12), inset 0 0 8px rgba(0, 196, 255, .08);
    color: #5CE0D6;
    font-size: 1.25rem;
    animation: moonPulse 4s ease-in-out infinite;
    transition: transform .35s ease, box-shadow .35s ease, color .35s ease, background .35s ease, border-color .35s ease;
  }

  .tl-overnight:hover > i {
    transform: scale(1.12);
    background: radial-gradient(circle, rgba(0, 196, 255, .28) 0%, rgba(0, 196, 255, .1) 100%);
    border-color: rgba(0, 196, 255, .45);
    box-shadow: 0 0 30px rgba(0, 196, 255, .3), inset 0 0 12px rgba(0, 196, 255, .15);
    color: #00E5FF;
    animation: none;
  }

  @keyframes moonPulse {
    0%, 100% {
      box-shadow: 0 0 20px rgba(0, 196, 255, .12), inset 0 0 8px rgba(0, 196, 255, .08);
    }
    50% {
      box-shadow: 0 0 28px rgba(0, 196, 255, .2), inset 0 0 12px rgba(0, 196, 255, .12);
    }
  }

  .tl-overnight-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 3px;
  }

  .tl-overnight-label {
    font-size: 10px;
    font-weight: 700;
    color: rgba(92, 224, 214, .5);
    text-transform: uppercase;
    letter-spacing: .18em;
  }

  .tl-overnight-place {
    font-family: var(--index-title-font), sans-serif;
    font-weight: 600;
    font-size: 15px;
    letter-spacing: .01em;
    color: #fff;
  }

  .tl-overnight-alt {
    padding: 7px 14px;
    border-radius: var(--index-radius-sm);
    background: rgba(0, 196, 255, .08);
    border: 1px solid rgba(0, 196, 255, .18);
    color: #5CE0D6;
    font-weight: 700;
    font-size: 12.5px;
    font-family: var(--index-title-font), sans-serif;
    white-space: nowrap;
    letter-spacing: .03em;
  }

  /* Reduced motion */
  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      transition: none !important;
    }
  }

  /* ===== Tablet ≤ 1024px ===== */
  @media (max-width: 1024px) {
    details.tl-card {
      margin-left: 10px;
    }

    .tl-card > summary {
      padding: 16px 18px;
      gap: 12px;
    }

    .tl-title {
      font-size: 15.5px;
    }

    .tl-body {
      padding: 8px 18px 18px;
      gap: 14px;
    }

    .tl-stat {
      padding: 8px 12px 8px 10px;
      gap: 8px;
    }

    .tl-stat-value {
      font-size: 13px;
    }

    .tl-stat-label {
      font-size: 10px;
    }

    .tl-desc {
      font-size: 14px;
    }

    .tl-overnight {
      padding: 14px 18px;
      gap: 12px;
    }

    .tl-overnight-place {
      font-size: 14px;
    }

    .tl-overnight-alt {
      font-size: 11.5px;
      padding: 6px 12px;
    }
  }

  /* ===== Mobile ≤ 767px ===== */
  @media (max-width: 767px) {
    /* Meals legend */
    .meals-legend {
      gap: 8px 14px;
      padding-bottom: 12px;
      margin-bottom: 18px;
    }

    .meals-legend-title {
      width: 100%;
      font-size: 11px;
    }

    .meals-legend-item {
      font-size: 11.5px;
    }

    .meal-badge--sm {
      width: 20px;
      height: 20px;
      font-size: 9.5px;
    }

    /* Timeline rail */
    .tl {
      margin-top: 16px;
    }

    .tl::before {
      left: 16px;
    }

    .tl-day {
      grid-template-columns: 34px 1fr;
      margin-bottom: 10px;
    }

    .tl-node {
      width: 34px;
      height: 34px;
      font-size: 11px;
      margin-top: 14px;
      box-shadow: 0 0 0 4px var(--Alternate-BG), 0 6px 14px -4px rgba(0, 196, 255, .4);
    }

    /* Card */
    details.tl-card {
      margin-left: 8px;
      border-radius: var(--index-radius-xs);
    }

    .tl-card > summary {
      padding: 14px 14px;
      gap: 10px;
    }

    .tl-title {
      font-size: 14px;
      line-height: 1.35;
    }

    .tl-chevron {
      font-size: 16px;
    }

    .tl-body {
      padding: 6px 14px 14px;
      gap: 12px;
    }

    /* Stats — 2 columns on mobile */
    .tl-stats {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 6px;
    }

    .tl-stat {
      padding: 8px 10px;
      gap: 8px;
    }

    .tl-stat i {
      width: 24px;
      height: 24px;
      font-size: 0.85rem;
      border-radius: var(--index-radius-xs);
    }

    .tl-stat-value {
      font-size: 12.5px;
    }

    .tl-stat-label {
      font-size: 9.5px;
    }

    /* Description */
    .tl-desc {
      font-size: 13.5px;
      line-height: 1.6;
    }

    /* Meals row */
    .day-meals {
      padding: 8px 12px;
      gap: 5px;
    }

    .day-meals-label {
      font-size: 10px;
      margin-right: 4px;
    }

    .meal-badge--lg {
      width: 24px;
      height: 24px;
      font-size: 9.5px;
    }

    /* Overnight — stacked layout on mobile */
    .tl-overnight {
      display: grid;
      grid-template-columns: 32px 1fr;
      grid-template-rows: auto auto;
      gap: 8px 10px;
      padding: 14px 14px;
    }

    .tl-overnight > i {
      width: 32px;
      height: 32px;
      font-size: 1rem;
      grid-row: 1;
      grid-column: 1;
    }

    .tl-overnight-body {
      grid-row: 1;
      grid-column: 2;
      min-width: 0;
    }

    .tl-overnight-label {
      font-size: 9px;
      letter-spacing: .14em;
    }

    .tl-overnight-place {
      font-size: 13.5px;
    }

    .tl-overnight-alt {
      grid-row: 2;
      grid-column: 1 / -1;
      font-size: 11px;
      padding: 6px 12px;
      text-align: center;
      width: 100%;
    }
  }

  /* ===== Small mobile ≤ 576px ===== */
  @media (max-width: 576px) {
    .tl-stats {
      grid-template-columns: 1fr;
    }

    .tl-stat {
      max-width: 200px;
    }
  }

/* ACCORDION PRICES */ 
  /* ── ELEMENTOR COMPONENT: PRICE ACCORDION ── */
 .price-acc {
   background: var(--index-white);
   border: 1px solid var(--index-light);
   border-radius: var(--index-radius-sm);
   overflow: hidden;
   counter-reset: price-acc-note 0;
   font-family: var(--index-body-font);
 }

 details.price-acc-item {
   counter-increment: price-acc-note;
   border-bottom: 1px solid var(--index-light);
 }

 details.price-acc-item:last-of-type {
   border-bottom: none;
 }

 details.price-acc-item>summary {
   list-style: none;
   cursor: pointer;
   padding: var(--spacer-3) var(--spacer-4);
   display: grid;
   grid-template-columns: 52px 1fr 22px;
   align-items: center;
   gap: var(--spacer-3);
   outline: none;
   user-select: none;
   transition: background 0.15s;
 }

 details.price-acc-item>summary::-webkit-details-marker {
   display: none;
 }

 details.price-acc-item>summary:hover {
   background: var(--Alternate-BG);
 }

 /* Numbering */
 details.price-acc-item>summary::before {
   content: counter(price-acc-note, decimal-leading-zero);
   font-family: var(--index-title-font);
   font-size: var(--index-font-2xl);
   font-weight: 700;
   color: #E5E9EF;
   /* Mantenemos este color para que contraste bien con el fondo blanco */
   letter-spacing: -0.04em;
   line-height: var(--index-line-height-base);
   font-variant-numeric: tabular-nums;
   transition: color 0.25s ease;
 }

 .price-acc-title {
   font-family: var(--index-title-font);
   font-size: var(--font-15);
   font-weight: 600;
   color: var(--index-dark);
   letter-spacing: -0.01em;
   line-height: 1.35;
   transition: color 0.15s;
 }

 /* Chevron */
 details.price-acc-item>summary::after {
   content: "\e136";
   font-family: "Phosphor-Light" !important;
   font-size: var(--index-font-md);
   color: var(--muted);
   transition: transform 0.3s cubic-bezier(.2, .7, .2, 1), color 0.25s;
   justify-self: center;
   line-height: var(--index-line-height-base);
 }

 /* Open states */
 details.price-acc-item.is-open>summary {
   background: var(--Alternate-BG);
 }

 details.price-acc-item.is-open>summary::before,
 details.price-acc-item.is-open>summary::after,
 details.price-acc-item.is-open>summary .price-acc-title {
   color: var(--index-primary-hover);
 }

 details.price-acc-item.is-open>summary::after {
   transform: rotate(180deg);
 }

 details.price-acc-item>summary:hover .price-acc-title {
   color: var(--index-primary);
 }

 /* Smooth expand mechanism */
 details.price-acc-item .price-acc-grid {
   max-height: 0;
   overflow: hidden;
   transition: max-height 0.4s cubic-bezier(0.25, 1, 0.5, 1);
 }

 /* Content */
 .price-acc-content {
   padding: 0.85rem var(--spacer-4) 1.35rem 4.75rem;
   font-size: var(--font-15);
   color: var(--texto);
   line-height: 1.7;
   border-top: 1px solid var(--index-light);
 }

 .price-acc-content a {
   word-break: break-word;
   color: var(--index-primary-hover);
   text-decoration: none;
 }

 .price-acc-content a:hover {
   text-decoration: underline;
 }

 .price-acc-content p {
   margin-bottom: 0.6rem;
 }

 .price-acc-content p:last-child {
   margin-bottom: 0;
 }

 .price-acc-content ul {
   padding-left: 1.1rem;
   display: flex;
   flex-direction: column;
   gap: 0.35rem;
   margin: var(--spacer-2) 0;
 }

 .price-acc-content ul li {
   font-size: var(--font-15);
 }

 .price-acc-content ul li::marker {
   color: var(--index-primary-hover);
 }

 details.price-acc-item>summary:focus-visible {
   outline: 2px solid var(--index-primary);
   outline-offset: -2px;
 }

 /* Responsive */
 @media (max-width: 520px) {

   .price-acc-title,
   .price-acc-content,
   .price-acc-content ul li {
     font-size: var(--font-15);
   }

   .price-acc-content {
     padding: var(--spacer-3);
   }

   details.price-acc-item>summary {
     padding: var(--spacer-3);
     grid-template-columns: 32px 1fr 18px;
     gap: var(--spacer-2);
   }

   details.price-acc-item>summary::before {
     font-size: var(--index-font-xl);
   }
 }



/* ADITION NOTES OVERVIEW ACCORDION */

/* ── Additional Notes Accordion ── */
.aah-notes-acc .e-n-accordion-item .e-n-accordion-item-title-text {
  display: flex;
  align-items: center;
}

.aah-notes-acc .e-n-accordion-item .e-n-accordion-item-title-text::before {
  font-family: "Phosphor-Light";
  font-weight: 900;
  font-size: 1.5rem;
  color: var(--index-primary-hover);
  background: var(--Alternate-BG);
  border: 1px solid #e5e7eb;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.5rem;
  margin-right: 14px;
  flex-shrink: 0;
  transition: background .25s, color .25s, border-color .25s, box-shadow .25s;
}

.aah-notes-acc .e-n-accordion-item:nth-child(1) .e-n-accordion-item-title-text::before {
  content: "\e198";
}

.aah-notes-acc .e-n-accordion-item:nth-child(2) .e-n-accordion-item-title-text::before {
  content: "\e2ac";
}

.aah-notes-acc .e-n-accordion-item[open] .e-n-accordion-item-title-text::before {
  background: var(--index-primary);
  border-color: var(--index-primary);
  color: #fff;
  box-shadow: 0 4px 12px rgba(0,196,255,.3);
}

.aah-notes-acc .e-n-accordion-item:not([open]) summary:hover .e-n-accordion-item-title-text::before {
  background: var(--index-cyan-soft);
  border-color: rgba(0,196,255,.3);
  color: var(--index-primary);
}

@media (max-width: 767px) {
  .aah-notes-acc .e-n-accordion-item .e-n-accordion-item-title-text::before {
    width: 36px;
    height: 36px;
    font-size: 1.2rem;
    margin-right: 10px;
  }
}




/* ACCLIMATIZATION TAB OVERVIEW*/ 


.tour-acclimatization {
  border: 1px solid #E5E9EF;
  border-top: 3px solid #00C4FF;
  border-radius: 0.5rem;
  padding: 20px;
  transition: all .2s;
}
.tour-acclimatization:hover {
  border-color: #00C4FF;
  box-shadow: 0 4px 16px rgba(0, 196, 255, 0.1);
}
.tour-acclimatization ul {
  list-style: none;
  padding-left: 1.5rem;
  margin: 0;
}
.tour-acclimatization ul li {
  font-family: var(--index-body-font);
  position: relative;
  margin-bottom: 0;
  padding: 8px 0;
  font-size: var(--font-15);
  line-height: 1.65;
  color: var(--texto);
  transition: padding-left .15s;
}
.tour-acclimatization ul li:hover {
  padding-left: 4px;
}
.tour-acclimatization ul li::before {
  content: "";
  width: 6px;
  height: 6px;
  background: #00C4FF;
  border-radius: 50%;
  position: absolute;
  left: -1.2rem;
  top: 50%;
  transform: translateY(-50%);
}

/* SENTINEL, TABS , FLOATING BOOK MOBILE */
  .e-tabs-menu-base {
    /* Transiciones para la expansión animada */
    will-change: transform;
  }


@media(max-width:767px){
    
    .e-tabs-menu-base.is-fixed {
    position: fixed;
    top: 0;
    z-index: 9;
    border-bottom-color: transparent;
    }
    
    #book-tour-mobile.price-hidden {
    transform: translateY(100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.1, 1);
    }
    #book-tour-mobile {
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.1, 1);
    }
    
    .e-tabs-menu-base.is-expanding {
    transition:
      left 0.35s cubic-bezier(0.4, 0, 0.1, 1),
      width 0.35s cubic-bezier(0.4, 0, 0.1, 1),
      padding-left 0.35s cubic-bezier(0.4, 0, 0.1, 1),
      padding-right 0.35s cubic-bezier(0.4, 0, 0.1, 1),
      background 0.35s cubic-bezier(0.4, 0, 0.1, 1),
      box-shadow 0.35s cubic-bezier(0.4, 0, 0.1, 1);
    left: 0 !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    background: #fff !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.25) !important;
    border-radius: 0 !important;
  }
  
    #tab-placeholder.active { display: block; }
    .e-tabs-menu-base.is-fixed  .e-tab-base.e-0d4fa3a-cfc9dc8,     .e-tabs-menu-base.is-fixed .e-tab-base.e-8caa82d-b0bb878  {
        width: 1.5rem;
        background: transparent !important;
    }
    .menu-tours.nav-hidden {
    transform: translateY(-100%);
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.1, 1);
}
.menu-tours {
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.1, 1);
}
  
}

  #tab-placeholder { display: none; }

  .e-tab-base.e-0d4fa3a-cfc9dc8 {
    position: sticky !important;
    top: 0 !important;
    right: 0 !important;
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
    z-index: 10 !important;
    transition: width 0.5s ease;
  }
  
  .e-tab-base.e-8caa82d-b0bb878  {
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    margin-top: -0.5rem !important;
    margin-bottom: -0.5rem !important;
    z-index: 10 !important;
  }
  
/* Tour single post */
/* 	#tour-duration-scf::before {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 30%;
		background: #ff6b355c;
		z-index: -1 !important;
} */

.tour-tittle-duration{
	padding: 0 0.5rem;
    background: var(--index-primary);
    border-radius: 0.25rem;
    line-height: 1.4;
	color: #fff;
	 white-space: nowrap;
}
@media(max-width:767px){
	.elementor .e-66fea47-51cddd5{
	position: static !important;
	transform: none !important;
	}
}

.price-text-for-float{
	font-size: 11px !important; 
	font-weight: 400 !important;
	color: var(--texto);
	font-family: var(--index-title-font) , sans-serif;
}




/* PRIVATE & GROUP */ 

.services-comparison {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacer-4);
  align-items: stretch;
  margin: var(--spacer-4) auto;
  font-family: var(--index-body-font), sans-serif;
}

.service-card {
  background: var(--index-white);
  border: 1px solid var(--index-light);
  border-radius: var(--index-radius-xs);
  padding: var(--spacer-4);
  display: flex;
  flex-direction: column;
  position: relative;
  transition: transform 0.25s ease,
              box-shadow 0.25s ease,
              border-color 0.25s ease;
  box-shadow: 0 4px 12px rgba(14, 23, 38, 0.03);
}

.service-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 24px rgba(14, 23, 38, 0.08);
  border-color: var(--index-primary);
}

.service-card--private {
  border-top: 4px solid var(--index-primary);
}

.service-card--group {
  border-top: 4px solid var(--muted);
}

.service-card-header {
  border-bottom: 1px solid var(--index-light);
  padding-bottom: var(--spacer-3);
  margin-bottom: var(--spacer-3);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.service-tag {
  display: inline-block;
  font-size: var(--index-font-xs);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--index-primary-hover);
  background: var(--index-cyan-soft);
  padding: var(--spacer-1) var(--spacer-2);
  border-radius: var(--index-radius-xs);
  margin-bottom: var(--spacer-2);
}

.service-tag--group {
  color: var(--muted);
  background: var(--Alternate-BG);
}

.service-title {
  font-family: var(--index-title-font), sans-serif;
  font-size: var(--index-font-xl);
  font-weight: 700;
  color: var(--index-dark);
  margin: 0;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.service-card ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--spacer-3);
  flex: 1;
}

.service-card ul li {
  font-size: var(--font-15);
  color: var(--texto);
  line-height: 1.65;
  position: relative;
  padding-left: 1.5rem;
}

.service-card ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: var(--index-primary);
  box-shadow: 0 0 6px var(--index-primary);
}

.service-card--group ul li::before {
  background-color: var(--muted);
  box-shadow: none;
}

.service-card ul li strong {
  color: var(--index-dark);
  font-weight: 700;
}

.service-card ul li a {
  color: var(--index-primary-hover);
  text-decoration: none;
  font-weight: 600;
  transition: color 0.15s ease;
}

.service-card ul li a:hover {
  color: var(--index-primary);
  text-decoration: underline;
}

@media (max-width: 767px) {
  .services-comparison {
    grid-template-columns: 1fr;
    gap: var(--spacer-3);
    margin: var(--spacer-3) auto;
    padding: 0 var(--spacer-3);
  }

  .service-card {
    padding: var(--spacer-3);
  }

  .service-title {
    font-size: var(--index-font-lg);
  }
}

.services-comparison--single {
  grid-template-columns: 1fr;
}


