/* Template 2 — Figma node 1:4944 (Bold hero / Dolomites) */
@import url('https://fonts.googleapis.com/css2?family=Lexend:wght@300;400;500;600&family=Sora:wght@300;400;600&display=swap');

.ft-t2.figma-template {
  width: 1905px;
  background: #f4f4f4;
  font-family: 'Lexend', sans-serif;
  color: #282828;
}

/* ── Header ── */
.t2-header {
  display: flex;
  align-items: center;
  gap: 26.458px;
  padding: 26.458px 211.667px;
  background: #fff;
  box-shadow: 0 0 5.292px rgba(68, 83, 113, 0.1), 0 2.646px 2.646px rgba(68, 83, 113, 0.05);
  width: 100%;
  box-sizing: border-box;
}
.t2-logo img { display: block; width: 115.024px; height: 37.042px; object-fit: contain; }
.t2-nav {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 52.917px;
  padding-left: 63.5px;
  font-size: 23.81px;
  line-height: 31.75px;
  font-weight: 400;
}
.t2-nav span { white-space: nowrap; cursor: default; }
.t2-header-actions {
  display: flex;
  align-items: center;
  gap: 10.583px;
}
.t2-lang {
  font-size: 23.81px;
  line-height: 31.75px;
  white-space: nowrap;
}
.t2-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42.333px;
  height: 42.333px;
  border: none;
  background: transparent;
  padding: 0;
  cursor: default;
}
.t2-icon-btn img { width: 31.75px; height: 31.75px; display: block; }

