/* ---------------------------------------------------------
  Tours Page 
--------------------------------------------------------- */
.cms-tour-wrap { --sectionPadding: 3rem; display: block !important; }
.cms-tour-wrap section { padding: var(--sectionPadding) 0; position: relative; }
.cms-tour-wrap .content-builder-wrap { margin: 0 !important; }
.cms-tour-wrap .tour-card { display: block; position: relative; border-radius: var(--borderRadius); color: hsl(var(--white)); overflow: hidden; }
.cms-tour-wrap .tour-card img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.cms-tour-wrap .tour-card-overlay { padding: 1.25rem; display: flex; flex-direction: column; justify-content: center; align-items: center; background: hsla(var(--black), 0.5); position: absolute; inset: 0; transition: all ease-in-out 0.4s; }
.cms-tour-wrap .tour-card-title { margin-bottom: 1.25rem; font-size: 1.25rem; font-weight: var(--wRegular); color: hsl(var(--white)); text-transform: uppercase; line-height: 1.2; letter-spacing: 0.0625rem; }
.cms-tour-wrap .tour-card-text-wrap { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.5s ease; }
.cms-tour-wrap .tour-card-text { min-height: 0; opacity: 0; font-size: 1rem; transition: opacity 0.4s ease, padding 0.5s ease; }
.cms-tour-wrap .tour-card-btn { max-width: 90%; padding: 0.75rem 2rem; border: 0.0625rem hsl(var(--white)) solid; border-radius: var(--borderRadiusPill); color: hsl(var(--white)); font-weight: var(--wRegular); line-height: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; transition: all ease-in-out 0.4s; }
.cms-tour-wrap .tour-card-btn:hover { background: hsl(var(--siteColor1)); border-color: hsl(var(--siteColor1)); text-decoration: none; }
.cms-tour-wrap .tour-card:hover { color: hsl(var(--white)); }
.cms-tour-wrap .tour-card:hover .tour-card-overlay { background: hsla(var(--black), 0.75); }
.cms-tour-wrap .tour-card:hover .tour-card-text-wrap { grid-template-rows: 1fr; }
.cms-tour-wrap .tour-card:hover .tour-card-text { opacity: 1; padding-bottom: 1.5rem; }
@media (min-width: 1025px) {
  .cms-tour-wrap { --sectionPadding: 4rem; }
}

/* Tour Intro */
.cms-tour-wrap .tour-intro .row { row-gap: 1.5rem; }
.cms-tour-wrap .tour-intro li { padding: 0.125rem 0; }
.cms-tour-wrap .tour-intro-banner { border-top: 0.0625rem solid hsla(var(--black), 10%); border-bottom: 0.0625rem solid hsla(var(--black), 10%); }
.cms-tour-wrap .tour-intro-banner .row { row-gap: 1rem; }
@media (min-width: 1200px) {
  .cms-tour-wrap .tour-intro .container { max-width: 60.625rem; }
}

/* Tour TTD */
.cms-tour-wrap .tour-ttd .row { row-gap: 1.5rem; }
@media (min-width: 768px) {
  .cms-tour-wrap .tour-ttd .row { row-gap: 1.875rem; }
  .cms-tour-wrap .tour-ttd .tour-card img { aspect-ratio: 3 / 4; }
}
@media (min-width: 1200px) {
  .cms-tour-wrap .tour-ttd .col-xl-3 { max-width: 100%; flex: 1; transition: all ease-in-out 0.4s; }
  .cms-tour-wrap .tour-ttd .col-xl-3:has(.tour-card:hover) { flex: 1.25; }
  .cms-tour-wrap .tour-ttd .tour-card img { aspect-ratio: unset; height: calc(var(--containerMaxWidth) / 4 * 1.25); }
}

/* Tour TTD Categories */
.cms-tour-wrap .tour-ttd-categories .row { row-gap: 1.5rem; }
.cms-tour-wrap .tour-ttd-categories .tour-card .tour-card-text-wrap { grid-template-rows: 1fr; }
.cms-tour-wrap .tour-ttd-categories .tour-card .tour-card-text { opacity: 1; padding-bottom: 1.5rem; }
.cms-tour-wrap .tour-ttd-categories .tour-card .tour-card-text ul { margin: 0; padding: 0 1.5rem; text-align: left; overflow: hidden; }
@media (min-width: 768px) {
  .cms-tour-wrap .tour-ttd-categories .row { row-gap: 1.875rem; }
}
@media (min-width: 1200px) {
  .cms-tour-wrap .tour-ttd-categories .col-lg-5 { max-width: 35%; flex: 0 0 35%; }
}

/* Content Builder */
#contentarea .cms-tour-wrap .tour-card-overlay { pointer-events: none; }
#contentarea .cms-tour-wrap .tour-card-overlay * { pointer-events: auto; }
#contentarea .cms-tour-wrap .tour-card-text-wrap { grid-template-rows: 1fr; }
#contentarea .cms-tour-wrap .tour-card-text,
#contentarea .cms-tour-wrap .tour-ttd-categories .tour-card .tour-card-text,
#contentarea .cms-tour-wrap .tour-ttd-categories .tour-card .tour-card-text ul { opacity: 1; padding-bottom: 1.5rem; }