/* Tour Page Styles */

/* Breadcrumb */
.breadcrumb ol { display:flex; gap:0.5rem; align-items:center; list-style:none; }
.breadcrumb li { font-size:0.82rem; color:rgba(255,255,255,0.65); }
.breadcrumb li:not(:last-child)::after { content:'›'; margin-left:0.5rem; }
.breadcrumb a { color:rgba(255,255,255,0.75); }
.breadcrumb a:hover { color:#fff; }

/* Hero */
.tour-hero {
  position:relative;
  height: 520px;
  overflow:hidden;
}
.tour-hero-img {
  width:100%; height:100%; object-fit:cover; object-position:center;
}
.tour-hero-overlay {
  position:absolute; inset:0;
  background:linear-gradient(to bottom, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0.6) 100%);
}
.tour-hero-content {
  position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:100%; padding-bottom:2.5rem;
}
.tour-hero-badge {
  display:inline-block; background:var(--color-primary); color:#fff;
  font-size:0.78rem; font-weight:700; padding:0.3rem 0.875rem;
  border-radius:100px; margin-bottom:0.75rem;
}
.tour-hero-title {
  font-size:clamp(2rem,5vw,3.5rem); color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,0.4); margin-bottom:0.5rem;
}
.tour-hero-sub {
  font-size:1.05rem; color:rgba(255,255,255,0.85); margin-bottom:1rem;
}
.tour-hero-meta {
  display:flex; gap:1.25rem; flex-wrap:wrap;
}
.tour-hero-meta span {
  font-size:0.82rem; color:rgba(255,255,255,0.85);
  background:rgba(255,255,255,0.15); backdrop-filter:blur(6px);
  padding:0.3rem 0.75rem; border-radius:100px;
}

/* Layout */
.tour-layout {
  display:grid;
  grid-template-columns:1fr 360px;
  gap:3rem;
  padding:3rem 0 5rem;
  align-items:start;
}

/* Tour sections */
.tour-section { margin-bottom:2.5rem; }
.tour-section h2 {
  font-size:1.4rem; color:var(--color-secondary-dark);
  margin-bottom:1rem; padding-bottom:0.75rem;
  border-bottom:2px solid var(--color-primary-light);
}
.tour-section p { color:var(--color-text-muted); line-height:1.8; margin-bottom:0.875rem; }
.tour-section strong { color:var(--color-secondary-dark); }

/* Highlights */
.tour-highlights { display:flex; flex-direction:column; gap:1.25rem; }
.tour-highlights li {
  display:flex; gap:1rem; align-items:flex-start;
  padding:1.25rem; background:var(--color-bg-alt);
  border-radius:var(--radius-md);
  border-left:3px solid var(--color-primary);
}
.highlight-icon { font-size:1.5rem; flex-shrink:0; margin-top:0.1rem; }
.tour-highlights li strong { display:block; margin-bottom:0.3rem; color:var(--color-secondary-dark); }
.tour-highlights li p { margin:0; font-size:0.875rem; }

/* Itinerary */
.tour-itinerary { display:flex; flex-direction:column; gap:0; counter-reset:none; }
.tour-itinerary li {
  display:flex; gap:1.25rem; align-items:flex-start;
  padding:1.25rem 0; border-bottom:1px solid var(--color-border);
  position:relative;
}
.tour-itinerary li:last-child { border-bottom:none; }
.itinerary-time {
  flex-shrink:0; width:54px;
  font-size:0.78rem; font-weight:700; color:var(--color-primary-dark);
  background:var(--color-primary-light); padding:0.3rem 0.5rem;
  border-radius:var(--radius-sm); text-align:center; line-height:1.3;
}
.tour-itinerary li strong { display:block; margin-bottom:0.25rem; color:var(--color-secondary-dark); }
.tour-itinerary li p { margin:0; font-size:0.875rem; color:var(--color-text-muted); }
.itinerary-note { font-size:0.78rem; color:var(--color-text-light); font-style:italic; margin-top:0.75rem; }

/* Includes grid */
.tour-includes-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.includes-yes, .includes-no {
  padding:1.25rem; border-radius:var(--radius-md);
  background:var(--color-bg-alt);
}
.includes-yes { border-left:3px solid #27AE60; }
.includes-no { border-left:3px solid #E74C3C; }
.includes-yes h3, .includes-no h3 {
  font-size:0.9rem; margin-bottom:0.75rem; font-family:var(--font-body);
}
.includes-yes ul, .includes-no ul { display:flex; flex-direction:column; gap:0.4rem; }
.includes-yes li, .includes-no li { font-size:0.85rem; color:var(--color-text-muted); }

/* Info list */
.tour-info-list { display:flex; flex-direction:column; gap:0.75rem; }
.tour-info-list li {
  font-size:0.9rem; color:var(--color-text-muted); line-height:1.6;
  padding:0.75rem 1rem; background:var(--color-bg-alt); border-radius:var(--radius-sm);
}
.tour-info-list li strong { color:var(--color-secondary-dark); }

/* Sidebar */
.tour-sidebar { position:sticky; top:100px; }

.booking-card {
  background:#fff; border-radius:var(--radius-lg);
  border:2px solid var(--color-border); padding:1.75rem;
  box-shadow:var(--shadow-md); margin-bottom:1.5rem;
}
.booking-price { display:none; }
.price-from { display:block; font-size:0.75rem; color:var(--color-text-light); }
.price-big { font-size:2.5rem; font-weight:700; color:var(--color-primary-dark); font-family:var(--font-heading); line-height:1; }
.price-per { display:block; font-size:0.8rem; color:var(--color-text-muted); }
.booking-rating { display:flex; align-items:center; justify-content:center; gap:0.5rem; margin-bottom:0.875rem; font-size:0.875rem; color:var(--color-text-muted); }
.booking-rating .stars { color:var(--color-primary); }
.booking-card hr { border:none; border-top:1px solid var(--color-border); margin:1rem 0; }
.booking-highlights { display:flex; flex-direction:column; gap:0.4rem; margin-bottom:1.25rem; }
.booking-highlights li { font-size:0.85rem; color:var(--color-text-muted); }

/* Related tours */
.related-tours { background:#fff; border-radius:var(--radius-lg); border:1px solid var(--color-border); padding:1.5rem; }
.related-tours h3 { font-size:1rem; margin-bottom:1rem; font-family:var(--font-body); color:var(--color-secondary-dark); }
.related-tour-item {
  display:flex; gap:0.875rem; align-items:center;
  padding:0.75rem 0; border-bottom:1px solid var(--color-border);
  text-decoration:none; color:inherit; transition:all var(--transition);
}
.related-tour-item:last-child { border-bottom:none; }
.related-tour-item:hover { color:var(--color-primary-dark); }
.related-tour-item img { width:60px; height:60px; object-fit:cover; border-radius:var(--radius-sm); flex-shrink:0; background:var(--color-bg-alt); }
.related-tour-item strong { display:block; font-size:0.875rem; margin-bottom:0.2rem; }
.related-tour-item span { font-size:0.78rem; color:var(--color-text-muted); }

/* Responsive */
@media (max-width:1024px) {
  .tour-layout { grid-template-columns:1fr; }
  .tour-sidebar { position:static; }
  .tour-hero { height:420px; }
}
@media (max-width:640px) {
  .tour-includes-grid { grid-template-columns:1fr; }
  .tour-hero { height:420px; }
  .tour-hero-title { font-size:1.6rem; }
  .tour-hero-meta { gap:0.5rem; }
  .tour-hero-content { padding-bottom:1.5rem; }
}