/* ── Hero ── */
.t2-hero-wrap {
  position: relative;
  width: 100%;
}
.t2-hero {
  position: relative;
  width: 1905px;
  height: 641.615px;
  margin-bottom: -132.292px;
  overflow: hidden;
}
.t2-hero-bg {
  position: absolute;
  left: 0;
  top: -88.69%;
  width: 100%;
  height: 197.94%;
  max-width: none;
  object-fit: cover;
  pointer-events: none;
}
.t2-hero-overlay {
  position: absolute;
  inset: 0;
  background: rgba(62, 62, 62, 0.3);
}
.t2-hero-inner {
  position: absolute;
  left: 50%;
  top: calc(50% - 28.44px);
  transform: translate(-50%, -50%);
  width: 1481.667px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0;
}
.t2-hero-copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 42.333px;
  align-items: flex-start;
}
.t2-hero-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 15.875px;
  margin: 0;
  font-family: 'Sora', sans-serif;
  font-size: 68.792px;
  line-height: 84.667px;
  color: #fff;
  width: 100%;
}
.t2-hero-title-light { font-weight: 300; }
.t2-hero-title-accent { font-weight: 600; color: var(--t-primary, #dbfb37); }
.t2-btn-outline {
  display: inline-flex;
  align-items: center;
  gap: 10.583px;
  padding: 21.167px 26.458px;
  border: 1.323px solid #f4f4f4;
  border-radius: 10.583px;
  background: transparent;
  color: #fff;
  font-family: 'Lexend', sans-serif;
  font-size: 23.81px;
  line-height: 31.75px;
  cursor: default;
}
.t2-btn-outline img { width: 31.75px; height: 31.75px; }
.t2-carousel {
  display: flex;
  flex-direction: column;
  gap: 10.583px;
  align-self: stretch;
  flex-shrink: 0;
}
.t2-carousel-dot {
  width: 31.75px;
  height: 31.75px;
  border-radius: 10px;
  background: #fff;
  opacity: 0.28;
}
.t2-carousel-dot.on { opacity: 1; }

/* ── Search widget ── */
.t2-search-float {
  position: relative;
  z-index: 2;
  padding: 0 211.667px 79.375px;
  width: 100%;
  box-sizing: border-box;
}
.t2-search {
  background: #fff;
  border-radius: 21.167px;
  box-shadow: 0 0 5.292px rgba(68, 83, 113, 0.1), 0 2.646px 2.646px rgba(68, 83, 113, 0.05);
  overflow: hidden;
  width: 100%;
  max-width: 1481.667px;
  margin: 0 auto;
}
.t2-search-tabs {
  display: flex;
  border-bottom: 1.323px solid #e9e9e9;
  padding: 0 31.75px;
}
.t2-search-tab {
  display: flex;
  align-items: center;
  gap: 10.583px;
  padding: 21.167px 15.875px;
  font-size: 21.17px;
  line-height: 31.75px;
  font-weight: 500;
  color: #505050;
  border-bottom: 2.646px solid transparent;
  margin-bottom: -1.323px;
  cursor: default;
}
.t2-search-tab.on {
  color: #282828;
  border-bottom-color: var(--t-primary, #dbfb37);
}
.t2-search-tab img { width: 21.167px; height: 21.167px; }
.t2-search-body { padding: 31.75px; }
.t2-search-radios {
  display: flex;
  gap: 31.75px;
  margin-bottom: 26.458px;
}
.t2-search-radios label {
  display: flex;
  align-items: center;
  gap: 10.583px;
  font-size: 21.17px;
  line-height: 31.75px;
  cursor: default;
}
.t2-search-radios img { width: 21.167px; height: 21.167px; }
.t2-search-fields {
  display: flex;
  gap: 26.458px;
  flex-wrap: wrap;
  margin-bottom: 26.458px;
}
.t2-field {
  flex: 1;
  min-width: 200px;
  border: 1.323px solid #c8c8c8;
  border-radius: 10.583px;
  padding: 15.875px 15.875px 15.875px 15.875px;
  position: relative;
}
.t2-field-lbl {
  display: block;
  font-size: 15.87px;
  line-height: 21.167px;
  font-weight: 300;
  color: #505050;
  margin-bottom: 5.292px;
}
.t2-field-val {
  display: block;
  font-size: 21.17px;
  line-height: 31.75px;
  font-weight: 500;
  color: #282828;
}
.t2-field--swap { position: relative; }
.t2-swap-btn {
  position: absolute;
  right: 10.583px;
  top: 50%;
  transform: translateY(-50%);
  width: 31.75px;
  height: 31.75px;
  border: none;
  background: transparent;
  padding: 0;
}
.t2-swap-btn img { width: 21.167px; height: 21.167px; }
.t2-search-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26.458px;
}
.t2-promo {
  display: flex;
  align-items: center;
  gap: 10.583px;
  font-size: 21.17px;
  line-height: 31.75px;
  color: #505050;
  cursor: default;
}
.t2-promo img { width: 21.167px; height: 21.167px; }
.t2-btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 21.167px 26.458px;
  border: none;
  border-radius: 10.583px;
  background: var(--t-primary, #dbfb37);
  color: var(--t-primary-text, #282828);
  font-family: 'Lexend', sans-serif;
  font-size: 23.81px;
  line-height: 31.75px;
  cursor: default;
  white-space: nowrap;
}

/* ── Deals ── */
.t2-deals {
  padding: 79.375px 211.667px 0;
  width: 100%;
  box-sizing: border-box;
}
.t2-deals-head {
  display: flex;
  flex-direction: column;
  gap: 5.292px;
  margin-bottom: 31.75px;
}
.t2-sec-title {
  font-family: 'Sora', sans-serif;
  font-size: 37.04px;
  line-height: 47.625px;
  font-weight: 600;
  margin: 0;
}
.t2-sec-sub {
  display: flex;
  align-items: center;
  gap: 10.583px;
  font-size: 21.17px;
  line-height: 31.75px;
  font-weight: 300;
  color: #505050;
  margin: 0;
}
.t2-sec-sub em {
  font-style: normal;
  font-weight: 500;
  color: #282828;
}
.t2-sec-sub img { width: 21.167px; height: 21.167px; flex-shrink: 0; }
.t2-deal-grid {
  display: flex;
  gap: 26.458px;
  justify-content: flex-start;
  margin-bottom: 31.75px;
}
.t2-deal-card {
  width: 350.573px;
  height: 538.427px;
  border-radius: 21.167px;
  overflow: hidden;
  position: relative;
  flex-shrink: 0;
  background: #fff;
}
.t2-deal-card__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.t2-deal-card:nth-child(3) .t2-deal-card__img { object-position: center bottom; }
.t2-deal-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, 0.55) 100%);
  pointer-events: none;
}
.t2-deal-card__foot {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 21.167px 31.75px;
  box-sizing: border-box;
}
.t2-deal-card__check {
  position: absolute;
  left: 21.167px;
  bottom: 31.75px;
  width: 26.458px;
  height: 26.458px;
  border: 1.323px solid rgba(255, 255, 255, 0.95);
  border-radius: 5.292px;
  background: transparent;
  box-sizing: border-box;
}
.t2-deal-card__check.is-checked { background: #fff; }
.t2-deal-card__sync {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42.333px;
  height: 42.333px;
  margin-bottom: 10.583px;
  border-radius: 10.583px;
  background: rgba(255, 255, 255, 0.35);
  box-sizing: border-box;
}
.t2-deal-card__sync img {
  width: 21.167px;
  height: 21.167px;
  display: block;
}
.t2-deal-card__date {
  font-family: 'Lexend', sans-serif;
  font-size: 18.52px;
  line-height: 26.458px;
  font-weight: 400;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}
.t2-btn-surface {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 21.167px 26.458px;
  border: 1.323px solid #c8c8c8;
  border-radius: 10.583px;
  background: #fff;
  color: #505050;
  font-family: 'Lexend', sans-serif;
  font-size: 23.81px;
  line-height: 31.75px;
  cursor: default;
  margin: 0 auto;
}
.t2-deals-foot { display: flex; justify-content: center; padding-bottom: 79.375px; }

/* ── Banner ── */
.t2-banner {
  width: 1905px;
  height: 608.542px;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 5.292px rgba(68, 83, 113, 0.1), 0 2.646px 2.646px rgba(68, 83, 113, 0.05);
}
.t2-banner img {
  position: absolute;
  left: 0;
  top: -67.39%;
  width: 100%;
  height: 234.78%;
  max-width: none;
  object-fit: cover;
  pointer-events: none;
}
.t2-banner-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,0.35) 0%, transparent 60%);
}

