/* Sightseeing landing page. Builds on tours-landing.css (tl- classes);
   only the pieces that page does not have live here. Prefix: ssl- */

/* Two fields + button instead of the Tours page's three fields. */
.ssl-search-form { grid-template-columns: 1.7fr 1fr auto !important; }

.ssl-count {
  display: inline-flex;
  align-self: flex-start;
  margin-top: 6px;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  font-size: 12.5px;
  font-weight: 700;
}

.ssl-header {
  margin: 0 0 10px;
  color: var(--tl-text);
  font-size: 14px;
  line-height: 1.5;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ssl-types {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.ssl-type {
  position: relative;
  padding: 28px 26px;
  border: 1px solid var(--tl-line);
  border-radius: var(--tl-radius);
  background: #fff;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.ssl-type::after {
  content: "";
  position: absolute;
  right: -50px;
  top: -50px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: var(--tl-sky);
  transition: transform 0.4s ease;
}
.ssl-type:hover { transform: translateY(-6px); border-color: transparent; box-shadow: var(--tl-shadow-lg); }
.ssl-type:hover::after { transform: scale(1.3); }
.ssl-type-ico {
  position: relative;
  z-index: 1;
  display: inline-flex;
  width: 56px;
  height: 56px;
  margin-bottom: 18px;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--tl-blue), #3b9cf0);
  color: #fff;
  box-shadow: 0 10px 22px rgba(30, 95, 184, 0.28);
}
.ssl-type:nth-child(even) .ssl-type-ico { background: linear-gradient(135deg, var(--tl-orange), #ff9d5c); box-shadow: 0 10px 22px rgba(242, 106, 27, 0.28); }
.ssl-type-ico svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2; }
.ssl-type strong { position: relative; z-index: 1; display: block; margin-bottom: 6px; color: var(--tl-ink); font-size: 1.12rem; }
.ssl-type p { position: relative; z-index: 1; margin: 0; color: var(--tl-muted); font-size: 14.5px; line-height: 1.6; }

@media (max-width: 991.98px) {
  .ssl-search-form { grid-template-columns: 1fr 1fr !important; }
  .ssl-types { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 575.98px) {
  .ssl-search-form { grid-template-columns: 1fr !important; }
  .ssl-types { grid-template-columns: 1fr; }
}
