/**
 * Common — shared tokens, page shell, buttons
 */

:root {
  --accent: #c4694a;
  --accent-dark: #9e5238;
  --accent-pale: #f6ebe5;
}

.page-v2 {
  background: linear-gradient(
    180deg,
    #f4f7fb 0%,
    #fff 12%,
    #fff 88%,
    #f4f7fb 100%
  ) !important;
  background-attachment: scroll !important;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

.btn-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  border-radius: 999px;
  background: #000;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  font-family: "Outfit", sans-serif;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.btn-primary:hover {
  background: #1a1a1a;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
.btn-primary:active {
  transform: scale(0.98);
}

/* ── CTA banner ── */
.v2-cta-banner {
  position: relative;
  width: 100%;
  min-height: 340px;
  border-radius: 1.75rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}

.v2-cta-banner img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

@media (min-width: 768px) {
  .v2-cta-banner {
    min-height: 380px;
    border-radius: 2rem;
  }
}

.v2-cta-content {
  padding: 28px 24px 32px;
  border-radius: 1.5rem;
  max-width: 36rem;
}

@media (min-width: 768px) {
  .v2-cta-content {
    padding: 32px 36px 36px;
  }
}