/* ── Journey ── */
.t2-journey {
  padding: 79.375px 211.667px;
  width: 100%;
  box-sizing: border-box;
}
.t2-journey-head { margin-bottom: 37.042px; }
.t2-journey-sub {
  font-size: 21.17px;
  line-height: 31.75px;
  font-weight: 300;
  color: #505050;
  margin: 5.292px 0 0;
}
.t2-journey-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 26.458px;
}
.t2-journey-card {
  display: flex;
  background: #fff;
  border-radius: 21.167px;
  overflow: hidden;
  min-height: 396.875px;
}
.t2-journey-img {
  width: 50%;
  position: relative;
  overflow: hidden;
  flex-shrink: 0;
}
.t2-journey-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.t2-journey-body {
  flex: 1;
  padding: 26.458px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 15.875px;
}
.t2-journey-body p {
  margin: 0;
  font-family: 'Sora', sans-serif;
  font-size: 26.458px;
  line-height: 36px;
  font-weight: 600;
}
.t2-journey-link {
  font-size: 21.17px;
  line-height: 31.75px;
  font-weight: 500;
  color: var(--t-secondary, #1f7a97);
  text-decoration: underline;
  cursor: default;
}

/* ── Newsletter ── */
.t2-newsletter-wrap {
  padding: 0 211.667px 79.375px;
  width: 100%;
  box-sizing: border-box;
}
.t2-newsletter {
  background: #fff;
  border-radius: 21.167px;
  padding: 58.208px 158.75px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 37.042px;
}
.t2-newsletter h2 {
  margin: 0;
  font-family: 'Sora', sans-serif;
  font-size: 37.04px;
  line-height: 47.625px;
  font-weight: 600;
  text-align: center;
}
.t2-newsletter-row {
  display: flex;
  gap: 26.458px;
  width: 100%;
  max-width: 961.76px;
  align-items: flex-end;
}
.t2-input-wrap { flex: 1; position: relative; }
.t2-input-lbl {
  position: absolute;
  top: 10.583px;
  left: 15.875px;
  font-size: 15.87px;
  line-height: 21.167px;
  font-weight: 300;
  color: #505050;
}
.t2-input-lbl span { color: #a33434; }
.t2-input {
  width: 100%;
  box-sizing: border-box;
  border: 1.323px solid #c8c8c8;
  border-radius: 10.583px;
  padding: 31.75px 15.875px 10.583px;
  font-family: 'Lexend', sans-serif;
  font-size: 21.17px;
  line-height: 31.75px;
  font-weight: 300;
  color: #787878;
  background: #fff;
}
.t2-newsletter-disclaimer {
  font-size: 16px;
  line-height: 24px;
  font-weight: 300;
  text-align: center;
  max-width: 961.76px;
}
.t2-newsletter-disclaimer u { font-weight: 500; }

/* ── Footer ── */
.t2-footer {
  background: #fff;
  width: 1905px;
  padding: 84.667px 211.667px 42.333px;
  box-sizing: border-box;
}
.t2-footer-x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 74.083px;
  height: 74.083px;
  border: 1.75px solid #e9e9e9;
  border-radius: 132.292px;
  margin-bottom: 74.083px;
}
.t2-footer-x img { width: 31.75px; height: 31.75px; }
