/* Content adjustments only. Plexify supplies the layout and visual design. */
.nenemi-postcard{width:min(100%,390px);height:230px;object-fit:cover}
.destination-card>div:first-child{height:285px}.tour-swiper .tour-card>div:first-child{height:460px}
.gallery-scroll img{height:200px;object-fit:cover}
#tour-dialog{margin:auto;width:min(780px,94vw);max-height:90vh;border:0;border-radius:20px;padding:0;background:#fff;color:#101010;box-shadow:0 20px 90px #0007;font-family:Poppins,sans-serif}
#tour-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}
#tour-dialog .dialog-close{position:absolute;right:18px;top:18px;z-index:2;width:42px;height:42px;background:#ace601;color:#101010;border:0;border-radius:50%;font-size:28px;cursor:pointer}
#tour-dialog .detail-image{height:260px;width:100%;object-fit:cover}
#tour-dialog .detail-body{padding:35px}#tour-dialog h2{font-size:42px;line-height:1.1;text-transform:uppercase;margin-bottom:20px}#tour-dialog h3{font-size:24px;margin:25px 0 12px}#tour-dialog p,#tour-dialog li{font-size:13px;line-height:1.8;margin-bottom:12px}#tour-dialog ul{list-style:disc;padding-left:20px}#tour-dialog .source-link{display:block;text-decoration:underline;font-size:12px;margin-bottom:20px}#tour-dialog .eyebrow{font-size:10px;letter-spacing:2px}#tour-dialog #ask-tour{margin-top:20px}#contact-status{min-height:25px}
@media(max-width:575px){.nenemi-postcard{height:190px;width:80vw}.tour-swiper .tour-card>div:first-child{height:360px}#tour-dialog .detail-body{padding:25px}#tour-dialog h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.tour-hero {
  height: 240px;
}
.tour-hero-title {
  display: table-cell;
  vertical-align: middle;
  padding: 48px 0 30px;
}
.tour-hero-title h1 {
  font-size: clamp(1.9rem, 4.8vw, 4.75rem);
}
.tour-hero-price {
  position: absolute;
  bottom: 12px;
  left: 12px;
  display: grid;
  place-content: center;
  width: 86px;
  aspect-ratio: 1;
  isolation: isolate;
  transform: rotate(-7deg);
}
.tour-hero-price > img {
  width: 100%;
  height: 100%;
  inset: 0;
}
.tour-hero-price > span {
  font-size: 0.875rem;
  line-height: 1.1;
}
.tour-hero-price > span:nth-child(2) {
  font-size: 1.25rem;
}
@media (min-width: 992px) {
  .tour-hero { height: 320px; }
  .tour-hero-price { width: 110px; }
}
@media (min-width: 1536px) {
  .tour-hero { height: 460px; }
}

.tour-itinerary {
  padding-bottom: 3rem;
}
.tour-itinerary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
}
.tour-day {
  overflow: hidden;
  border-radius: 1rem;
  background: #f4f4f4;
}
.tour-day > img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}
.tour-day-copy {
  padding: 1.125rem;
}
.tour-day-copy h3 {
  margin: 0 0 .5rem;
  font-size: 1.4rem;
  line-height: 1.2;
}
.tour-day-copy p {
  margin: 0;
}
@media (max-width: 991px) {
  .tour-itinerary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .tour-itinerary-grid { grid-template-columns: minmax(0, 1fr); }
}

.tour-inclusions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.tour-inclusions li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 12px;
  background: #f4f4f4;
}
.tour-inclusion-icon {
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  height: 40px;
  border-radius: 10px;
  background: #eaf5c9;
  font-size: 1.25rem;
}
@media (max-width: 575px) {
  .tour-inclusions { grid-template-columns: 1fr; }
}
