/* Fast-Track Vietnam shared responsive rules. Loaded globally from header.php. */
html, body { overflow-x: hidden; }

@media (min-width: 768px) and (max-width: 1024px) {
  .ftv-hero-shortcuts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
  }

  .ftv-shortcut {
    min-height: 88px;
    padding: 18px 16px;
  }

  .ftv-shortcut strong {
    font-size: 16px;
    line-height: 1.25;
  }

  .ftv-shortcut .ftv-round {
    width: 46px;
    height: 46px;
    min-width: 46px;
    font-size: 22px;
  }

  .ftv-service-card:nth-child(3) {
    grid-column: 1 / -1;
    max-width: 560px;
    justify-self: center;
  }
}

@media (max-width: 767px) {
  .ftv-topbar-left {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .ftv-topbar-left span {
    display: none;
  }

  .ftv-main-header {
    position: sticky;
    top: 0;
  }

  .ftv-hero {
    background-position: 62% center;
  }

  .ftv-hero h1 {
    font-size: clamp(31px, 9vw, 38px);
    line-height: 1.12;
    letter-spacing: -0.028em;
  }

  .ftv-hero p {
    font-size: 15.5px;
    line-height: 1.65;
    max-width: 100%;
  }

  .ftv-shortcut {
    min-height: 82px;
    padding: 16px 18px;
  }

  .ftv-shortcut strong {
    font-size: 18px;
  }

  .ftv-service-top {
    align-items: flex-start;
  }

  .ftv-service-card h3 {
    font-size: 28px;
  }

  .ftv-price strong {
    font-size: 40px;
  }
}

@media (max-width: 390px) {
  .ftv-container {
    width: min(100% - 20px, 1200px);
  }

  .ftv-logo, .ftv-logo img {
    width: 160px;
    max-width: 160px;
  }

  .ftv-mobile-toggle {
    width: 42px;
    height: 42px;
  }

  .ftv-hero-content {
    padding-top: 44px;
  }

  .ftv-hero h1 {
    font-size: 31px;
  }

  .ftv-section-title {
    font-size: 28px;
  }

  .ftv-service-card {
    padding: 20px;
  }

  .ftv-footer-bottom-links {
    gap: 14px;
  }
}
