/* v1.2.1: top photo caption and a slim text-only detail footer. */
.eko-home #packages .eko-packages-heading { margin-bottom: 24px !important; text-align: center; }
.eko-home #packages .eko-packages-heading h2 {
  margin: 0; color: var(--primary-color); font-size: 1.75rem !important;
  font-weight: 700 !important; line-height: 1.3; letter-spacing: normal;
}
.eko-home #packages #pkg-list-container {
  display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
  column-gap: 16px; row-gap: 20px; margin: 0; padding: 0;
}
.eko-home #packages .eko-package-item {
  display: flex; min-width: 0; width: auto; max-width: none; margin: 0; padding: 0;
}
.eko-home #packages .eko-package-card {
  display: block; position: relative; box-sizing: border-box;
  width: 100%; min-width: 0; margin: 0; padding: 0; overflow: hidden;
  appearance: none; border: 0; border-radius: 6px;
  background: #fff; color: #fff; box-shadow: 0 3px 14px rgba(32,37,43,.055);
  font-family: inherit; font-weight: 400; line-height: 1; text-align: center;
  cursor: pointer; touch-action: manipulation;
  transition: box-shadow 220ms ease;
}
.eko-home #packages .eko-package-media {
  display: block; position: relative; width: 100%; aspect-ratio: 4 / 3;
  overflow: hidden; border-radius: inherit; background: #f5f3f0;
}
.eko-home #packages .eko-package-media img {
  display: block; width: 100%; height: 100%; object-fit: cover;
  object-position: var(--eko-photo-focus,50% 50%);
  transform-origin: var(--eko-photo-focus,50% 50%);
  transform: scale(1); transition: transform 600ms cubic-bezier(.22,.61,.36,1);
}
.eko-home #packages .eko-package-caption {
  display: flex; align-items: center; justify-content: center;
  position: absolute; z-index: 1; right: 0; bottom: 0; left: 0;
  box-sizing: border-box; height: 25%; min-height: 40px; padding: 4px 8px;
  background: rgba(0,0,0,.4); pointer-events: none;
}
.eko-home #packages .eko-package-title {
  display: block; max-width: 100%; margin: 0; padding: 0; color: #fff;
  font-size: 15px !important; font-weight: 600 !important; line-height: 1.4 !important;
  letter-spacing: normal; text-align: center; text-transform: none; overflow-wrap: anywhere;
}
/* The entire image remains the existing popup button. */
.eko-home #packages .eko-package-arrow {position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#dd141f;color:#fff;pointer-events:none;}
.eko-home #packages .eko-package-arrow svg {display:block;width:16px;height:16px;}
.eko-home #packages .eko-package-card:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 3px; }
.eko-home #packages .eko-package-card:focus-visible,
.eko-home #packages .eko-package-card:active { box-shadow: 0 6px 18px rgba(32,37,43,.09); }
.eko-home #packages .eko-package-card:focus-visible .eko-package-media img,
.eko-home #packages .eko-package-card:active .eko-package-media img { transform: scale(1.025); }
@media (hover: hover) and (pointer: fine) {
  .eko-home #packages .eko-package-card:hover { box-shadow: 0 6px 18px rgba(32,37,43,.09); }
  .eko-home #packages .eko-package-card:hover .eko-package-media img { transform: scale(1.025); }
}
@media (min-width: 992px) {
  .eko-home #packages #pkg-list-container { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 991.98px) {
  .eko-home #packages.section-padding { padding: 40px 20px !important; }
  .eko-home #packages > .container { width: 100%; max-width: none; padding-left: 0 !important; padding-right: 0 !important; }
  .eko-home #packages .eko-packages-heading h2 { font-size: 22px !important; font-weight: 600 !important; line-height: 1.35 !important; }
}
@media (prefers-reduced-motion: reduce) {
  .eko-home #packages .eko-package-card,
  .eko-home #packages .eko-package-media img { transition: none; }
  .eko-home #packages .eko-package-card:hover .eko-package-media img,
  .eko-home #packages .eko-package-card:focus-visible .eko-package-media img,
  .eko-home #packages .eko-package-card:active .eko-package-media img { transform: none; }
}

/* Keep each landmark as the focal point during the subtle zoom. */
.eko-home #packages .eko-package-media img[src$="city-tour-tokyo-v41.webp"] { --eko-photo-focus: 50% 53%; }
.eko-home #packages .eko-package-media img[src$="city-tour-fuji-v41.webp"] { --eko-photo-focus: 50% 38%; }
.eko-home #packages .eko-package-media img[src$="city-tour-hakone-v41.webp"] { --eko-photo-focus: 57% 52%; }
.eko-home #packages .eko-package-media img[src$="city-tour-nikko-v41.webp"] { --eko-photo-focus: 50% 48%; }
.eko-home #packages .eko-package-media img[src$="city-tour-gala-yuzawa-v47.webp"] { --eko-photo-focus: 58% 40%; }
.eko-home #packages .eko-package-media img[src$="city-tour-kamakura-v41.webp"] { --eko-photo-focus: 50% 35%; }
.eko-home #packages .eko-package-media img[src$="city-tour-hitachi-park-v41.webp"] { --eko-photo-focus: 55% 55%; }
