/* Popular Tanzania Safari Packages */
.njiro-packages-section {
  background: linear-gradient(180deg, rgba(255,255,255,0.74), rgba(251,247,239,0));
}

.njiro-package-heading {
  margin-bottom: 32px;
}

.njiro-packages-section .package-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.njiro-packages-section .package-card {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--line, rgba(21,18,15,.14));
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(32,32,29,.06);
}

.njiro-packages-section .package-media {
  min-height: 220px;
  display: block;
  background: linear-gradient(rgba(0,0,0,.08), rgba(0,0,0,.18)), var(--card-image) center/cover no-repeat;
}

.njiro-packages-section .package-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 22px;
}

.njiro-packages-section .package-topline,
.njiro-packages-section .package-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.njiro-packages-section .package-topline span {
  color: var(--clay, #b76b3f);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.njiro-packages-section .package-topline strong {
  color: var(--leaf, #2f5f3d);
  font-weight: 900;
}

.njiro-packages-section .package-card h3 {
  margin: 0;
  color: var(--ink, #15120f);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 23px;
  line-height: 1.15;
}

.njiro-packages-section .package-card p {
  margin: 0;
  color: #55564e;
}

.njiro-packages-section .package-meta span {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 3px 11px;
  background: #f4f0e7;
  color: #575850;
  font-size: 13px;
  font-weight: 800;
}

.njiro-packages-section .package-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: auto;
}

.njiro-packages-section .btn {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 8px;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.njiro-packages-section .btn:hover {
  transform: translateY(-1px);
}

.njiro-packages-section .btn--gold {
  border: 1px solid var(--clay, #b76b3f);
  background: var(--clay, #b76b3f);
  color: #fff7ee;
  box-shadow: 0 12px 26px rgba(183,107,63,.24);
}

.njiro-packages-section .btn--outline-dark {
  border: 1px solid var(--line, rgba(21,18,15,.14));
  background: #fff;
  color: var(--ink, #15120f);
}

.njiro-packages-section .btn--whatsapp {
  grid-column: 1 / -1;
  border: 1px solid #1f8f4d;
  background: #fff;
  color: #1f6b3c;
}

@media (max-width: 980px) {
  .njiro-packages-section .package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .njiro-packages-section .package-grid,
  .njiro-packages-section .package-actions {
    grid-template-columns: 1fr;
  }

  .njiro-packages-section .package-media {
    min-height: 205px;
  }

  .njiro-packages-section .package-body {
    padding: 20px;
  }

  .njiro-packages-section .btn--whatsapp {
    grid-column: auto;
  }
}

/* Njiro homepage planning sections */
.njiro-section-heading {
  margin-bottom: 30px;
}

.njiro-best-time-section {
  background: #fff;
}

.njiro-season-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.njiro-season-panel,
.njiro-style-card {
  min-height: 100%;
  border: 1px solid var(--line, rgba(21,18,15,.14));
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(32,32,29,.06);
}

.njiro-season-panel {
  padding: 22px;
}

.njiro-season-month {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  border-radius: 999px;
  padding: 3px 11px;
  background: #f4f0e7;
  color: var(--clay, #b76b3f);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.njiro-season-panel h3,
.njiro-style-card h3 {
  margin: 16px 0 10px;
  color: var(--ink, #15120f);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.15;
}

.njiro-season-panel p,
.njiro-style-card p {
  margin: 0;
  color: #55564e;
}

.njiro-section-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.njiro-whatsapp-cta {
  border-color: #1f8f4d;
  color: #1f6b3c;
}

.njiro-travel-style-section {
  background: linear-gradient(180deg, rgba(251,247,239,0), rgba(251,247,239,.78));
}

.njiro-style-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.njiro-style-card {
  display: flex;
  flex-direction: column;
  padding: 22px;
}

.njiro-style-card h3 {
  margin-top: 0;
}

.njiro-card-cta {
  width: 100%;
  margin-top: auto;
  padding-inline: 12px;
  font-size: 14px;
}

@media (max-width: 1120px) {
  .njiro-season-grid,
  .njiro-style-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .njiro-season-grid,
  .njiro-style-grid {
    grid-template-columns: 1fr;
  }

  .njiro-section-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
}
/* /Njiro homepage planning sections */



/* Njiro mobile and image improvements */
.njiro-card-image {
  display: block;
  width: 100%;
  min-height: 150px;
  border-radius: 8px 8px 0 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
}

.njiro-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.18));
  pointer-events: none;
}

.njiro-season-panel,
.njiro-style-card {
  overflow: hidden;
}

.njiro-season-panel {
  padding: 0;
}

.njiro-season-panel .njiro-season-month,
.njiro-season-panel h3,
.njiro-season-panel p {
  margin-left: 22px;
  margin-right: 22px;
}

.njiro-season-panel .njiro-season-month {
  margin-top: 20px;
}

.njiro-season-panel p {
  margin-bottom: 22px;
}

.njiro-style-card {
  padding: 0;
}

.njiro-style-card h3,
.njiro-style-card p,
.njiro-style-card .njiro-card-cta {
  margin-left: 22px;
  margin-right: 22px;
}

.njiro-style-card h3 {
  margin-top: 18px;
}

.njiro-style-card p {
  margin-bottom: 18px;
}

.njiro-style-card .njiro-card-cta {
  width: auto;
  margin-bottom: 22px;
}

.njiro-season-image--calving { background-image: url('https://static.wixstatic.com/media/26acfb_b6791f7a028642b6bb8c07fe7d51447b~mv2.jpg'); }
.njiro-season-image--dry { background-image: url('https://static.wixstatic.com/media/26acfb_9c6fbf65591d441387116c02a06bfb32~mv2.jpg'); }
.njiro-season-image--crossing { background-image: url('https://static.wixstatic.com/media/26acfb_c0e14a16dd1d498aa62992a9e04ea402~mv2.jpeg'); }
.njiro-season-image--green { background-image: url('https://static.wixstatic.com/media/26acfb_5df42578f355442ea5d3e2f3b19d2372~mv2.jpg'); }
.njiro-season-image--low { background-image: url('https://static.wixstatic.com/media/26acfb_c9cb9f7f7d9b4cbe8ae3e5f1e840719d~mv2.jpg'); }

.njiro-style-image--honeymoon { background-image: url('/assets/wix-media/26acfb_c7db26f2d0974e118d394f1643eceb4b-mv2-b0f6349d3f.webp'); }
.njiro-style-image--family { background-image: url('/assets/wix-media/26acfb_eb442f817e8942489de7743c592124dd-mv2-fd9eb35cf4.webp'); }
.njiro-style-image--luxury { background-image: url('https://static.wixstatic.com/media/26acfb_44f29e9a74fc40768627a387de386ae1~mv2.jpg'); }
.njiro-style-image--midrange { background-image: url('/assets/wix-media/26acfb_68a0285b95de422e9bf4a49dfd1ee10d-mv2-c162d390ae.webp'); }
.njiro-style-image--budget { background-image: url('/assets/wix-media/26acfb_d5b03cf4a5c2492592bc750ff6726bd3-mv2-7e335a207d.webp'); }
.njiro-style-image--migration { background-image: url('/assets/wix-media/26acfb_c9b43e2d250446d2a198c4845c2a2df4-mv2-19a9a459e1.webp'); }
.njiro-style-image--photo { background-image: url('https://static.wixstatic.com/media/26acfb_bed523b5575146e7afca4d66a669a2e6~mv2.jpg'); }
.njiro-style-image--zanzibarStart { background-image: url('/assets/wix-media/26acfb_9b36190449ef4cd4a3d255f13a7d6bbe-mv2-8fa780374a.webp'); }
.njiro-style-image--arusha { background-image: url('/assets/custom/walking-safari-940x629-1.jpg'); }
.njiro-style-image--combo { background-image: url('/assets/wix-media/26acfb_79710742821d4b2bbf086d8d68b69325-mv2-1b9cf0c3d6.webp'); }

.njiro-section-actions .button,
.njiro-card-cta,
.njiro-packages-section .package-actions .btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  touch-action: manipulation;
}

body {
  overflow-x: hidden;
}

img,
video,
iframe {
  max-width: 100%;
}

@media (max-width: 1120px) {
  .njiro-card-image {
    min-height: 165px;
  }
}

@media (max-width: 760px) {
  .njiro-season-grid,
  .njiro-style-grid,
  .njiro-packages-section .package-grid {
    gap: 18px;
  }

  .njiro-card-image {
    min-height: 210px;
  }

  .njiro-season-panel .njiro-season-month,
  .njiro-season-panel h3,
  .njiro-season-panel p,
  .njiro-style-card h3,
  .njiro-style-card p,
  .njiro-style-card .njiro-card-cta {
    margin-left: 18px;
    margin-right: 18px;
  }

  .njiro-style-card .njiro-card-cta,
  .njiro-section-actions .button,
  .njiro-packages-section .package-actions .btn {
    width: calc(100% - 36px);
    margin-left: 18px;
    margin-right: 18px;
  }

  .njiro-section-actions .button {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .floating-whatsapp,
  .whatsapp-float,
  .wa-float,
  a[href*='wa.me'][class*='float'],
  a[href*='api.whatsapp.com'][class*='float'] {
    right: 14px !important;
    bottom: 18px !important;
    width: 54px !important;
    height: 54px !important;
    z-index: 30 !important;
  }

  .itinerary,
  .itinerary-section,
  .timeline,
  .route-timeline,
  .day-card,
  .program-card {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 420px) {
  .njiro-card-image {
    min-height: 190px;
  }

  .njiro-season-panel h3,
  .njiro-style-card h3 {
    font-size: 20px;
  }
}
/* /Njiro mobile and image improvements */
/* Njiro travel-style package image cards */
.njiro-style-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
  isolation: auto;
  min-height: 100%;
  padding: 0;
  border: 1px solid var(--line, rgba(21,18,15,.14));
  border-radius: 8px;
  background: #fff !important;
  background-image: none !important;
  color: var(--ink, #15120f);
  box-shadow: 0 12px 28px rgba(32,32,29,.07);
}

.njiro-style-card::before {
  display: none !important;
}

.njiro-style-card > * {
  position: relative;
  z-index: auto;
}

.njiro-style-card .njiro-card-image,
.njiro-style-card .njiro-style-image {
  position: relative;
  inset: auto;
  z-index: auto;
  display: block !important;
  flex: 0 0 auto;
  width: 100%;
  min-height: 176px;
  height: 176px;
  border-radius: 8px 8px 0 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.njiro-style-card .njiro-card-image::after,
.njiro-style-card .njiro-style-image::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.16));
  pointer-events: none;
}

.njiro-style-card h3 {
  margin: 18px 20px 10px;
  color: var(--ink, #15120f) !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1.15;
  text-shadow: none !important;
}

.njiro-style-card p {
  margin: 0 20px 18px;
  color: #55564e !important;
  line-height: 1.65;
  text-shadow: none !important;
}

.njiro-style-card .njiro-card-cta {
  width: auto;
  min-height: 48px;
  margin: auto 20px 20px;
  border: 1px solid var(--clay, #b76b3f) !important;
  border-radius: 8px;
  background: var(--clay, #b76b3f) !important;
  color: #fff7ee !important;
  box-shadow: 0 12px 24px rgba(183,107,63,.20);
}

.njiro-style-card .njiro-card-cta:hover {
  background: #a95f36 !important;
  border-color: #a95f36 !important;
}

.njiro-style-image--honeymoon { background-image: url('/assets/wix-media/26acfb_5eefccfb651c4c6b9e4b0ff27309b834-mv2-9c227c662d.webp') !important; }
.njiro-style-image--family { background-image: url('/assets/wix-media/26acfb_eb442f817e8942489de7743c592124dd-mv2-fd9eb35cf4.webp') !important; }
.njiro-style-image--luxury { background-image: url('/assets/wix-media/26acfb_3c03ab257959416ba9011690d9f12429-mv2-1a8e7bcac3.webp') !important; }
.njiro-style-image--midrange { background-image: url('/assets/wix-media/26acfb_68a0285b95de422e9bf4a49dfd1ee10d-mv2-c162d390ae.webp') !important; }
.njiro-style-image--budget { background-image: url('/assets/wix-media/26acfb_d5b03cf4a5c2492592bc750ff6726bd3-mv2-7e335a207d.webp') !important; }
.njiro-style-image--migration { background-image: url('/assets/wix-media/26acfb_c9b43e2d250446d2a198c4845c2a2df4-mv2-19a9a459e1.webp') !important; }
.njiro-style-image--photo { background-image: url('/assets/wix-media/26acfb_0e52ac3fa10a4a0da7133d8c61b456de-mv2-fda07fa45d.webp') !important; }
.njiro-style-image--zanzibarStart { background-image: url('/assets/wix-media/26acfb_f57282e4d11d4539aa389d7485c58fa9-mv2-4d7d8bea6d.webp') !important; }
.njiro-style-image--arusha { background-image: url('/assets/custom/walking-safari-940x629-1.jpg') !important; }
.njiro-style-image--combo { background-image: url('/assets/wix-media/26acfb_c6b2120ef90042d786b65411535c1321-mv2-1ab2bf7774.webp') !important; }

@media (max-width: 1120px) {
  .njiro-style-card .njiro-card-image,
  .njiro-style-card .njiro-style-image {
    min-height: 188px;
    height: 188px;
  }
}

@media (max-width: 760px) {
  .njiro-style-card {
    min-height: 0;
  }

  .njiro-style-card .njiro-card-image,
  .njiro-style-card .njiro-style-image {
    min-height: 220px;
    height: 220px;
  }

  .njiro-style-card h3,
  .njiro-style-card p,
  .njiro-style-card .njiro-card-cta {
    margin-left: 18px;
    margin-right: 18px;
  }
}
/* /Njiro travel-style package image cards */
.njiro-style-card .njiro-card-image img,
.njiro-style-card .njiro-style-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.njiro-style-card .njiro-card-image::after,
.njiro-style-card .njiro-style-image::after {
  z-index: 1;
}
