/**
 * Visa, Travel & Stay Support — mobile reference rebuild.
 * Scoped to .public-home-v2 .hp-visa-travel.
 */
.public-home-v2 .hp-visa-travel.pub-p3 {
  --vt-navy: #0a2a4a;
  --vt-blue: #1a5fb4;
  --vt-sky: #3b82f6;
  --vt-muted: #5c6d7c;
  --vt-radius: 24px;
}

@media (max-width: 767px) {
  body.page-home.public-home-v2 .hp-visa-travel.pub-p3,
  .public-home-v2 .hp-visa-travel.pub-p3 {
    padding: 10px 12px 18px !important;
    background:
      radial-gradient(ellipse 85% 42% at 85% 0%, rgba(191, 219, 254, 0.4), transparent 62%),
      linear-gradient(180deg, #f4f8fd 0%, #ffffff 50%, #ffffff 100%) !important;
  }

  .public-home-v2 .hp-visa-travel .pub-p3__inner,
  .public-home-v2 .hp-visa-travel .pub-p3__panel {
    display: contents !important;
  }

  .public-home-v2 .hp-visa-travel__inner {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }

  /* ---- Hero card ---- */
  body.page-home.public-home-v2 .hp-visa-travel.pub-p3 .hp-visa-travel__hero,
  .public-home-v2 .hp-visa-travel__hero {
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1.12fr) minmax(128px, 0.95fr) !important;
    gap: 2px !important;
    align-items: stretch !important;
    min-height: 210px !important;
    padding: 16px 10px 16px 14px !important;
    border-radius: var(--vt-radius) !important;
    border: 1px solid rgba(255, 255, 255, 0.9) !important;
    background:
      radial-gradient(ellipse 55% 75% at 95% 35%, rgba(147, 197, 253, 0.45), transparent 58%),
      linear-gradient(150deg, #ffffff 0%, #f2f8ff 42%, #e4f0fc 100%) !important;
    box-shadow:
      0 16px 36px rgba(11, 47, 74, 0.09),
      0 1px 0 rgba(255, 255, 255, 0.95) inset !important;
    overflow: hidden !important;
  }

  .public-home-v2 .hp-visa-travel__copy {
    position: relative !important;
    z-index: 2 !important;
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
  }

  .public-home-v2 .hp-visa-travel__badge {
    display: grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 0 10px !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--vt-blue) !important;
    box-shadow: 0 6px 14px rgba(26, 95, 180, 0.14) !important;
  }

  .public-home-v2 .hp-visa-travel__badge svg {
    width: 18px !important;
    height: 18px !important;
  }

  .public-home-v2 .hp-visa-travel__title {
    margin: 0 0 8px !important;
    font-size: clamp(1.22rem, 5.2vw, 1.48rem) !important;
    line-height: 1.12 !important;
    font-weight: 800 !important;
    color: var(--vt-navy) !important;
    letter-spacing: -0.025em !important;
  }

  .public-home-v2 .hp-visa-travel__title em {
    color: var(--vt-sky) !important;
    font-style: normal !important;
    font-weight: 800 !important;
  }

  .public-home-v2 .hp-visa-travel__sub {
    margin: 0 0 14px !important;
    font-size: 0.7rem !important;
    line-height: 1.42 !important;
    color: var(--vt-muted) !important;
    max-width: 27ch !important;
  }

  .public-home-v2 .hp-visa-travel__cta {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    align-self: flex-start !important;
    min-height: 44px !important;
    padding: 0 8px 0 16px !important;
    border: none !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #2b74d4 0%, #1a5fb4 100%) !important;
    color: #fff !important;
    font-size: 0.76rem !important;
    font-weight: 750 !important;
    letter-spacing: -0.01em !important;
    box-shadow: 0 10px 22px rgba(26, 95, 180, 0.32) !important;
    cursor: pointer !important;
  }

  .public-home-v2 .hp-visa-travel__cta-arrow {
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--vt-blue) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    line-height: 1 !important;
  }

  .public-home-v2 .hp-visa-travel__visual {
    position: relative !important;
    z-index: 1 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    margin: -6px -6px -10px 0 !important;
  }

  .public-home-v2 .hp-visa-travel__art {
    width: 100% !important;
    max-width: 178px !important;
    height: auto !important;
    display: block !important;
    filter: drop-shadow(0 8px 16px rgba(26, 95, 180, 0.12)) !important;
  }

  /* ---- 2×3 feature grid ---- */
  body.page-home.public-home-v2 .hp-visa-travel.pub-p3 .hp-visa-travel__grid,
  .public-home-v2 .hp-visa-travel__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.page-home.public-home-v2 .hp-visa-travel.pub-p3 .hp-visa-travel__item,
  .public-home-v2 .hp-visa-travel__item {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
    gap: 8px !important;
    min-height: 148px !important;
    padding: 16px 12px 14px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(255, 255, 255, 0.85) !important;
    box-shadow:
      0 12px 28px rgba(11, 47, 74, 0.07),
      0 1px 0 rgba(255, 255, 255, 0.9) inset !important;
    overflow: hidden !important;
  }

  .public-home-v2 .hp-visa-travel__item--blue {
    background: linear-gradient(180deg, #ffffff 0%, #eaf3ff 100%) !important;
  }
  .public-home-v2 .hp-visa-travel__item--mint {
    background: linear-gradient(180deg, #ffffff 0%, #eafaf3 100%) !important;
  }
  .public-home-v2 .hp-visa-travel__item--purple {
    background: linear-gradient(180deg, #ffffff 0%, #f4eefb 100%) !important;
  }
  .public-home-v2 .hp-visa-travel__item--orange {
    background: linear-gradient(180deg, #ffffff 0%, #fff4eb 100%) !important;
  }
  .public-home-v2 .hp-visa-travel__item--sky {
    background: linear-gradient(180deg, #ffffff 0%, #eaf7fc 100%) !important;
  }
  .public-home-v2 .hp-visa-travel__item--pink {
    background: linear-gradient(180deg, #ffffff 0%, #fff0f6 100%) !important;
  }

  body.page-home.public-home-v2 .hp-visa-travel.pub-p3 .hp-visa-travel__ico,
  .public-home-v2 .hp-visa-travel__ico {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 auto 2px !important;
    box-shadow: 0 6px 14px rgba(11, 47, 74, 0.1) !important;
    overflow: visible !important;
  }

  .public-home-v2 .hp-visa-travel__item--blue .hp-visa-travel__ico {
    background: linear-gradient(160deg, #dbeafe, #93c5fd) !important;
    color: #1d4ed8 !important;
  }
  .public-home-v2 .hp-visa-travel__item--mint .hp-visa-travel__ico {
    background: linear-gradient(160deg, #d1fae5, #6ee7b7) !important;
    color: #047857 !important;
  }
  .public-home-v2 .hp-visa-travel__item--purple .hp-visa-travel__ico {
    background: linear-gradient(160deg, #ede9fe, #c4b5fd) !important;
    color: #6d28d9 !important;
  }
  .public-home-v2 .hp-visa-travel__item--orange .hp-visa-travel__ico {
    background: linear-gradient(160deg, #ffedd5, #fdba74) !important;
    color: #c2410c !important;
  }
  .public-home-v2 .hp-visa-travel__item--sky .hp-visa-travel__ico {
    background: linear-gradient(160deg, #e0f2fe, #7dd3fc) !important;
    color: #0369a1 !important;
  }
  .public-home-v2 .hp-visa-travel__item--pink .hp-visa-travel__ico {
    background: linear-gradient(160deg, #fce7f3, #f9a8d4) !important;
    color: #be185d !important;
  }

  body.page-home.public-home-v2 .hp-visa-travel.pub-p3 .hp-visa-travel__ico svg,
  .public-home-v2 .hp-visa-travel__ico svg {
    width: 28px !important;
    height: 28px !important;
    max-width: 28px !important;
    max-height: 28px !important;
  }

  .public-home-v2 .hp-visa-travel__item strong {
    display: block !important;
    margin: 0 !important;
    font-size: 0.86rem !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    color: var(--vt-navy) !important;
  }

  .public-home-v2 .hp-visa-travel__item > span:not(.hp-visa-travel__ico) {
    display: block !important;
    margin: 0 !important;
    font-size: 0.68rem !important;
    line-height: 1.35 !important;
    color: var(--vt-muted) !important;
    flex: 1 1 auto !important;
    max-width: 18ch !important;
  }

  .public-home-v2 .hp-visa-travel__accent {
    display: block !important;
    width: 28px !important;
    height: 3px !important;
    border-radius: 999px !important;
    margin: 4px auto 0 !important;
  }

  .public-home-v2 .hp-visa-travel__item--blue .hp-visa-travel__accent { background: #2563eb !important; }
  .public-home-v2 .hp-visa-travel__item--mint .hp-visa-travel__accent { background: #059669 !important; }
  .public-home-v2 .hp-visa-travel__item--purple .hp-visa-travel__accent { background: #7c3aed !important; }
  .public-home-v2 .hp-visa-travel__item--orange .hp-visa-travel__accent { background: #ea580c !important; }
  .public-home-v2 .hp-visa-travel__item--sky .hp-visa-travel__accent { background: #0284c7 !important; }
  .public-home-v2 .hp-visa-travel__item--pink .hp-visa-travel__accent { background: #db2777 !important; }

  /* Carousel indicators (visual only — page-section cue) */
  .public-home-v2 .hp-visa-travel__dots {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 7px !important;
    margin: 6px 0 4px !important;
    padding: 0 !important;
    list-style: none !important;
  }

  .public-home-v2 .hp-visa-travel__dots li {
    width: 7px !important;
    height: 7px !important;
    border-radius: 999px !important;
    background: #d0d8e2 !important;
  }

  .public-home-v2 .hp-visa-travel__dots li.is-active {
    background: var(--vt-blue) !important;
  }
}

@media (min-width: 390px) and (max-width: 767px) {
  .public-home-v2 .hp-visa-travel__title {
    font-size: 1.42rem !important;
  }

  .public-home-v2 .hp-visa-travel__art {
    max-width: 192px !important;
  }

  .public-home-v2 .hp-visa-travel__item {
    min-height: 154px !important;
  }
}

@media (min-width: 768px) {
  .public-home-v2 .hp-visa-travel__hero {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 20px;
    padding: 28px;
    border-radius: 24px;
    background: linear-gradient(145deg, #fff, #eef5ff);
  }

  .public-home-v2 .hp-visa-travel__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    list-style: none;
    padding: 0;
  }

  .public-home-v2 .hp-visa-travel__item {
    position: relative;
    align-items: center;
    text-align: center;
    min-height: 168px;
    padding: 20px 16px;
    border-radius: 24px;
  }

  .public-home-v2 .hp-visa-travel__accent {
    display: block;
    width: 28px;
    height: 3px;
    border-radius: 999px;
    margin: 8px auto 0;
  }

  .public-home-v2 .hp-visa-travel__dots {
    display: none;
  }
}
