/* Homepage redesign — v1.3.64 */
body.jtp-home-active .site-main,
body.jtp-home-active #primary,
body.jtp-home-active .content-area {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

/* Remove Kadence's leftover homepage content gutter so the footer follows the hero cleanly
   at every browser zoom level. */
body.jtp-home-active .site-content,
body.jtp-home-active #inner-wrap,
body.jtp-home-active .content-wrap {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  min-height: 0 !important;
}

body.jtp-home-active .entry-content {
  margin: 0 !important;
  padding: 0 !important;
  max-width: none !important;
}

.jtp-home-redesign {
  width: 100%;
  margin: 0;
  padding: 0;
}

/* Break the hero out of Kadence's content width so the photo spans the viewport. */
.jtp-home-hero {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  min-height: 455px;
  background-image: url('https://jacobandjenny.com/wp-content/uploads/2025/07/Jacob-and-Jenny-Website-Home-Page-Updated-1024x512.jpg');
  background-size: cover;
  background-position: center center;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.jtp-home-hero__shade {
  position: absolute;
  inset: auto 0 0;
  height: 47%;
  background: linear-gradient(to top, rgba(27,25,20,.34), rgba(27,25,20,0));
  pointer-events: none;
}

.jtp-home-paths {
  position: relative;
  z-index: 2;
  width: min(1080px, calc(100% - 56px));
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 18px;
  padding-bottom: 28px;
}

.jtp-home-path {
  min-height: 108px;
  display: grid;
  grid-template-columns: 52px minmax(0,1fr) 26px;
  gap: 16px;
  align-items: center;
  padding: 20px 22px;
  background: rgba(255,255,255,.96);
  border: 2px solid currentColor;
  border-radius: 18px;
  box-shadow: 0 10px 28px rgba(0,0,0,.13);
  text-decoration: none !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.jtp-home-path--travel,
.jtp-home-path--travel:visited { color: #238a3b !important; }
.jtp-home-path--cards,
.jtp-home-path--cards:visited { color: #1565c0 !important; }

/* Keep each CTA in its own color family on hover; theme link-hover colors must not win. */
.jtp-home-path--travel:hover,
.jtp-home-path--travel:focus-visible {
  color: #238a3b !important;
  background: #eaf6ed !important;
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(35,138,59,.16);
}
.jtp-home-path--cards:hover,
.jtp-home-path--cards:focus-visible {
  color: #1565c0 !important;
  background: #edf5ff !important;
  transform: translateY(-3px);
  box-shadow: 0 14px 32px rgba(21,101,192,.16);
}

.jtp-home-path__icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
}
.jtp-home-path__icon svg { width: 46px; height: 46px; display:block; }

.jtp-home-path__copy { min-width: 0; display:flex; flex-direction:column; gap:4px; }
.jtp-home-path__copy strong {
  color: currentColor !important;
  font-size: 24px;
  line-height: 1.12;
  font-weight: 700;
}
.jtp-home-path__copy span {
  color: #505967 !important;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 500;
}
.jtp-home-path__arrow {
  color: currentColor !important;
  font-size: 34px;
  line-height: 1;
  justify-self: end;
  font-weight: 500;
}

@media (max-width: 767px) {
  /* On phones, show the photo as a compact full-width banner and put the choices below it.
     This preserves the full composition much better than trying to crop a tall background. */
  .jtp-home-redesign { padding: 0; }
  .jtp-home-hero {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    min-height: 0;
    height: auto;
    padding-top: 50%;
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center top;
    overflow: visible;
    display: block;
    margin-bottom: 0;
  }
  .jtp-home-hero__shade { display: none; }
  .jtp-home-paths {
    position: relative;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 14px 16px 18px;
    background: #fff;
  }
  .jtp-home-path {
    min-height: 88px;
    grid-template-columns: 46px minmax(0,1fr) 22px;
    gap: 12px;
    padding: 15px 16px;
    border-radius: 16px;
    align-items: center;
    box-shadow: 0 7px 20px rgba(0,0,0,.08);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
  }
  .jtp-home-path__icon {
    width: 42px;
    height: 42px;
  }
  .jtp-home-path__icon svg { width: 38px; height: 38px; }
  .jtp-home-path__copy { gap: 3px; }
  .jtp-home-path__copy strong {
    font-size: 20px;
    line-height: 1.15;
  }
  .jtp-home-path__copy span {
    font-size: 13px;
    line-height: 1.3;
  }
  .jtp-home-path__arrow {
    font-size: 28px;
  }
}

@media (max-width: 390px) {
  .jtp-home-paths { padding-left: 12px; padding-right: 12px; gap: 10px; }
  .jtp-home-path { padding: 13px 14px; min-height: 84px; }
  .jtp-home-path__copy strong { font-size: 19px; }
  .jtp-home-path__copy span { font-size: 12.5px; }
}

/* v1.3.64 mobile-only cleanup: do not make the short homepage behave like a sticky-footer
   layout on phones. Let the footer follow the CTA cards naturally instead of leaving a
   large empty block between them. Desktop viewport-fill behavior is intentionally untouched. */
@media (max-width: 767px) {
  body.jtp-home-active #wrapper,
  body.jtp-home-active #inner-wrap,
  body.jtp-home-active .site,
  body.jtp-home-active .site-content,
  body.jtp-home-active #primary,
  body.jtp-home-active .content-area,
  body.jtp-home-active .site-main {
    min-height: 0 !important;
    height: auto !important;
  }

  body.jtp-home-active #inner-wrap,
  body.jtp-home-active .site-content,
  body.jtp-home-active #primary,
  body.jtp-home-active .content-area,
  body.jtp-home-active .site-main {
    flex: 0 0 auto !important;
  }

  body.jtp-home-active #colophon {
    margin-top: 0 !important;
  }

  .jtp-home-paths {
    padding-bottom: 12px;
  }
}
