/* WTE-like visuals for .tevily-single-steps
   - circular Start/End
   - stroked small circles
   - vertical rail left with small gap
   - smooth transitions
*/
.tevily-single-steps {
  --k-accent: #ff7a00;
  --k-accent-2: #ff9a33;
  --k-line: #e6eef0;
  --k-step-large: 44px;
  --k-step-small: 14px;
  --k-gap: 18px;
  --k-radius: 12px;
  position: relative;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial;
}

/* vertical rail */
.tevily-single-steps .accordion-rail {
  position: absolute;
  left: calc((var(--k-step-small) / 2) + 6px);
  top: 12px;
  bottom: 12px;
  width: 3px;
  background: linear-gradient(180deg, var(--k-line), #f3fafb);
  border-radius: 3px;
  z-index: 0;
}

/* item card and spacing */
.tevily-single-steps .accordion-item {
  position: relative;
  margin-bottom: var(--k-gap);
  background: linear-gradient(180deg,#ffffff,#fbffff);
  border-radius: var(--k-radius);
  border: 1px solid var(--k-line);
  box-shadow: 0 8px 28px rgba(2,6,23,0.04);
  overflow: visible;
  z-index: 2;
  padding-left: calc(var(--k-step-large) + 22px);
}

/* header */
.tevily-single-steps .accordion-header,
.tevily-single-steps .accordion-header a {
  display:flex;
  gap:14px;
  align-items:center;
  padding:14px 18px;
  cursor:pointer;
  color:#000;
  font-weight:700;
}

/* badge base (vertically centered) */
.tevily-single-steps .day-badge {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  display:inline-grid;
  place-items:center;
  background: transparent;
  border: none;
  cursor: pointer;
  z-index: 6;
  transition: transform 160ms ease, background 160ms ease, box-shadow 160ms ease;
  pointer-events: auto;
}

/* Start/End as circular badges */
.tevily-single-steps .accordion-item.start .day-badge,
.tevily-single-steps .accordion-item.end .day-badge {
  width: var(--k-step-large);
  height: var(--k-step-large);
  min-width: var(--k-step-large);
  min-height: var(--k-step-large);
  border-radius: 50%;
  background: linear-gradient(135deg, var(--k-accent), var(--k-accent-2));
  color: #fff;
  box-shadow: 0 12px 36px rgba(255,122,0,0.12);
  padding: 6px;
  display:inline-grid;
  place-items:center;
  transform: translateY(-50%);
}

/* intermediate small stroked circle */
.tevily-single-steps .day-badge.small {
  width: var(--k-step-small) !important;
  height: var(--k-step-small) !important;
  min-width: var(--k-step-small) !important;
  min-height: var(--k-step-small) !important;
  border-radius: 50%;
  background: transparent !important;
  box-shadow: none !important;
  border: 2px solid var(--k-accent) !important;
  box-sizing: border-box;
  display:inline-block !important;
  padding:0 !important;
  line-height:0 !important;
  color: transparent !important;
}

/* hide inner svg/text for small circles */
.tevily-single-steps .day-badge.small svg,
.tevily-single-steps .day-badge.small * {
  display: none !important;
}

/* pin SVG color for start/end */
.tevily-single-steps .accordion-item.start .day-badge svg,
.tevily-single-steps .accordion-item.end .day-badge svg {
  width: 20px;
  height: 20px;
  color: #ffffff;
  display:block;
}

/* smooth content transitions */
.tevily-single-steps .accordion-collapse {
  padding: 0 18px 18px 18px;
  transition: max-height 320ms cubic-bezier(.2,.9,.2,1), opacity 220ms ease;
  overflow: hidden;
}

/* list bullets */
.tevily-single-steps .itinerary-list li::before {
  content: "";
  width:8px; height:8px; margin-right:10px; border-radius:50%;
  background: var(--k-accent);
  display:inline-block;
  box-shadow: 0 2px 6px rgba(255,122,0,0.12);
}

/* ensure badges above rail */
.tevily-single-steps .day-badge { z-index: 6; }

/* responsive */
@media (max-width:640px) {
  .tevily-single-steps .accordion-item.start .day-badge,
  .tevily-single-steps .accordion-item.end .day-badge { width:40px; height:40px; }
  .tevily-single-steps .day-badge.small { width:12px; height:12px; border-width:2px; }
}
/* Split gallery layout for tour product */
.tevily-gva_ba_item_gallery {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 16px;
  align-items: stretch;
}

/* Large hero image (first image) */
.tevily-gva_ba_item_gallery .gallery-item:first-child {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  border-radius: 16px;
  overflow: hidden;
}
.tevily-gva_ba_item_gallery .gallery-item:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Four small squares on the right */
.tevily-gva_ba_item_gallery .gallery-item:nth-child(n+2):nth-child(-n+5) {
  grid-column: 2 / 3;
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
}
.tevily-gva_ba_item_gallery .gallery-item:nth-child(n+2):nth-child(-n+5) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Hide remaining images (they’ll show in lightbox only) */
.tevily-gva_ba_item_gallery .gallery-item:nth-child(n+6) {
  display: none;
}

/* Show All Photos button */
.tevily-gva_ba_item_gallery .show-all-btn {
  grid-column: 2 / 3;
  justify-self: end;
  align-self: end;
  margin-top: 12px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 24px;
  padding: 6px 14px;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  transition: all 0.2s ease;
}
.tevily-gva_ba_item_gallery .show-all-btn:hover {
  background: #ff7a00;
  color: #fff;
  border-color: #ff7a00;
}
/* Scoped to style-2 gallery */
.tevily-ba-single-gallery.style-2 {
  display: grid;
  grid-template-columns: 60% 40%;
  gap: 16px;
  align-items: stretch;
}

/* Large hero image (first) */
.tevily-ba-single-gallery.style-2 .swiper-slide:first-child {
  grid-column: 1 / 2;
  grid-row: 1 / 3;
  border-radius: 16px;
  overflow: hidden;
}
.tevily-ba-single-gallery.style-2 .swiper-slide:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Four small squares */
.tevily-ba-single-gallery.style-2 .swiper-slide:nth-child(n+2):nth-child(-n+5) {
  grid-column: 2 / 3;
  aspect-ratio: 1 / 1;
  border-radius: 12px;
  overflow: hidden;
}
.tevily-ba-single-gallery.style-2 .swiper-slide:nth-child(n+2):nth-child(-n+5) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Hide remaining slides */
.tevily-ba-single-gallery.style-2 .swiper-slide:nth-child(n+6) {
  display: none;
}

/* Button styling */
.tevily-ba-single-gallery.style-2 .show-all-btn {
  grid-column: 2 / 3;
  justify-self: end;
  align-self: end;
  margin-top: 12px;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 24px;
  padding: 6px 14px;
  font-size: 14px;
  color: #333;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  transition: all 0.2s ease;
}
.tevily-ba-single-gallery.style-2 .show-all-btn:hover {
  background: #ff7a00;
  color: #fff;
  border-color: #ff7a00;
}
/* Lightbox overlay for Show All Photos */
.tevily-lightbox-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.9);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  padding: 40px;
  z-index: 9999;
  overflow-y: auto;
}
.tevily-lightbox-overlay img {
  width: 260px;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.tevily-lightbox-overlay img:hover {
  transform: scale(1.05);
}
