
.mqcpf-wrap{max-width:1180px;margin:0 auto;padding:28px 20px 60px}
.mqcpf-head{text-align:center;margin-bottom:22px}
.mqcpf-head h2{margin:0 0 8px;color:#073650}
.mqcpf-head p{margin:0;color:#5b6d75}
.mqcpf-filters{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;background:#f4f8f4;border:1px solid #dbe8e6;border-radius:18px;padding:16px;margin-bottom:20px}
.mqcpf-field label{display:block;font-size:.86rem;font-weight:800;color:#073650;margin-bottom:5px}
.mqcpf-field input,.mqcpf-field select{width:100%;min-height:44px;border:1px solid #cddbdd;border-radius:10px;padding:9px 11px;background:#fff;font-size:16px}
.mqcpf-actions{display:flex;gap:8px;flex-wrap:wrap}
.mqcpf-filter-button,.mqcpf-load-more{min-height:44px;border:0;border-radius:999px;padding:10px 18px;font-weight:900;cursor:pointer;background:linear-gradient(135deg,#2cab4b,#84d331);color:#082c16}
.mqcpf-clear-button{min-height:44px;border:1px solid #0569ad;border-radius:999px;padding:10px 16px;font-weight:800;cursor:pointer;background:#fff;color:#0569ad}
.mqcpf-status{text-align:center;min-height:24px;color:#526872;font-size:.92rem}
.mqcpf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.mqcpf-card{background:#fff;border:1px solid #dce8e9;border-radius:18px;overflow:hidden;box-shadow:0 6px 18px rgba(7,54,80,.07)}
.mqcpf-thumb{aspect-ratio:4/3;background:#eef5f4;overflow:hidden}
.mqcpf-image{width:100%;height:100%;object-fit:cover;display:block}
.mqcpf-no-image{height:100%;display:flex;align-items:center;justify-content:center;color:#6a7a80}
.mqcpf-body{padding:15px}
.mqcpf-body h3{font-size:1.03rem;margin:0 0 8px;color:#073650}
.mqcpf-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.mqcpf-meta span{font-size:.78rem;background:#f1f6f6;color:#526872;padding:4px 7px;border-radius:999px}
.mqcpf-button{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:42px;padding:9px 12px;border-radius:999px;text-decoration:none!important;font-weight:900;font-size:.86rem;background:#0569ad;color:#fff!important}
.mqcpf-missing{font-size:.82rem;color:#7a6666}
.mqcpf-empty{text-align:center;background:#f4f8f4;border:1px solid #dce8e9;border-radius:14px;padding:20px}
.mqcpf-load-wrap{text-align:center;margin-top:22px}
.mqcpf-load-more[hidden],.mqcpf-empty[hidden]{display:none!important}
.mqcpf-card.mqcpf-new{animation:mqcpfFade .22s ease-out}
@keyframes mqcpfFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.mqcpf-card.mqcpf-new{animation:none}}
@media(max-width:1000px){.mqcpf-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mqcpf-filters{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.mqcpf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mqcpf-filters{grid-template-columns:1fr}.mqcpf-search-field{grid-column:auto}}
@media(max-width:480px){.mqcpf-grid{grid-template-columns:1fr}.mqcpf-actions>*{flex:1}.mqcpf-wrap{padding-left:14px;padding-right:14px}}

.mqcpf-unlock{border:0;cursor:pointer}
.mqcpf-password-box{margin-top:10px;padding:10px;background:#f4f8f4;border:1px solid #dce8e9;border-radius:12px}
.mqcpf-password-input{width:100%;min-height:42px;border:1px solid #cddbdd;border-radius:9px;padding:8px 10px;font-size:16px;margin-bottom:7px}
.mqcpf-password-submit{width:100%;min-height:40px;border:0;border-radius:999px;font-weight:900;background:linear-gradient(135deg,#2cab4b,#84d331);color:#082c16;cursor:pointer}
.mqcpf-password-message{min-height:20px;margin-top:6px;font-size:.8rem;color:#526872}


/* V4 — Activity color system */
.mqcpf-card{
  position:relative;
  border-top:5px solid #dce8e9;
}
.mqcpf-card.mqcpf-rafting{
  border-top-color:#0b79d0;
}
.mqcpf-card.mqcpf-canyoning{
  border-top-color:#2cab4b;
}
.mqcpf-card.mqcpf-safari{
  border-top-color:#f28a1a;
}
.mqcpf-card.mqcpf-combo{
  border-top-color:#6a3fc7;
}

.mqcpf-activity-badge{
  font-weight:900!important;
  color:#fff!important;
}
.mqcpf-rafting .mqcpf-activity-badge{
  background:#0b79d0!important;
}
.mqcpf-canyoning .mqcpf-activity-badge{
  background:#2cab4b!important;
}
.mqcpf-safari .mqcpf-activity-badge{
  background:#f28a1a!important;
}
.mqcpf-combo .mqcpf-activity-badge{
  background:#6a3fc7!important;
}
.mqcpf-date-badge{
  background:#f1f6f6!important;
  color:#526872!important;
}

/* Keep the password/code completely internal until unlock */
.mqcpf-password-input{
  -webkit-text-security:disc;
}


/* V5 — Local uploaded photos */
.mqcpf-local-gallery{margin-top:12px}
.mqcpf-local-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.mqcpf-local-photo{display:block;text-decoration:none!important;border:1px solid #dce8e9;border-radius:10px;overflow:hidden;background:#fff}
.mqcpf-local-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.mqcpf-local-photo span{display:block;padding:7px;text-align:center;font-size:.72rem;font-weight:900;color:#073650}
@media(max-width:480px){.mqcpf-local-grid{grid-template-columns:1fr}}

.mqcpf-time-badge{background:#073650!important;color:#fff!important;font-weight:800!important}


/* V12 — FIXED configurable public preview appearance.
   CSS variables are written directly on the shortcode wrapper,
   so the setting also applies to AJAX-loaded cards. */
.mqcpf-wrap .mqcpf-thumb{
  height:var(--mqcpf-card-image-height,320px)!important;
  min-height:var(--mqcpf-card-image-height,320px)!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
}
.mqcpf-wrap .mqcpf-thumb .mqcpf-image{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:var(--mqcpf-card-image-fit,cover)!important;
  object-position:var(--mqcpf-card-image-position,center)!important;
  display:block!important;
}
.mqcpf-wrap .mqcpf-no-image{
  height:100%!important;
  min-height:var(--mqcpf-card-image-height,320px)!important;
}


/* V19 — Client Card Image Appearance: custom width + height */
.mqcpf-wrap .mqcpf-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--mqcpf-card-image-width,320px)),var(--mqcpf-card-image-width,320px)))!important;
  justify-content:center!important;
}
.mqcpf-wrap .mqcpf-card{
  width:min(100%,var(--mqcpf-card-image-width,320px))!important;
  max-width:var(--mqcpf-card-image-width,320px)!important;
  justify-self:center!important;
}
.mqcpf-wrap .mqcpf-thumb{
  width:100%!important;
  height:var(--mqcpf-card-image-height,320px)!important;
  min-height:var(--mqcpf-card-image-height,320px)!important;
}


/* V25 — configurable public appearance */
.mqcpf-wrap .mqcpf-head{
  font-family:var(--mqcpf-header-font,Arial,sans-serif)!important;
}
.mqcpf-wrap .mqcpf-head h2{
  font-family:var(--mqcpf-header-font,Arial,sans-serif)!important;
  font-size:var(--mqcpf-header-size,40px)!important;
  color:var(--mqcpf-header-color,#073650)!important;
}
.mqcpf-wrap .mqcpf-head p{
  font-family:var(--mqcpf-header-font,Arial,sans-serif)!important;
  color:var(--mqcpf-subtitle-color,#5b6d75)!important;
}

.mqcpf-wrap .mqcpf-filters{
  background:var(--mqcpf-filter-bg,#f4f8f4)!important;
  border-color:var(--mqcpf-filter-border,#dbe8e6)!important;
  border-width:var(--mqcpf-filter-border-width,1px)!important;
  border-style:solid!important;
  border-radius:var(--mqcpf-filter-radius,18px)!important;
  font-family:var(--mqcpf-filter-font,Arial,sans-serif)!important;
  font-size:var(--mqcpf-filter-font-size,16px)!important;
}
.mqcpf-wrap .mqcpf-field label{
  color:var(--mqcpf-filter-label,#073650)!important;
  font-family:var(--mqcpf-filter-font,Arial,sans-serif)!important;
  font-size:var(--mqcpf-filter-font-size,16px)!important;
}
.mqcpf-wrap .mqcpf-field input,
.mqcpf-wrap .mqcpf-field select{
  background:var(--mqcpf-filter-input-bg,#fff)!important;
  border-color:var(--mqcpf-filter-input-border,#cddbdd)!important;
  font-family:var(--mqcpf-filter-font,Arial,sans-serif)!important;
  font-size:var(--mqcpf-filter-font-size,16px)!important;
}
.mqcpf-wrap .mqcpf-filter-button,
.mqcpf-wrap .mqcpf-load-more{
  background:var(--mqcpf-search-bg,#2cab4b)!important;
  color:var(--mqcpf-search-text,#082c16)!important;
  font-family:var(--mqcpf-filter-font,Arial,sans-serif)!important;
}
.mqcpf-wrap .mqcpf-clear-button{
  font-family:var(--mqcpf-filter-font,Arial,sans-serif)!important;
}

.mqcpf-wrap .mqcpf-card{
  background:var(--mqcpf-card-bg,#fff)!important;
  border-left-color:var(--mqcpf-card-border,#dce8e9)!important;
  border-right-color:var(--mqcpf-card-border,#dce8e9)!important;
  border-bottom-color:var(--mqcpf-card-border,#dce8e9)!important;
  border-left-width:var(--mqcpf-card-border-width,1px)!important;
  border-right-width:var(--mqcpf-card-border-width,1px)!important;
  border-bottom-width:var(--mqcpf-card-border-width,1px)!important;
  border-style:solid!important;
  border-radius:var(--mqcpf-card-radius,18px)!important;
  font-family:var(--mqcpf-card-font,Arial,sans-serif)!important;
  font-size:var(--mqcpf-card-font-size,16px)!important;
}
.mqcpf-wrap .mqcpf-card .mqcpf-body,
.mqcpf-wrap .mqcpf-card .mqcpf-body h3{
  color:var(--mqcpf-card-text,#073650)!important;
  font-family:var(--mqcpf-card-font,Arial,sans-serif)!important;
}
.mqcpf-wrap .mqcpf-card .mqcpf-body{
  font-size:var(--mqcpf-card-font-size,16px)!important;
}
.mqcpf-wrap .mqcpf-button{
  background:var(--mqcpf-download-bg,#0569ad)!important;
  color:var(--mqcpf-download-text,#fff)!important;
  font-family:var(--mqcpf-card-font,Arial,sans-serif)!important;
}


/* V26 — configurable Tour Date badge */
.mqcpf-wrap .mqcpf-date-badge{
  background:var(--mqcpf-date-bg,#f1f6f6)!important;
  color:var(--mqcpf-date-text,#526872)!important;
  font-size:var(--mqcpf-date-font-size,13px)!important;
  padding:var(--mqcpf-date-padding-v,4px) var(--mqcpf-date-padding-h,7px)!important;
  border-radius:var(--mqcpf-date-radius,50px)!important;
  border:var(--mqcpf-date-border-width,0px) solid var(--mqcpf-date-border,#f1f6f6)!important;
  font-family:var(--mqcpf-card-font,Arial,sans-serif)!important;
  line-height:1.2!important;
}

/* ==========================================================
 * V29 — MOBILE COMPACT SEARCH
 * Keeps desktop/tablet styling intact and compresses filters
 * as much as practical on phones.
 * ========================================================== */
@media (max-width:720px){
  .mqcpf-wrap{
    padding-top:12px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  .mqcpf-wrap .mqcpf-head{
    margin-bottom:10px!important;
  }
  .mqcpf-wrap .mqcpf-head h2{
    font-size:clamp(24px,7vw,32px)!important;
    line-height:1.08!important;
    margin-bottom:5px!important;
  }
  .mqcpf-wrap .mqcpf-head p{
    font-size:15px!important;
    line-height:1.25!important;
    max-width:520px;
    margin:0 auto!important;
  }
  .mqcpf-wrap .mqcpf-filters{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:7px 8px!important;
    padding:9px!important;
    margin-bottom:10px!important;
    border-radius:13px!important;
    align-items:end!important;
  }
  .mqcpf-wrap .mqcpf-search-field{
    grid-column:1 / -1!important;
  }
  .mqcpf-wrap .mqcpf-field label{
    font-size:13px!important;
    line-height:1.1!important;
    margin-bottom:3px!important;
  }
  .mqcpf-wrap .mqcpf-field input,
  .mqcpf-wrap .mqcpf-field select{
    min-height:38px!important;
    height:38px!important;
    padding:5px 9px!important;
    border-radius:9px!important;
    font-size:14px!important;
  }
  .mqcpf-wrap .mqcpf-search-field input{
    min-height:40px!important;
    height:40px!important;
  }
  .mqcpf-wrap .mqcpf-actions{
    grid-column:1 / -1!important;
    display:grid!important;
    grid-template-columns:1fr 0.58fr!important;
    gap:7px!important;
    flex-wrap:nowrap!important;
  }
  .mqcpf-wrap .mqcpf-filter-button,
  .mqcpf-wrap .mqcpf-clear-button{
    min-height:38px!important;
    height:38px!important;
    padding:5px 10px!important;
    font-size:13px!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  .mqcpf-wrap .mqcpf-status{
    min-height:18px!important;
    margin:0 0 5px!important;
    font-size:13px!important;
  }
}

@media (max-width:390px){
  .mqcpf-wrap .mqcpf-filters{
    gap:6px!important;
    padding:8px!important;
  }
  .mqcpf-wrap .mqcpf-field label{
    font-size:12px!important;
  }
  .mqcpf-wrap .mqcpf-field input,
  .mqcpf-wrap .mqcpf-field select{
    font-size:13px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
  .mqcpf-wrap .mqcpf-filter-button,
  .mqcpf-wrap .mqcpf-clear-button{
    font-size:12px!important;
    padding-left:7px!important;
    padding-right:7px!important;
  }
}
