/* Package cards: shared by categories, home, search and establishment listings.
 * The :is() keeps the modern cascade weight and also styles legacy/auxiliary bodies.
 * Variant selectors override the old uni_of_s/cat_pr_main dimensions explicitly. */
:is(body.ea-modern, body) .ea-package-card,
:is(body.ea-modern, body) .ea-package-card * { box-sizing: border-box; }
:is(body.ea-modern, body) .ea-package-card {
  --card-ink: #193f51;
  --card-accent: #c94e0a;
  color: var(--card-ink);
  background: #fff;
  border: 1px solid #d6e2e8;
  border-radius: 14px;
  overflow: hidden;
  height: auto;
  min-height: 0;
  margin: 0 0 20px;
  padding: 0;
  text-align: left;
  box-shadow: 0 5px 18px rgb(25 63 81 / 4%);
}
:is(body.ea-modern, body) .ea-package-card__main,
:is(body.ea-modern, body) .ea-package-card__aside { min-width: 0; }
:is(body.ea-modern, body) .ea-package-card__title { margin: 0 0 15px; }
:is(body.ea-modern, body) .ea-package-card__title > h2,
:is(body.ea-modern, body) .ea-package-card__title > h3,
:is(body.ea-modern, body) .ea-package-card__title > div {
  margin: 0;
  padding: 0;
  font: 650 21px/1.3 var(--ea-font, system-ui, sans-serif);
  text-align: left;
  color: var(--card-ink);
  letter-spacing: -.012em;
  overflow-wrap: break-word;
}
:is(body.ea-modern, body) .ea-package-card__title a { color: inherit; text-decoration: none; }
:is(body.ea-modern, body) .ea-package-card__media { display: grid; grid-template-columns: 52% minmax(0, 1fr); align-items: start; gap: 22px; }
:is(body.ea-modern, body) .ea-package-card__details { min-width: 0; }
:is(body.ea-modern, body) .ea-package-card__photo { display: block; width: 100%; min-width: 0; line-height: 0; }
:is(body.ea-modern, body) .ea-package-card__photo picture { display: block; width: 100%; }
:is(body.ea-modern, body) .ea-package-card__photo img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 364 / 227;
  object-fit: contain;
  margin: 0;
  float: none;
  border-radius: 9px;
  border: 0;
}
:is(body.ea-modern, body) .ea-package-card__includes { min-width: 0; padding: 3px 0; font-size: 16px; line-height: 1.5; }
:is(body.ea-modern, body) .ea-package-card__includes ul { list-style: none; margin: 0; padding: 0; width: auto; float: none; }
:is(body.ea-modern, body) .ea-package-card__includes li { position: relative; margin: 0 0 7px; padding: 0 0 0 20px; font: inherit; overflow-wrap: break-word; }
:is(body.ea-modern, body) .ea-package-card__includes li::before { content: "✓"; position: absolute; left: 0; color: #08706d; font-weight: 700; }
:is(body.ea-modern, body) .ea-package-card__more { font-size: 14px; }
:is(body.ea-modern, body) .ea-package-card__more button { border: 0; background: none; color: #005a7c; padding: 6px 0; font: inherit; cursor: pointer; }
:is(body.ea-modern, body) .ea-package-card .inv { display: none !important; }
:is(body.ea-modern, body) .ea-package-card__description { clear: both; margin-top: 12px; font-size: 14px; line-height: 1.6; overflow-wrap: break-word; }
:is(body.ea-modern, body) .ea-package-card__details > .ea-package-card__description:first-child { margin-top: 0; }
:is(body.ea-modern, body) .ea-package-card__description p { margin: 0 0 7px; }
:is(body.ea-modern, body) .ea-package-card__description p:last-child { margin-bottom: 0; }
:is(body.ea-modern, body) .ea-package-card__badge { margin: 0 0 9px; }
:is(body.ea-modern, body) .ea-package-card__badge img { float: none; width: auto; max-width: 100%; max-height: 45px; margin: 0; object-fit: contain; }
:is(body.ea-modern, body) .ea-package-card__establishment { font-size: 14px; line-height: 1.5; font-weight: 650; }
:is(body.ea-modern, body) .ea-package-card__address { margin-top: 5px; font-size: 12px; line-height: 1.6; color: #536d7b; }
:is(body.ea-modern, body) .ea-package-card__rating { display: block; width: auto; border: 0; background: none; padding: 0; margin: 15px 0; font: 12px/1.45 var(--ea-font, system-ui, sans-serif); color: var(--card-ink); text-align: left; }
:is(body.ea-modern, body) button.ea-package-card__rating { cursor: pointer; }
:is(body.ea-modern, body) .ea-package-card__rating strong { color: var(--card-accent); font-size: 23px; font-weight: 700; }
:is(body.ea-modern, body) .ea-package-card__rating-word { margin-left: 7px; color: #b1450b; font-size: 12px; }
:is(body.ea-modern, body) .ea-package-card__rating-count { display: block; margin-top: 4px; color: #536d7b; font-size: 11px; }
:is(body.ea-modern, body) .ea-package-card__price { min-width: 0; }
:is(body.ea-modern, body) .ea-package-card__old-price { display: block; color: #62747e; font-size: 12px; line-height: 1.4; }
:is(body.ea-modern, body) .ea-package-card__amount { line-height: 1.25; }
:is(body.ea-modern, body) .ea-package-card__price-label { font-size: 12px; }
:is(body.ea-modern, body) .ea-package-card__amount strong { font-size: 28px; font-weight: 700; white-space: nowrap; }
:is(body.ea-modern, body) .ea-package-card__amount small { font-size: .58em; margin-left: 2px; }
:is(body.ea-modern, body) .ea-package-card__people { margin-top: 4px; font-size: 12px; line-height: 1.45; color: #536d7b; }
:is(body.ea-modern, body) .ea-package-card__availability { margin-top: 6px; font-size: 12px; line-height: 1.4; color: #126556; }
:is(body.ea-modern, body) .ea-package-card__availability--unavailable { color: #a0291c; }
:is(body.ea-modern, body) .ea-package-card__cta { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; margin-top: 15px; padding: 10px 14px; border: 1px solid var(--card-accent); border-radius: 9px; background: var(--card-accent); color: white; font-size: 14px; font-weight: 650; line-height: 1.25; text-align: center; text-decoration: none; }
:is(body.ea-modern, body) .ea-package-card__cta:hover { background: #ae4207; border-color: #ae4207; color: white; }
:is(body.ea-modern, body) .ea-package-card a:focus-visible,
:is(body.ea-modern, body) .ea-package-card button:focus-visible { outline: 3px solid #007fa6; outline-offset: 3px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--desktop { display: grid; grid-template-columns: minmax(0, 1fr) 236px; width: calc(100% - 252px); }
/* Establishment tabs wrap cards in #2pax inside .lft; reserve the banner column
 * only once, regardless of those intermediate list containers. */
:is(body.ea-modern, body) .lft .ea-package-card.ea-package-card--desktop { width: 100%; }
body.ea-modern.ea-desktop .activ_e,
body.ea-modern.ea-desktop .deact_e { width: calc(50% - 126px); }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--desktop .ea-package-card__main { padding: 22px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--desktop .ea-package-card__aside { padding: 22px 18px; border-left: 1px solid #d6e2e8; background: #f5f9fa; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--desktop .ea-package-card__purchase { margin-top: 20px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile { display: block; float: none; width: calc(100% - 14px); margin: 0 7px 15px; padding: 14px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__title { margin-bottom: 11px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__title > h2,
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__title > h3,
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__title > div { font-size: 18px; line-height: 1.3; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__media { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 10px 12px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__details { display: contents; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__includes { padding: 0; font-size: 13px; line-height: 1.4; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__includes li { padding-left: 15px; margin-bottom: 5px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__media--photo-only { display: block; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__media--photo-only .ea-package-card__photo { width: 70%; max-width: 300px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__description { grid-column: 1 / -1; margin-top: 0; font-size: 13px; line-height: 1.55; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__media--photo-only .ea-package-card__description { margin-top: 10px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__rating { margin: 10px 0; font-size: 11px; line-height: 1.4; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__rating strong { font-size: 16px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__rating-word { font-size: 11px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__rating-count { display: inline; margin: 0 0 0 6px; font-size: 10px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__purchase { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; border-top: 1px solid #e2e9ed; padding-top: 10px; margin-top: 10px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__amount strong { font-size: 24px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__price-label { font-size: 11px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__people { font-size: 11px; margin-top: 3px; }
:is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__cta { margin: 0; padding: 11px 13px; font-size: 13px; }
/* Match the breakpoint at which the site's banner column moves above listings. */
@media (max-width: 1100px) {
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--desktop { width: 100%; }
  body.ea-modern.ea-desktop .activ_e,
  body.ea-modern.ea-desktop .deact_e { width: 50%; }
}
@media (max-width: 1000px) {
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--desktop { width: 100%; grid-template-columns: minmax(0, 1fr) 210px; }
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--desktop .ea-package-card__media { gap: 16px; }
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--desktop .ea-package-card__includes { font-size: 15px; }
}
@media (max-width: 700px) {
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--desktop { display: block; }
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--desktop .ea-package-card__aside { border-left: 0; border-top: 1px solid #d6e2e8; }
}
@media (max-width: 374px) {
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile { padding: 12px; }
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__media { grid-template-columns: minmax(0, 11fr) minmax(0, 9fr); gap: 10px; }
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__title > h2,
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__title > h3,
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__title > div { font-size: 17px; }
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__rating-count { display: block; margin: 3px 0 0; }
  :is(body.ea-modern, body) .ea-package-card.ea-package-card--mobile .ea-package-card__cta { padding-inline: 10px; }
}
@media print {
  :is(body.ea-modern, body) .ea-package-card { break-inside: avoid; box-shadow: none; }
}
