/* Shared hotel-room typography, cards and enquiry controls for Essence tour packages. */
.ess-package-detail {
  max-width: 1120px !important;
  padding: 24px 18px 72px !important;
  color: #171715 !important;
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
}
.ess-package-detail,
.ess-package-detail * {
  box-sizing: border-box;
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
}
.ess-package-detail h1,
.ess-package-detail h2,
.ess-package-detail h3,
.ess-package-detail .ess-intro,
.ess-package-detail .ess-eyebrow,
.ess-package-detail .ess-day-number {
  font-family: Montserrat, Arial, Helvetica, sans-serif !important;
}
.ess-package-detail h1 {
  margin: 22px 0 16px !important;
  font-size: clamp(28px, 5vw, 44px) !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.ess-package-detail h2 {
  margin: 42px 0 20px !important;
  font-size: clamp(21px, 3vw, 28px) !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
}
.ess-package-detail .ess-intro {
  max-width: 900px;
  margin: 0 0 26px !important;
  color: #65635e !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: .015em !important;
}
.ess-package-detail .ess-eyebrow,
.ess-package-detail .ess-day-number {
  color: #58564f !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .17em !important;
  text-transform: uppercase !important;
}
.ess-package-detail .ess-back {
  display: inline-block;
  color: #4b4843 !important;
  font: 500 12px/1.5 Montserrat, Arial, sans-serif !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
}
.ess-package-detail .ess-back:hover { text-decoration: underline !important; }
.ess-package-detail .ess-guide-language {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 360px) !important;
  align-items: center !important;
  gap: 10px 22px !important;
  margin: 0 0 24px !important;
  padding: 15px 18px !important;
  border: 1px solid #e3ded6 !important;
  border-radius: 17px !important;
  background: #fff !important;
  box-shadow: 0 8px 25px rgba(43, 39, 33, .045) !important;
}
.ess-package-detail .ess-guide-language label {
  display: contents !important;
  color: #292723 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: .035em !important;
}
.ess-package-detail .ess-guide-language select {
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 15px !important;
  border: 1px solid #c9c4ba !important;
  border-radius: 999px !important;
  background: #faf9f6 !important;
  color: #292923 !important;
  font: 500 13px/1.4 Montserrat, Arial, sans-serif !important;
}
.ess-package-detail .ess-guide-language small {
  grid-column: 1 / -1 !important;
  margin: -3px 0 0 !important;
  color: #77756e !important;
  font: 400 11px/1.5 Montserrat, Arial, sans-serif !important;
}
.ess-package-detail .ess-hero {
  display: block !important;
  width: 100% !important;
  max-height: 580px !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  border-radius: 26px !important;
}
.ess-package-detail .ess-days {
  display: grid !important;
  gap: 20px !important;
}
.ess-package-detail .ess-day {
  display: grid !important;
  grid-template-columns: minmax(0, 43%) minmax(0, 1fr) !important;
  overflow: hidden !important;
  border: 1px solid rgba(40, 39, 35, .08) !important;
  border-radius: 25px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(43, 39, 33, .06) !important;
}
.ess-package-detail .ess-day img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 230px !important;
  object-fit: cover !important;
}
.ess-package-detail .ess-day-content { padding: 24px 27px !important; }
.ess-package-detail .ess-day-title {
  margin: 10px 0 12px !important;
  color: #171715 !important;
  font: 500 20px/1.35 Montserrat, Arial, sans-serif !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
}
.ess-package-detail .ess-day-content p,
.ess-package-detail .ess-note,
.ess-package-detail .ess-price-caveat,
.ess-package-detail .ess-price-missing {
  color: #65635e !important;
  font: 400 14px/1.7 Montserrat, Arial, sans-serif !important;
}
.ess-package-detail .ess-package-pricing {
  margin: 32px 0 24px !important;
  padding: 24px !important;
  border: 1px solid rgba(40, 39, 35, .08) !important;
  border-radius: 25px !important;
  background: #fff !important;
  box-shadow: 0 12px 32px rgba(43, 39, 33, .06) !important;
}
.ess-package-detail .ess-package-pricing h2 { margin: 0 0 18px !important; }
.ess-package-detail .ess-price-controls label {
  color: #292723 !important;
  font: 500 12px/1.5 Montserrat, Arial, sans-serif !important;
  letter-spacing: .04em !important;
}
.ess-package-detail .ess-price-controls select,
.ess-package-detail .ess-price-controls input {
  min-height: 44px !important;
  border: 1px solid #c9c4ba !important;
  border-radius: 999px !important;
  background: #faf9f6 !important;
  color: #292923 !important;
  font: 500 13px/1.4 Montserrat, Arial, sans-serif !important;
}
.ess-package-detail .ess-price-total {
  border-radius: 17px !important;
  background: #f3f1ec !important;
}
.ess-package-detail .ess-price-total strong,
.ess-package-detail .ess-price-total span,
.ess-package-detail .ess-price-total small { font-family: Montserrat, Arial, sans-serif !important; }
.ess-package-detail .ess-actions {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 230px !important;
  max-width: 100% !important;
  margin: 22px 0 !important;
}
.ess-package-detail .hotelAction {
  display: grid !important;
  grid-template-columns: 25px 1fr 29px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 43px !important;
  padding: 0 9px !important;
  border: 1px solid #8db79d !important;
  border-radius: 999px !important;
  background: #f7fbf8 !important;
  color: #397558 !important;
  box-shadow: none !important;
  font: 500 11px/1 Montserrat, Arial, sans-serif !important;
  letter-spacing: .05em !important;
  text-decoration: none !important;
}
.ess-package-detail .hotelAction.email {
  border-color: #79bdd8 !important;
  background: #eaf8fe !important;
  color: #367d99 !important;
}
.ess-package-detail .hotelAction .actionIcon,
.ess-package-detail .hotelAction .actionArrow {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.ess-package-detail .hotelAction .actionIcon svg { display: block !important; width: 18px !important; height: 18px !important; }
.ess-package-detail .hotelAction .actionLabel { text-align: center !important; }
.ess-package-detail .hotelAction .actionArrow {
  min-height: 22px !important;
  border-left: 1px solid currentColor !important;
  padding-left: 8px !important;
  font: 400 19px/1 Arial, sans-serif !important;
}
@media (max-width: 680px) {
  .ess-package-detail { padding: 16px 18px 64px !important; }
  .ess-package-detail .ess-guide-language { grid-template-columns: minmax(0, 1fr) !important; gap: 8px !important; padding: 14px !important; }
  .ess-package-detail .ess-guide-language small { grid-column: 1 !important; }
  .ess-package-detail .ess-hero { aspect-ratio: 1.2 / 1 !important; border-radius: 22px !important; }
  .ess-package-detail .ess-day { grid-template-columns: minmax(0, 1fr) !important; border-radius: 22px !important; }
  .ess-package-detail .ess-day img { height: 230px !important; min-height: 0 !important; }
  .ess-package-detail .ess-day-content { padding: 19px 20px 21px !important; }
  .ess-package-detail .ess-day-title { font-size: 17px !important; }
  .ess-package-detail .ess-package-pricing { padding: 18px !important; border-radius: 22px !important; }
  .ess-package-detail .ess-actions { width: 100% !important; }
}
