/* ECOTRAVEL Cruise Footer Resolver v1.2.0
 * IMPORTANT: no global footer selector is hidden in CSS.
 * JS decides which footer is sparse and which is the existing professional footer.
 */
body.ecotravel-cruise-footer-resolver .ecotravel-cruise-footer--fallback{
  --ecf-navy:#18344d;--ecf-navy-2:#10283c;--ecf-red:#ed1c24;--ecf-white:#fff;--ecf-muted:#adbdca;--ecf-line:rgba(255,255,255,.12);
  width:100%;margin:54px 0 0!important;padding:0!important;background:var(--ecf-navy-2);color:#fff;font-family:Roboto,Arial,Helvetica,sans-serif;position:relative;z-index:3;box-sizing:border-box;
  /* Prevent old/new stacking flash. JS reveals this only when the global professional footer is absent. */
  display:none;
}
body.ecotravel-cruise-footer-resolver .ecotravel-cruise-footer--fallback.ecf-resolved-visible{display:block!important}
body.ecotravel-cruise-footer-resolver .ecotravel-cruise-footer--fallback *{box-sizing:border-box}
body.ecotravel-cruise-footer-resolver .ecotravel-cruise-footer--fallback a{text-decoration:none!important}
.ecf-assist{background:#fff;padding:0 22px;position:relative}
.ecf-assist__inner{width:min(1240px,100%);margin:0 auto;transform:translateY(1px);border:1px solid #e4e8ed;border-bottom:0;border-radius:18px 18px 0 0;background:#fff;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr) auto;align-items:center;gap:30px;padding:28px 30px;box-shadow:0 -12px 34px rgba(18,43,65,.06)}
.ecf-kicker{display:block;color:#8a5060;font-size:11px;line-height:1;font-weight:900;letter-spacing:.12em;margin-bottom:8px}
.ecf-assist__copy h2{margin:0 0 7px!important;font-size:25px!important;line-height:1.16!important;color:#20384e!important;font-weight:900!important;letter-spacing:-.02em}
.ecf-assist__copy p{margin:0!important;color:#647386!important;font-size:14px!important;line-height:1.55!important;max-width:610px}
.ecf-assist__proof{display:grid;grid-template-columns:1fr 1fr;border-left:1px solid #e5e8ec;border-right:1px solid #e5e8ec}
.ecf-assist__proof>span{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:9px;padding:4px 18px;min-width:0}
.ecf-assist__proof>span+span{border-left:1px solid #e5e8ec}
.ecf-assist__proof svg{grid-row:1/3;width:25px;height:25px;align-self:center;fill:none;stroke:var(--ecf-red);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ecf-assist__proof strong{color:#243b50;font-size:12px;line-height:1.25;font-weight:850}
.ecf-assist__proof small{color:#778595;font-size:10.5px;line-height:1.3;margin-top:2px}
.ecf-assist__actions{display:flex;flex-direction:column;gap:9px;min-width:188px}
.ecf-btn{min-height:44px;padding:0 18px;border-radius:10px;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;font-size:12px!important;line-height:1!important;font-weight:900!important;white-space:nowrap;transition:transform .16s ease,background .16s ease,border-color .16s ease}
.ecf-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.ecf-btn--primary{background:var(--ecf-red)!important;border:1px solid var(--ecf-red)!important;color:#fff!important;box-shadow:0 8px 18px rgba(237,28,36,.16)}
.ecf-btn--primary:hover{background:#d8151d!important;border-color:#d8151d!important;color:#fff!important;transform:translateY(-1px)}
.ecf-btn--secondary{background:#fff!important;border:1px solid #d7dde3!important;color:#2d465c!important}
.ecf-btn--secondary:hover{border-color:var(--ecf-red)!important;color:var(--ecf-red)!important}
.ecf-main{background:linear-gradient(180deg,var(--ecf-navy) 0%,var(--ecf-navy-2) 100%);padding:54px 22px 0}
.ecf-main__inner{width:min(1240px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(300px,1.65fr) repeat(3,minmax(150px,1fr));gap:54px;padding-bottom:42px}
.ecf-wordmark{display:inline-flex!important;align-items:center;gap:10px;color:#fff!important;font-size:23px!important;line-height:1!important;font-weight:950!important;letter-spacing:.015em;margin-bottom:17px}
.ecf-mark{width:38px;height:38px;border-radius:9px;background:var(--ecf-red);display:grid;place-items:center;color:#fff;font-size:13px;font-weight:950;letter-spacing:-.02em;box-shadow:0 7px 18px rgba(237,28,36,.2)}
.ecf-brand p{margin:0 0 20px!important;max-width:410px;color:#c2ced8!important;font-size:13.5px!important;line-height:1.7!important}
.ecf-contact{display:inline-flex!important;align-items:center;gap:10px;color:#fff!important;padding:10px 12px 10px 10px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.055)}
.ecf-contact svg{width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ecf-contact span{display:flex;flex-direction:column;gap:2px}
.ecf-contact small{font-size:9.5px;color:#aebfcb;text-transform:uppercase;letter-spacing:.08em;font-weight:800}
.ecf-contact strong{font-size:13px;color:#fff;font-weight:800}
.ecf-col h3{margin:4px 0 17px!important;padding:0 0 11px!important;border-bottom:1px solid var(--ecf-line);color:#fff!important;font-size:12px!important;line-height:1.2!important;text-transform:uppercase;letter-spacing:.09em;font-weight:900!important}
.ecf-col a{display:block!important;color:#b9c8d3!important;font-size:13px!important;line-height:1.45!important;padding:5px 0!important;margin:0!important;font-weight:500!important;transition:color .14s ease,transform .14s ease}
.ecf-col a:hover{color:#fff!important;transform:translateX(2px)}
.ecf-bottom{width:min(1240px,100%);margin:0 auto;border-top:1px solid var(--ecf-line);min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#91a6b5;font-size:11.5px;line-height:1.4}
.ecf-bottom>div{display:flex;align-items:center;gap:18px}
.ecf-bottom a{color:#9fb1bf!important;font-size:11.5px!important;font-weight:600!important}
.ecf-bottom a:hover{color:#fff!important}

/* JS adds this only to the sparse Travel Monster/WordPress fallback, never blindly to #colophon. */
body.ecotravel-cruise-footer-resolver .ecf-hide-sparse-theme-footer{display:none!important}
body.ecotravel-cruise-footer-resolver .ecf-hide-theme-top{display:none!important}

@media(max-width:1080px){.ecf-assist__inner{grid-template-columns:minmax(0,1.4fr) auto}.ecf-assist__proof{display:none}.ecf-main__inner{grid-template-columns:1.5fr 1fr 1fr;gap:36px}.ecf-col:last-child{grid-column:2/4}}
@media(max-width:760px){body.ecotravel-cruise-footer-resolver .ecotravel-cruise-footer--fallback{margin-top:38px!important}.ecf-assist{padding:0 14px}.ecf-assist__inner{display:block;padding:23px 20px;border-radius:14px 14px 0 0}.ecf-assist__copy h2{font-size:22px!important}.ecf-assist__actions{display:grid;grid-template-columns:1fr 1fr;margin-top:20px;min-width:0}.ecf-btn{white-space:normal;text-align:center}.ecf-main{padding:40px 18px 0}.ecf-main__inner{grid-template-columns:1fr 1fr;gap:34px 24px}.ecf-brand{grid-column:1/-1}.ecf-col:last-child{grid-column:auto}.ecf-bottom{padding:18px 0;display:block;min-height:0}.ecf-bottom>div{margin-top:10px;flex-wrap:wrap}}
@media(max-width:480px){.ecf-assist__actions{grid-template-columns:1fr}.ecf-main__inner{grid-template-columns:1fr}.ecf-brand,.ecf-col:last-child{grid-column:auto}.ecf-contact{width:100%;justify-content:flex-start}.ecf-bottom>div{gap:12px}}
