/* EcoSapa Cruise Pages v1.3.11 — Warm-neutral cruise card palette */
/* Base layout originates from the v1.3.1 full-bleed marketplace correction. */
.ecs-v130{
  --ink:#092f2c;
  --ink-2:#173f3b;
  --muted:#62736f;
  --muted-2:#87938f;
  --teal:#006b5c;
  --teal-2:#07594f;
  --teal-soft:#edf7f4;
  --teal-softer:#f7fbfa;
  --red:#ff3d38;
  --red-hover:#e92f2b;
  --warm:#fff5e9;
  --warm-2:#fffaf6;
  --line:#dce6e2;
  --line-strong:#cbd9d4;
  --canvas:#f6f9f8;
  --white:#fff;
  --shadow:0 12px 34px rgba(8,52,45,.08);
  --shadow-hover:0 20px 46px rgba(8,52,45,.13);
  /* Break out of the parent theme's content/container width. v1.3.0 only used width:100%,
     so on many WP themes the whole storefront stayed trapped inside a 1100–1280px wrapper. */
  position:relative;
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  overflow-x:clip;
  background:#fff;color:var(--ink);
  font-family:Roboto,Arial,Helvetica,sans-serif;
  font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}
.ecs-v130 *{box-sizing:border-box}
.ecs-v130 a{color:inherit;text-decoration:none}
.ecs-v130 button,.ecs-v130 input,.ecs-v130 select{font:inherit}
.ecs-v130 button{color:inherit}
.ecs-v130 svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.ecs-v130 [hidden]{display:none!important}
.ecs-v130 .ecs-shell{width:min(1680px,calc(100% - 64px));margin-inline:auto}
.ecs-v130 .ecs-kicker{display:block;color:var(--teal);font-size:12.5px;line-height:1.2;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.ecs-v130 .ecs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;border:0;border-radius:10px;padding:0 20px;font-weight:800;cursor:pointer;transition:.18s ease}
.ecs-v130 .ecs-btn svg{width:18px;height:18px}
.ecs-v130 .ecs-btn--primary{background:var(--red);color:#fff;box-shadow:0 8px 20px rgba(255,61,56,.16)}
.ecs-v130 .ecs-btn--primary:hover{background:var(--red-hover);transform:translateY(-1px);box-shadow:0 12px 24px rgba(255,61,56,.22)}
.ecs-v130 .ecs-btn--secondary{border:1px solid #e6ad24;background:#ffcf57;color:#17211e;box-shadow:0 7px 18px rgba(199,145,16,.12)}
.ecs-v130 .ecs-btn--secondary:hover{background:#ffc43d;border-color:#d89d12;transform:translateY(-1px);box-shadow:0 10px 22px rgba(199,145,16,.17)}

/* HERO — synchronized with EcoSapa Tours: full-bleed image, centered title and one-line search. */
body.ecosapa-cruise-storefront-v130 .page-header-top,
body.ecosapa-cruise-storefront-v130 .travel-monster-breadcrumb-main-wrap{display:none!important}

/* v1.3.10 — remove the parent/child-theme content gutter above the custom hero.
   The global header closes before #page/#content is opened, so this reset is
   isolated to the Cruise Pages document frame and cannot move the navigation.
   ID-level specificity is intentional: Travel Monster can declare #content
   spacing with !important, which a class-only override does not reliably beat. */
body#ecosapa-root.ecosapa-cruise-storefront-v130 #page.ecosapa-wp-site,
body#ecosapa-root.ecosapa-cruise-storefront-v130 #content.site-content.ecosapa-wp-content{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}
body#ecosapa-root.ecosapa-cruise-storefront-v130 #content.site-content.ecosapa-wp-content{
  display:block!important;
  min-height:0!important;
}
body#ecosapa-root.ecosapa-cruise-storefront-v130 #content.site-content.ecosapa-wp-content > main.ecs-v130{
  margin:0!important;
  padding:0!important;
}
/* Defensive adapters in case Travel Monster injects a content shell around the
   custom template on a future theme update. */
body#ecosapa-root.ecosapa-cruise-storefront-v130 #content.site-content.ecosapa-wp-content > .container,
body#ecosapa-root.ecosapa-cruise-storefront-v130 #content.site-content.ecosapa-wp-content > .main-content-wrapper{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

.ecs-v130 .ecs-hero{
  position:relative;
  min-height:540px;
  padding:0;
  overflow:hidden;
  isolation:isolate;
  background-color:#123c36;
  background-image:var(--ecs-hero);
  background-size:cover;
  background-position:center 46%;
}
.ecs-v130 .ecs-hero__overlay{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(5,28,26,.28) 0%,rgba(5,28,26,.20) 34%,rgba(5,28,26,.58) 76%,rgba(4,24,22,.72) 100%),
    linear-gradient(90deg,rgba(4,25,22,.20),rgba(4,25,22,.04) 48%,rgba(4,25,22,.16));
}
.ecs-v130 .ecs-hero__inner{
  min-height:540px;
  display:flex;
  flex-direction:column;
  padding-top:24px;
  padding-bottom:34px;
}
.ecs-v130 .ecs-breadcrumb{
  display:flex;align-items:center;gap:10px;
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:14px;font-weight:600;
  text-shadow:0 1px 8px rgba(0,0,0,.24);
}
.ecs-v130 .ecs-breadcrumb a{color:#fff}
.ecs-v130 .ecs-breadcrumb a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.ecs-v130 .ecs-breadcrumb span{color:rgba(255,255,255,.82)}
.ecs-v130 .ecs-hero__content{
  width:100%;
  margin:auto auto 0;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}
.ecs-v130 .ecs-hero h1{
  max-width:1050px;
  margin:0;
  color:#fff;
  font-size:clamp(38px,3.45vw,54px);
  line-height:1.06;
  font-weight:850;
  letter-spacing:-.035em;
  text-shadow:0 2px 18px rgba(0,0,0,.30);
}
.ecs-v130 .ecs-hero__content>p{
  max-width:820px;
  margin:12px auto 22px;
  color:rgba(255,255,255,.94);
  font-size:17px;
  line-height:1.55;
  text-shadow:0 1px 12px rgba(0,0,0,.26);
}
.ecs-v130 .ecs-finder{
  width:min(1210px,calc(100vw - 72px));
  min-height:68px;
  margin:0;
  padding:5px;
  display:grid;
  grid-template-columns:minmax(190px,1.2fr) minmax(150px,.92fr) minmax(145px,.88fr) minmax(145px,.9fr) minmax(175px,1fr) 190px;
  align-items:stretch;
  background:#fff;
  border:1px solid rgba(255,255,255,.78);
  border-radius:18px;
  box-shadow:0 14px 36px rgba(5,35,31,.28);
  overflow:hidden;
}
.ecs-v130 .ecs-finder__field{
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:56px;
  padding:0 13px;
  border-right:1px solid #e6ebe9;
  text-align:left;
}
.ecs-v130 .ecs-finder__icon{
  display:flex;align-items:center;justify-content:center;
  width:24px;height:24px;
  border-radius:0;
  background:transparent;
  color:var(--teal);
}
.ecs-v130 .ecs-finder__icon svg{width:20px;height:20px;stroke-width:1.9}
.ecs-v130 .ecs-finder__control{display:block;min-width:0}
.ecs-v130 .ecs-finder__field small{
  position:absolute!important;
  width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.ecs-v130 .ecs-finder__field input,
.ecs-v130 .ecs-finder__field select{
  width:100%;min-width:0;
  min-height:42px;height:42px;
  margin:0;padding:0 3px;
  border:0!important;outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#172d29;
  font-size:15px;
  line-height:1.2;
  font-weight:650;
}
.ecs-v130 .ecs-finder__field input::placeholder{color:#7f8b88;opacity:1;font-weight:500}
.ecs-v130 .ecs-finder__field input[type=date]{font-weight:650;color:#253b37}
.ecs-v130 .ecs-finder__submit{
  min-width:0;
  min-height:56px;
  height:auto;
  margin:0;
  padding:0 18px;
  border-radius:14px;
  font-size:16px;
  font-weight:850;
  box-shadow:none;
}
.ecs-v130 .ecs-finder__submit svg{width:20px;height:20px}
.ecs-v130 .ecs-hero__proof{
  display:flex;flex-wrap:wrap;justify-content:center;gap:12px 24px;
  margin-top:18px;
  color:rgba(255,255,255,.94);
  font-size:13.5px;font-weight:650;
  text-shadow:0 1px 10px rgba(0,0,0,.22);
}
.ecs-v130 .ecs-hero__proof span{display:inline-flex;align-items:center;gap:7px}
.ecs-v130 .ecs-hero__proof svg{width:16px;height:16px;color:#fff}

@media (max-width:1220px){
  .ecs-v130 .ecs-hero{min-height:570px}
  .ecs-v130 .ecs-hero__inner{min-height:570px}
  .ecs-v130 .ecs-finder{
    width:min(940px,calc(100vw - 56px));
    grid-template-columns:repeat(3,minmax(0,1fr));
    padding:6px;
  }
  .ecs-v130 .ecs-finder__field:nth-child(3){border-right:0}
  .ecs-v130 .ecs-finder__field:nth-child(n+4){border-top:1px solid #e6ebe9}
  .ecs-v130 .ecs-finder__field--date{border-right:1px solid #e6ebe9}
  .ecs-v130 .ecs-finder__submit{border-radius:12px}
}
@media (max-width:767px){
  .ecs-v130 .ecs-hero{min-height:690px;background-position:center}
  .ecs-v130 .ecs-hero__inner{min-height:690px;width:calc(100% - 28px);padding-top:18px;padding-bottom:22px}
  .ecs-v130 .ecs-breadcrumb{font-size:12px;gap:7px}
  .ecs-v130 .ecs-hero h1{font-size:36px;line-height:1.07}
  .ecs-v130 .ecs-hero__content>p{margin:9px auto 16px;font-size:14.5px;line-height:1.45}
  .ecs-v130 .ecs-finder{
    width:100%;
    grid-template-columns:1fr 1fr;
    border-radius:15px;
    padding:5px;
  }
  .ecs-v130 .ecs-finder__field{min-height:54px;padding:0 10px;border-top:0!important;border-bottom:1px solid #e6ebe9}
  .ecs-v130 .ecs-finder__field:nth-child(odd){border-right:1px solid #e6ebe9}
  .ecs-v130 .ecs-finder__field:nth-child(even){border-right:0}
  .ecs-v130 .ecs-finder__field--name{grid-column:1/-1;border-right:0!important}
  .ecs-v130 .ecs-finder__field--date{border-bottom:0}
  .ecs-v130 .ecs-finder__submit{grid-column:1/-1;min-height:50px;margin-top:2px;font-size:16px}
  .ecs-v130 .ecs-hero__proof{gap:8px 14px;margin-top:13px;font-size:11.5px}
}

/* Quick decisions */
.ecs-v130 .ecs-decision{padding:44px 0 38px;background:#fff}
.ecs-v130 .ecs-decision__head{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:18px}
.ecs-v130 .ecs-decision__head h2{margin:6px 0 0;font-size:29px;line-height:1.18;letter-spacing:-.025em}
.ecs-v130 .ecs-decision__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ecs-v130 .ecs-decision__grid>a{display:flex;align-items:center;gap:13px;min-height:82px;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(8,52,45,.035);transition:.18s ease}
.ecs-v130 .ecs-decision__grid>a:hover{border-color:#9dc8bf;box-shadow:0 10px 22px rgba(8,52,45,.08);transform:translateY(-2px)}
.ecs-v130 .ecs-decision__grid i{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--teal-soft);color:var(--teal);font-style:normal}
.ecs-v130 .ecs-decision__grid i svg{width:21px;height:21px}
.ecs-v130 .ecs-decision__grid span{min-width:0}
.ecs-v130 .ecs-decision__grid strong{display:block;color:#143a35;font-size:15.5px;line-height:1.2}
.ecs-v130 .ecs-decision__grid small{display:block;margin-top:4px;color:#7b8985;font-size:12.5px;line-height:1.3}

/* Catalog heading */
.ecs-v130 .ecs-catalog{padding:42px 0 58px;background:var(--canvas);border-top:1px solid #eef3f1}
.ecs-v130 .ecs-catalog__head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:28px;margin-bottom:20px}
.ecs-v130 .ecs-catalog__title h2{margin:6px 0 6px;font-size:36px;line-height:1.12;font-weight:820;letter-spacing:-.03em}
.ecs-v130 .ecs-catalog__title p{margin:0;color:#687772;font-size:15px}
.ecs-v130 .ecs-catalog__title p strong{color:#2f514b}
.ecs-v130 .ecs-catalog__tools{display:flex;align-items:center;gap:12px}
.ecs-v130 .ecs-advisor-strip{display:flex;align-items:center;gap:9px;min-height:48px;padding:0 16px;border:1px solid #d6ebe6;border-radius:10px;background:#eaf7f3;color:#315e56;font-size:13.5px;white-space:nowrap}
.ecs-v130 .ecs-advisor-strip>svg:first-child{color:var(--teal)}
.ecs-v130 .ecs-advisor-strip>svg:last-child{width:15px;height:15px}
.ecs-v130 .ecs-advisor-strip strong{color:var(--teal);text-decoration:underline;text-underline-offset:2px}
.ecs-v130 .ecs-sort{display:flex;align-items:center;gap:8px;color:#6d7976;font-size:13px;white-space:nowrap}
.ecs-v130 .ecs-sort select{min-width:190px;height:48px;border:1px solid var(--line);border-radius:10px;padding:0 36px 0 13px;background:#fff;color:#213d39;font-size:14px;font-weight:700;outline:none}
.ecs-v130 .ecs-filter-open{display:none;align-items:center;gap:8px;min-height:46px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 15px;font-weight:800}
.ecs-v130 .ecs-filter-open span:not(:empty){display:grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:var(--teal);color:#fff;font-size:11px}
.ecs-v130 .ecs-active-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px}
.ecs-v130 .ecs-active-filters button{border:1px solid #cfe0db;border-radius:999px;background:#fff;padding:6px 10px;color:#315c55;font-size:11.5px;cursor:pointer}
.ecs-v130 .ecs-active-filters button:after{content:' ×';color:#8b9995}

/* Filter sidebar */
.ecs-v130 .ecs-catalog__layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:22px;align-items:start}
.ecs-v130 .ecs-filterdeck{position:sticky;top:18px;border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 7px 22px rgba(8,52,45,.045)}
.ecs-v130 .ecs-filterdeck__mobile-head{display:none}
.ecs-v130 .ecs-filter-intro{padding:18px 18px 14px;border-bottom:1px solid var(--line)}
.ecs-v130 .ecs-filter-intro h3{margin:5px 0 4px;font-size:22px;line-height:1.15;letter-spacing:-.02em}
.ecs-v130 .ecs-filter-intro p{margin:0;color:#76827e;font-size:13px;line-height:1.5}
.ecs-v130 .ecs-filtersection{border-bottom:1px solid var(--line)}
.ecs-v130 .ecs-filtersection summary{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:0 18px;list-style:none;cursor:pointer;color:#24423d;font-size:14px;font-weight:820}
.ecs-v130 .ecs-filtersection summary::-webkit-details-marker{display:none}
.ecs-v130 .ecs-filtersection summary span{display:block;color:#7c8c87;font-size:13px;transition:.2s transform}
.ecs-v130 .ecs-filtersection:not([open]) summary span{transform:rotate(180deg)}
.ecs-v130 .ecs-filtergroup{display:grid;gap:1px;padding:0 16px 13px}
.ecs-v130 .ecs-filtergroup label{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:36px;color:#586a65;font-size:13.5px;cursor:pointer}
.ecs-v130 .ecs-filtergroup label>span{display:flex;align-items:center;gap:9px;min-width:0}
.ecs-v130 .ecs-filtergroup input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.ecs-v130 .ecs-filtergroup label em{position:relative;width:17px;height:17px;border:1.4px solid #c7d5d0;border-radius:5px;background:#fff;flex:0 0 auto}
.ecs-v130 .ecs-filtergroup input:checked+em{border-color:var(--teal);background:var(--teal)}
.ecs-v130 .ecs-filtergroup input:checked+em:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.ecs-v130 .ecs-filtergroup label b{display:grid;place-items:center;min-width:29px;height:23px;border-radius:999px;background:#f2f6f4;color:#74827e;font-size:11.5px;font-weight:750}
.ecs-v130 .ecs-budget{padding:1px 0 4px}
.ecs-v130 .ecs-budget>strong{display:block;margin-bottom:9px;color:#365850;font-size:13px}
.ecs-v130 .ecs-budget input[type=range]{width:100%;accent-color:var(--teal)}
.ecs-v130 .ecs-budget>div{display:flex;justify-content:space-between;margin-top:4px;color:#7f8d89;font-size:11px}
.ecs-v130 .ecs-filter-actions{display:grid;grid-template-columns:1fr;gap:8px;padding:14px 16px 16px}
.ecs-v130 .ecs-filter-actions button,.ecs-v130 .ecs-filter-actions a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;border-radius:8px;font-size:12.5px;font-weight:800}
.ecs-v130 .ecs-filter-actions button{border:1px solid var(--line);background:#fff;cursor:pointer}
.ecs-v130 .ecs-filter-actions button svg{width:14px;height:14px}
.ecs-v130 .ecs-filter-actions a{background:var(--teal);color:#fff}
.ecs-v130 .ecs-filter-scrim{display:none}

/* Results and card */
.ecs-v130 .ecs-results{min-width:0}
.ecs-v130 .ecs-list{display:grid;gap:12px}
.ecs-v130 .ecs-cruise{display:grid;grid-template-columns:430px minmax(0,1fr) 240px;min-height:372px;border:1px solid var(--line-strong);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(8,52,45,.045);transition:.2s ease}
.ecs-v130 .ecs-cruise:hover{border-color:#b8cdc6;box-shadow:var(--shadow-hover)}
.ecs-v130 .ecs-cruise__visual{min-width:0;padding:13px 0 13px 13px}
.ecs-v130 .ecs-main-photo{position:relative;height:282px;border-radius:10px;overflow:hidden;background:#dce8e4}
.ecs-v130 .ecs-main-photo>img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .16s ease,transform .4s ease}
.ecs-v130 .ecs-cruise:hover .ecs-main-photo>img{transform:scale(1.012)}
.ecs-v130 .ecs-rank{position:absolute;left:11px;top:11px;display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:8px;background:rgba(0,94,79,.93);color:#fff;font-size:10.5px;font-weight:850;box-shadow:0 4px 12px rgba(0,50,44,.12)}
.ecs-v130 .ecs-save{position:absolute;right:11px;top:11px;display:grid;place-items:center;width:37px;height:37px;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#254a44;cursor:pointer;box-shadow:0 4px 12px rgba(8,52,45,.12)}
.ecs-v130 .ecs-save svg{width:18px;height:18px}
.ecs-v130 .ecs-save.is-saved{background:#fff0ef;color:var(--red)}
.ecs-v130 .ecs-save.is-saved svg{fill:currentColor}
.ecs-v130 .ecs-photo-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:7px}
.ecs-v130 .ecs-photo-strip button{position:relative;height:62px;border:2px solid #fff;border-radius:7px;overflow:hidden;background:#e7efec;padding:0;cursor:pointer;box-shadow:0 0 0 1px #dce6e2}
.ecs-v130 .ecs-photo-strip img{width:100%;height:100%;object-fit:cover;display:block}
.ecs-v130 .ecs-photo-strip span{position:absolute;inset:0;display:grid;place-items:center;background:rgba(2,38,34,.58);color:#fff;font-size:11px;font-weight:850}

/* v1.3.4 — scoped gallery upgrade. Card dimensions stay unchanged. */
.ecs-v130 .ecs-gallery-open{position:absolute;inset:0;z-index:1;border:0;background:transparent;padding:0;cursor:zoom-in;text-align:right}
.ecs-v130 .ecs-gallery-open>span{position:absolute;right:11px;bottom:11px;display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border-radius:8px;background:rgba(4,43,38,.88);color:#fff;font-size:11px;font-weight:800;box-shadow:0 5px 14px rgba(0,30,26,.18);backdrop-filter:blur(5px)}
.ecs-v130 .ecs-gallery-open svg{width:14px;height:14px}
.ecs-v130 .ecs-rank,.ecs-v130 .ecs-save{z-index:2}
.ecs-v130 .ecs-photo-strip--cabins button{isolation:isolate}
.ecs-v130 .ecs-photo-strip--cabins button:after{content:"";position:absolute;left:0;right:0;bottom:0;height:70%;z-index:1;background:linear-gradient(180deg,transparent,rgba(3,31,28,.82));pointer-events:none}
.ecs-v130 .ecs-photo-strip--cabins .ecs-photo-label{position:absolute;inset:auto 5px 4px;z-index:2;display:block;overflow:hidden;background:none;color:#fff;font-size:9.5px;line-height:1.15;font-weight:800;text-align:left;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.ecs-v130 .ecs-photo-strip--cabins button:hover{box-shadow:0 0 0 1px #8ab7ae}

.ecs-v130 .ecs-cruise__content{min-width:0;padding:22px 24px 18px;border-left:1px solid var(--line)}
.ecs-v130 .ecs-titleline{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ecs-v130 .ecs-cruise h3{margin:0;color:#0a302d;font-size:28px;line-height:1.12;font-weight:830;letter-spacing:-.026em}
.ecs-v130 .ecs-stars{margin-top:5px;color:#f2a100;font-size:14px;letter-spacing:.08em;line-height:1}
.ecs-v130 .ecs-score{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.ecs-v130 .ecs-score>strong{display:grid;place-items:center;min-width:46px;height:46px;border-radius:8px;background:#006f5d;color:#fff;font-size:18px;font-weight:850}
.ecs-v130 .ecs-score>span{display:grid;color:#27443e;font-size:11.5px;font-weight:850;line-height:1.15}
.ecs-v130 .ecs-score small{margin-top:2px;color:#89948f;font-size:10.5px;font-weight:600}
.ecs-v130 .ecs-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ecs-v130 .ecs-badges span{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #d9e3df;border-radius:999px;background:#fbfdfc;color:#425c57;font-size:12px;font-weight:750}
.ecs-v130 .ecs-bestfor{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:11px;color:#7b6041;font-size:13px}
.ecs-v130 .ecs-bestfor strong{color:#28453f}
.ecs-v130 .ecs-signal{display:flex;align-items:flex-start;gap:8px;margin:10px 0 0;padding:8px 10px;border-radius:8px;background:var(--warm);color:#755a3f;font-size:13px;line-height:1.4}
.ecs-v130 .ecs-signal svg{width:15px;height:15px;margin-top:1px;color:#d2853e}
.ecs-v130 .ecs-signal strong{color:#5d4935}
.ecs-v130 .ecs-route-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:11px}
.ecs-v130 .ecs-route{min-width:0;margin-top:0;color:#566963;font-size:13px}
.ecs-v130 .ecs-route strong{color:#28463f}
.ecs-v130 .ecs-shipline{flex:0 0 auto;margin-top:0;padding-left:14px;border-left:1px solid #d8e4e0;color:#315a52;font-size:13px;font-weight:750;white-space:nowrap}
.ecs-v130 .ecs-feature-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.ecs-v130 .ecs-feature-row span{display:inline-flex;align-items:center;gap:5px;min-height:27px;padding:0 8px;border:1px solid #d8e7e2;border-radius:7px;background:#f5fbf9;color:#316259;font-size:12px;font-weight:700}
.ecs-v130 .ecs-feature-row svg{width:13px;height:13px;color:var(--teal)}
.ecs-v130 .ecs-reasons{display:grid;gap:3px;margin:9px 0 0;padding:0;list-style:none}
.ecs-v130 .ecs-reasons li{display:flex;align-items:flex-start;gap:7px;color:#5c6d68;font-size:12.5px;line-height:1.35}
.ecs-v130 .ecs-reasons svg{width:13px;height:13px;margin-top:1px;color:var(--teal)}
.ecs-v130 .ecs-card-links{display:flex;align-items:center;gap:26px;margin-top:10px}
.ecs-v130 .ecs-card-links button{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;padding:0;color:var(--teal);font-size:12.5px;font-weight:820;cursor:pointer}
.ecs-v130 .ecs-card-links svg{width:13px;height:13px}
.ecs-v130 .ecs-card-detail{margin-top:9px;padding-top:8px;border-top:1px dashed var(--line);color:#60716c;font-size:12px}
.ecs-v130 .ecs-card-detail p{margin:2px 0}

.ecs-v130 .ecs-cruise__price{display:flex;flex-direction:column;align-items:stretch;padding:24px 20px 18px;border-left:1px solid var(--line);background:var(--warm-2)}
.ecs-v130 .ecs-price__copy{display:grid;justify-items:start;align-content:start}
.ecs-v130 .ecs-price__copy>small{display:block;color:#7b8783;font-size:11px;font-weight:850;letter-spacing:.09em}
.ecs-v130 .ecs-sale-badge{display:inline-flex;align-items:center;justify-content:center;min-height:27px;padding:0 10px;border-radius:999px;background:#fff0e5;color:#ff5a2f;font-size:12px;font-weight:850;line-height:1}
.ecs-v130 .ecs-price-old{display:flex;align-items:baseline;gap:5px;margin-top:5px;color:#77827f;font-size:13px;line-height:1.2}
.ecs-v130 .ecs-price-old span{text-transform:lowercase}
.ecs-v130 .ecs-price-old del{color:#707a77;text-decoration-thickness:1.3px}
.ecs-v130 .ecs-price{display:flex;align-items:flex-end;gap:5px;margin-top:4px}
.ecs-v130 .ecs-price sup{align-self:center;margin-top:10px;color:var(--red);font-size:11.5px;font-weight:850}
.ecs-v130 .ecs-price strong{color:#c9152b;font-size:46px;line-height:.94;font-weight:850;letter-spacing:-.045em}
.ecs-v130 .ecs-price span{margin-bottom:3px;color:#6b7773;font-size:11px}
.ecs-v130 .ecs-cruise__price>p{margin:14px 0 20px;color:#66736f;font-size:12px;line-height:1.45}
.ecs-v130 .ecs-cruise__price>p span{color:#8b9592}
.ecs-v130 .ecs-price-actions{display:grid;gap:9px;margin-top:auto}
.ecs-v130 .ecs-cruise__price .ecs-btn{width:100%;min-height:48px;margin:0;padding-inline:10px;border-radius:9px;font-size:15px;line-height:1.15;text-align:center}
.ecs-v130 .ecs-price__trust{display:flex;align-items:flex-start;gap:8px;margin-top:11px;padding:10px 0;border-bottom:1px solid #ebe0db;color:var(--teal)}
.ecs-v130 .ecs-price__trust svg{width:17px;height:17px}
.ecs-v130 .ecs-price__trust span{display:grid}
.ecs-v130 .ecs-price__trust strong{font-size:12px}
.ecs-v130 .ecs-price__trust small{margin-top:2px;color:#7d8b87;font-size:10.5px}
.ecs-v130 .ecs-compare{display:flex;align-items:center;gap:7px;margin-top:7px;border:0;background:transparent;padding:7px 0;color:#64736f;font-size:11.5px;cursor:pointer}
.ecs-v130 .ecs-compare svg{width:14px;height:14px}
.ecs-v130 .ecs-compare.is-active{color:var(--teal);font-weight:800}

/* Cross-sell at the moment the buyer has seen enough cruise options */
.ecs-v130 .ecs-trip-builder{display:grid;grid-template-columns:1.05fr 1.55fr;gap:18px;padding:20px 22px;border:1px solid #cfe2dc;border-radius:14px;background:linear-gradient(135deg,#f5fbf9,#edf7f4);box-shadow:0 6px 18px rgba(8,52,45,.04)}
.ecs-v130 .ecs-trip-builder__lead h3{margin:5px 0 6px;font-size:21px;line-height:1.18;letter-spacing:-.02em}
.ecs-v130 .ecs-trip-builder__lead p{margin:0;color:#667772;font-size:13px;line-height:1.5}
.ecs-v130 .ecs-trip-builder__items{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ecs-v130 .ecs-trip-builder__items button{display:flex;align-items:center;gap:8px;min-height:76px;border:1px solid #d7e6e1;border-radius:10px;background:#fff;padding:10px;color:#31564f;text-align:left;cursor:pointer;transition:.15s ease}
.ecs-v130 .ecs-trip-builder__items button:hover,.ecs-v130 .ecs-trip-builder__items button.is-selected{border-color:#7ab8ab;background:#fff}
.ecs-v130 .ecs-trip-builder__items svg{width:19px;height:19px;color:var(--teal)}
.ecs-v130 .ecs-trip-builder__items span{min-width:0;flex:1}
.ecs-v130 .ecs-trip-builder__items strong{display:block;font-size:12px}
.ecs-v130 .ecs-trip-builder__items small{display:block;margin-top:3px;color:#83908c;font-size:10.5px;line-height:1.25}
.ecs-v130 .ecs-trip-builder__items b{font-size:18px;color:var(--teal)}
.ecs-v130 .ecs-trip-builder__footer{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;border-top:1px solid #d8e7e2;color:#677772;font-size:12px}
.ecs-v130 .ecs-trip-builder__footer a{display:inline-flex;align-items:center;gap:6px;color:var(--teal);font-weight:850}
.ecs-v130 .ecs-trip-builder__footer svg{width:14px;height:14px}

.ecs-v130 .ecs-empty{padding:40px;border:1px dashed #c9d8d3;border-radius:14px;background:#fff;text-align:center}
.ecs-v130 .ecs-empty strong{font-size:18px}
.ecs-v130 .ecs-empty p{color:#76847f}
.ecs-v130 .ecs-empty button{border:0;border-radius:8px;background:var(--teal);color:#fff;padding:10px 16px;font-weight:800}

/* Confidence rail */
.ecs-v130 .ecs-confidence{display:grid;grid-template-columns:repeat(3,1fr);margin-top:18px;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.ecs-v130 .ecs-confidence>div{display:flex;align-items:center;justify-content:center;gap:12px;min-height:76px;padding:12px 18px;border-right:1px solid var(--line)}
.ecs-v130 .ecs-confidence>div:last-child{border-right:0}
.ecs-v130 .ecs-confidence svg{width:24px;height:24px;color:var(--teal)}
.ecs-v130 .ecs-confidence span{display:grid}
.ecs-v130 .ecs-confidence strong{font-size:12.5px}
.ecs-v130 .ecs-confidence small{margin-top:2px;color:#7e8b87;font-size:10.5px}

/* Human conversion panel */
.ecs-v130 .ecs-conversion{padding:58px 0;background:#fff}
.ecs-v130 .ecs-conversion__panel{display:grid;grid-template-columns:110px minmax(0,1fr) 290px;align-items:center;gap:28px;padding:30px 34px;border-radius:20px;background:#073d37;color:#fff;box-shadow:0 18px 42px rgba(5,48,43,.18)}
.ecs-v130 .ecs-conversion__portrait{width:110px;height:110px;border:3px solid rgba(255,255,255,.22);border-radius:999px;overflow:hidden}
.ecs-v130 .ecs-conversion__portrait img{width:100%;height:100%;object-fit:cover}
.ecs-v130 .ecs-conversion .ecs-kicker{color:#9cd7cc}
.ecs-v130 .ecs-conversion h2{margin:6px 0 7px;font-size:30px;line-height:1.15;letter-spacing:-.025em}
.ecs-v130 .ecs-conversion__copy>p{max-width:720px;margin:0;color:#c2d8d3;font-size:13.5px;line-height:1.6}
.ecs-v130 .ecs-conversion__points{display:flex;flex-wrap:wrap;gap:13px;margin-top:14px;color:#d7e9e5;font-size:11.5px}
.ecs-v130 .ecs-conversion__points span{display:flex;align-items:center;gap:5px}
.ecs-v130 .ecs-conversion__points svg{width:13px;height:13px;color:#8fd0c2}
.ecs-v130 .ecs-conversion__cta{display:grid;gap:5px;padding-left:24px;border-left:1px solid rgba(255,255,255,.16)}
.ecs-v130 .ecs-conversion__cta>small{color:#aac7c1;font-size:10.5px}
.ecs-v130 .ecs-conversion__cta>strong{font-size:21px}
.ecs-v130 .ecs-btn--light{margin-top:10px;background:#fff;color:#073d37;font-size:12px}

/* Buying guide and FAQ */
.ecs-v130 .ecs-guide{padding:12px 0 58px;background:#fff}
.ecs-v130 .ecs-section-head h2{margin:6px 0 18px;font-size:30px;line-height:1.15;letter-spacing:-.025em}
.ecs-v130 .ecs-guide__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.ecs-v130 .ecs-guide__grid article{position:relative;min-height:188px;padding:24px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(8,52,45,.035)}
.ecs-v130 .ecs-guide__grid article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--teal-soft);color:var(--teal);font-size:11px;font-weight:850}
.ecs-v130 .ecs-guide__grid h3{margin:13px 0 7px;font-size:19px;line-height:1.2}
.ecs-v130 .ecs-guide__grid p{margin:0;color:#687873;font-size:12.5px;line-height:1.55}
.ecs-v130 .ecs-guide__grid a,.ecs-v130 .ecs-guide__grid button{display:inline-flex;align-items:center;gap:6px;margin-top:14px;border:0;background:transparent;padding:0;color:var(--teal);font-size:11.5px;font-weight:850;cursor:pointer}
.ecs-v130 .ecs-guide__grid svg{width:13px;height:13px}
.ecs-v130 .ecs-faq{padding:54px 0 68px;background:var(--canvas);border-top:1px solid #eef3f1}
.ecs-v130 .ecs-faq__layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:54px}
.ecs-v130 .ecs-faq h2{margin:6px 0 7px;font-size:30px;line-height:1.15;letter-spacing:-.025em}
.ecs-v130 .ecs-faq__layout>div:first-child>p{margin:0;color:#72817d;font-size:13px}
.ecs-v130 .ecs-faq__items{border-top:1px solid #cad8d3}
.ecs-v130 .ecs-faq details{border-bottom:1px solid #cad8d3}
.ecs-v130 .ecs-faq summary{display:flex;align-items:center;justify-content:space-between;min-height:60px;list-style:none;cursor:pointer;font-size:14px;font-weight:800}
.ecs-v130 .ecs-faq summary::-webkit-details-marker{display:none}
.ecs-v130 .ecs-faq summary span{font-size:22px;font-weight:400}
.ecs-v130 .ecs-faq details p{margin:0;padding:0 30px 18px 0;color:#65756f;font-size:12.5px;line-height:1.6}

/* Compare bar */
.ecs-v130 .ecs-comparebar{position:fixed;left:50%;bottom:18px;z-index:1200;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:26px;width:min(760px,calc(100% - 30px));padding:11px 13px 11px 17px;border-radius:14px;background:#073d37;color:#fff;box-shadow:0 14px 38px rgba(0,35,31,.28)}
.ecs-v130 .ecs-comparebar>div{display:flex;align-items:center;gap:11px}
.ecs-v130 .ecs-comparebar strong{font-size:12px}
.ecs-v130 .ecs-comparebar small{color:#b8d2cc;font-size:10px}
.ecs-v130 .ecs-comparebar button,.ecs-v130 .ecs-comparebar a{border:0;border-radius:8px;padding:9px 12px;font-size:11px;font-weight:800}
.ecs-v130 .ecs-comparebar button{background:transparent;color:#cce0dc;cursor:pointer}
.ecs-v130 .ecs-comparebar a{background:#fff;color:#073d37}

/* Cabin showroom — intentionally isolated from the listing layout. */
.ecs-v130 .ecs-modal{position:fixed;inset:0;z-index:1500}
.ecs-v130 .ecs-modal__scrim{position:absolute;inset:0;background:rgba(3,24,22,.76);backdrop-filter:blur(5px)}
.ecs-v130 .ecs-modal__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;width:min(1500px,calc(100vw - 34px));height:min(930px,calc(100vh - 34px));overflow:hidden;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:#fff;box-shadow:0 36px 100px rgba(0,24,21,.42)}
.ecs-v130 .ecs-modal__close{position:absolute;right:18px;top:16px;z-index:12;display:grid;place-items:center;width:42px;height:42px;border:1px solid #dfe8e5;border-radius:999px;background:#fff;color:#173f3b;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 5px 18px rgba(8,52,45,.12)}
.ecs-v130 .ecs-modal__close:hover{background:#f4f8f7}
.ecs-v130 .ecs-showroom__head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 72px 14px 26px;border-bottom:1px solid var(--line);background:#fff}
.ecs-v130 .ecs-showroom__head h2{margin:4px 0 3px;font-size:29px;line-height:1.12;letter-spacing:-.025em}
.ecs-v130 .ecs-showroom__head p{margin:0;color:#6b7a76;font-size:13px}
.ecs-v130 .ecs-showroom__count{color:#71817c;font-size:12px;font-weight:700;white-space:nowrap}
.ecs-v130 .ecs-showroom__tabs{display:flex;gap:7px;min-height:54px;padding:9px 26px;border-bottom:1px solid var(--line);overflow-x:auto;background:#fbfdfc;scrollbar-width:thin}
.ecs-v130 .ecs-showroom__tabs button{flex:0 0 auto;min-height:34px;border:1px solid #d9e5e1;border-radius:999px;background:#fff;padding:0 13px;color:#35554f;font-size:12.5px;font-weight:750;cursor:pointer;transition:.15s ease}
.ecs-v130 .ecs-showroom__tabs button:hover{border-color:#8cbcaf}
.ecs-v130 .ecs-showroom__tabs button.is-active{border-color:var(--teal);background:var(--teal);color:#fff;box-shadow:0 5px 14px rgba(0,107,92,.14)}
.ecs-v130 .ecs-showroom__body{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(315px,.8fr);gap:0;min-height:0;flex:1;overflow:hidden}
.ecs-v130 .ecs-showroom__media{display:grid;grid-template-rows:minmax(0,1fr) 82px;min-width:0;min-height:0;padding:18px;border-right:1px solid var(--line);background:#f4f7f6}
.ecs-v130 .ecs-showroom__stage{position:relative;min-height:0;overflow:hidden;border-radius:13px;background:#dce6e2;box-shadow:0 7px 20px rgba(8,52,45,.08)}
.ecs-v130 .ecs-showroom__stage>img{width:100%;height:100%;display:block;object-fit:cover;background:#dce6e2}
.ecs-v130 .ecs-showroom__nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(4,42,37,.72);color:#fff;font-size:31px;line-height:1;cursor:pointer;backdrop-filter:blur(4px)}
.ecs-v130 .ecs-showroom__nav:hover{background:rgba(4,42,37,.9)}
.ecs-v130 .ecs-showroom__nav--prev{left:14px}.ecs-v130 .ecs-showroom__nav--next{right:14px}
.ecs-v130 .ecs-showroom__caption{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:42px 17px 13px;background:linear-gradient(180deg,transparent,rgba(1,28,25,.76));color:#fff;font-size:12.5px}
.ecs-v130 .ecs-showroom__caption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecs-v130 .ecs-showroom__caption b{font-size:11.5px;white-space:nowrap}
.ecs-v130 .ecs-showroom__thumbs{display:flex;gap:8px;min-width:0;padding-top:10px;overflow-x:auto}
.ecs-v130 .ecs-showroom__thumbs button{position:relative;flex:0 0 102px;height:68px;overflow:hidden;border:2px solid transparent;border-radius:8px;background:#e4ece9;padding:0;cursor:pointer}
.ecs-v130 .ecs-showroom__thumbs button.is-active{border-color:var(--teal);box-shadow:0 0 0 1px rgba(0,107,92,.18)}
.ecs-v130 .ecs-showroom__thumbs img{width:100%;height:100%;display:block;object-fit:cover}
.ecs-v130 .ecs-showroom__info{min-height:0;overflow:auto;padding:24px 24px 22px;background:#fff}
.ecs-v130 .ecs-showroom__info .ecs-kicker{font-size:10.5px}
.ecs-v130 .ecs-showroom__info h3{margin:6px 0 5px;font-size:27px;line-height:1.12;letter-spacing:-.025em;color:#0b302d}
.ecs-v130 .ecs-showroom__tagline{margin:0;color:#536863;font-size:13px;font-weight:650}
.ecs-v130 .ecs-showroom__facts{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.ecs-v130 .ecs-showroom__facts span{display:inline-flex;align-items:center;min-height:31px;padding:0 9px;border:1px solid #d7e5e0;border-radius:8px;background:#f5faf8;color:#315e56;font-size:11.5px;font-weight:750}
.ecs-v130 .ecs-showroom__summary{margin:17px 0 0;color:#566963;font-size:13.5px;line-height:1.58}
.ecs-v130 .ecs-showroom__points{display:grid;gap:7px;margin:16px 0 0;padding:0;list-style:none}
.ecs-v130 .ecs-showroom__points li{position:relative;padding-left:19px;color:#435e58;font-size:12.5px;line-height:1.45}
.ecs-v130 .ecs-showroom__points li:before{content:"✓";position:absolute;left:0;top:0;color:var(--teal);font-weight:900}
.ecs-v130 .ecs-showroom__best{margin-top:18px;padding:13px 14px;border-radius:9px;background:var(--warm);color:#6c573f;font-size:12.5px;line-height:1.45}
.ecs-v130 .ecs-showroom__best strong{color:#4d4234}
.ecs-v130 .ecs-showroom__tip{margin-top:10px;color:#6d7b77;font-size:11.5px;line-height:1.48}
.ecs-v130 .ecs-showroom__pricebox{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}
.ecs-v130 .ecs-showroom__pricebox small{display:block;color:#82908c;font-size:9.5px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.ecs-v130 .ecs-showroom__pricebox strong{display:block;margin-top:2px;color:#0c2c29;font-size:32px;line-height:1;font-weight:850;letter-spacing:-.035em}
.ecs-v130 .ecs-showroom__pricebox strong span{font-size:12px;letter-spacing:0}
.ecs-v130 .ecs-showroom__cta{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;margin-top:13px;border:0;border-radius:9px;background:var(--red);color:#fff;font-size:13.5px;font-weight:850;cursor:pointer;box-shadow:0 9px 20px rgba(255,61,56,.16)}
.ecs-v130 .ecs-showroom__cta:hover{background:var(--red-hover)}
.ecs-v130 .ecs-showroom__micro{margin:8px 0 0;color:#7a8884;font-size:10.5px;text-align:center}
.ecs-v130 .ecs-showroom__others{flex:0 0 auto;padding:14px 18px 16px;border-top:1px solid var(--line);background:#fbfdfc}
.ecs-v130 .ecs-showroom__others-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:9px}
.ecs-v130 .ecs-showroom__others-head h3{margin:3px 0 0;font-size:17px;line-height:1.15}.ecs-v130 .ecs-showroom__others-head>span{color:#778580;font-size:11px}
.ecs-v130 .ecs-showroom__other-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.ecs-v130 .ecs-showroom__other{display:grid;grid-template-columns:72px minmax(0,1fr);gap:9px;align-items:center;min-width:0;min-height:72px;border:1px solid #d9e5e1;border-radius:9px;background:#fff;padding:6px;text-align:left;cursor:pointer}
.ecs-v130 .ecs-showroom__other:hover,.ecs-v130 .ecs-showroom__other.is-active{border-color:#8ebeb2;box-shadow:0 5px 14px rgba(8,52,45,.06)}
.ecs-v130 .ecs-showroom__other img{width:72px;height:58px;border-radius:6px;object-fit:cover;background:#e6eeeb}
.ecs-v130 .ecs-showroom__other span{min-width:0}.ecs-v130 .ecs-showroom__other strong{display:block;overflow:hidden;color:#214540;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.ecs-v130 .ecs-showroom__other small{display:block;overflow:hidden;margin-top:3px;color:#7a8984;font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}

/* Responsive */

/* Quick booking popup — scoped to Cruise Pages only. */
html.ecs-booking-open{overflow:hidden!important}
.ecs-v130 .ecs-booking-modal{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:22px;font-family:var(--font)}
.ecs-v130 .ecs-booking-modal[hidden]{display:none!important}
.ecs-v130 .ecs-booking-modal__backdrop{position:absolute;inset:0;background:rgba(5,28,25,.72);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.ecs-v130 .ecs-booking-modal__dialog{position:relative;z-index:2;width:min(690px,100%);max-height:calc(100vh - 44px);overflow:auto;border:1px solid rgba(255,255,255,.66);border-radius:21px;background:#fff;padding:32px 34px 30px;color:#1c302d;box-shadow:0 32px 100px rgba(0,24,21,.34)}
.ecs-v130 .ecs-booking-modal__close{position:absolute;right:15px;top:14px;display:grid;place-items:center;width:39px;height:39px;border:0;border-radius:999px;background:#f1f5f4;color:#29403c;font-size:27px;line-height:1;cursor:pointer}
.ecs-v130 .ecs-booking-modal__close:hover{background:#e7eeec}
.ecs-v130 .ecs-booking-kicker{display:block;margin-bottom:6px;color:var(--red);font-size:12px;font-weight:850;letter-spacing:.09em}
.ecs-v130 .ecs-booking-modal__dialog h2{margin:0 48px 8px 0;font-size:31px;line-height:1.14;font-weight:850;letter-spacing:-.025em;color:#102c28}
.ecs-v130 .ecs-booking-subtitle{margin:0 0 14px;color:#667671;font-size:15px;line-height:1.55}
.ecs-v130 .ecs-booking-expert{display:flex;align-items:center;gap:11px;margin-bottom:14px;padding:11px 13px;border:1px solid #dce9e5;border-radius:11px;background:#f6fbf9}
.ecs-v130 .ecs-booking-expert__dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#22a06b;box-shadow:0 0 0 4px #dcf5e9}
.ecs-v130 .ecs-booking-expert>div{display:flex;flex-direction:column;gap:1px}
.ecs-v130 .ecs-booking-expert strong{font-size:14px;color:#17352f}
.ecs-v130 .ecs-booking-expert small{font-size:12px;color:#6b7a75}
.ecs-v130 .ecs-booking-trip{margin-bottom:17px;padding:12px 14px;border-radius:10px;background:#fff4f1;color:#8a2f2e;font-size:14px;font-weight:800;line-height:1.45}
.ecs-v130 .ecs-booking-form{display:grid;grid-template-columns:1fr 1fr;gap:13px 14px;margin:0}
.ecs-v130 .ecs-form-field{min-width:0;margin:0}
.ecs-v130 .ecs-form-field--full{grid-column:1/-1}
.ecs-v130 .ecs-form-field--split{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ecs-v130 .ecs-form-field label{display:block;margin:0 0 6px;color:#354943;font-size:13px;font-weight:800;line-height:1.35}
.ecs-v130 .ecs-form-field input,.ecs-v130 .ecs-form-field textarea{box-sizing:border-box;width:100%;min-height:49px;margin:0;border:1px solid #d5dfdc;border-radius:9px;background:#fff;padding:11px 13px;color:#223732;font:500 15px/1.4 var(--font);box-shadow:none;outline:0}
.ecs-v130 .ecs-form-field textarea{min-height:91px;resize:vertical}
.ecs-v130 .ecs-form-field input:focus,.ecs-v130 .ecs-form-field textarea:focus{border-color:#ef7472;box-shadow:0 0 0 3px #fff0ef}
.ecs-v130 .ecs-booking-submit{grid-column:1/-1;display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;margin:3px 0 0;border:0;border-radius:9px;background:var(--red);color:#fff;font:850 16px/1 var(--font);cursor:pointer}
.ecs-v130 .ecs-booking-submit:hover{background:var(--red-hover)}
.ecs-v130 .ecs-booking-help{grid-column:1/-1;text-align:center;color:#788680;font-size:12px;line-height:1.45}

@media (max-width:1380px){
  .ecs-v130 .ecs-shell{width:calc(100% - 40px)}
  .ecs-v130 .ecs-catalog__layout{grid-template-columns:260px minmax(0,1fr)}
  .ecs-v130 .ecs-cruise{grid-template-columns:360px minmax(0,1fr) 218px}
  .ecs-v130 .ecs-main-photo{height:245px}
  .ecs-v130 .ecs-cruise h3{font-size:25px}
  .ecs-v130 .ecs-decision__grid{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1120px){
  .ecs-v130 .ecs-shell{width:calc(100% - 32px)}
  .ecs-v130 .ecs-catalog__tools{flex-wrap:wrap;justify-content:flex-end}
  .ecs-v130 .ecs-advisor-strip{order:3;width:100%;justify-content:center}
  .ecs-v130 .ecs-filter-open{display:inline-flex}
  .ecs-v130 .ecs-catalog__layout{display:block}
  .ecs-v130 .ecs-filterdeck{position:fixed;left:0;top:0;bottom:0;z-index:1300;width:min(390px,92vw);height:100vh;border:0;border-radius:0;overflow:auto;transform:translateX(-103%);transition:transform .22s ease}
  .ecs-v130 .ecs-filterdeck.is-open{transform:translateX(0)}
  .ecs-v130 .ecs-filterdeck__mobile-head{display:flex;align-items:center;justify-content:space-between;padding:17px 18px;border-bottom:1px solid var(--line)}
  .ecs-v130 .ecs-filterdeck__mobile-head small{display:block;color:var(--teal);font-size:9px;font-weight:850;letter-spacing:.1em}
  .ecs-v130 .ecs-filterdeck__mobile-head strong{display:block;font-size:19px}
  .ecs-v130 .ecs-filterdeck__mobile-head button{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:8px;background:var(--canvas);font-size:22px;cursor:pointer}
  .ecs-v130 .ecs-filter-intro{display:none}
  .ecs-v130 .ecs-filter-scrim{position:fixed;inset:0;z-index:1290;background:rgba(4,29,26,.5)}
  .ecs-v130 .ecs-filter-scrim.is-open{display:block}
  .ecs-v130 .ecs-cruise{grid-template-columns:350px minmax(0,1fr) 210px}
  .ecs-v130 .ecs-conversion__panel{grid-template-columns:90px 1fr 240px}
  .ecs-v130 .ecs-conversion__portrait{width:90px;height:90px}
}
@media (max-width:900px){
  .ecs-v130 .ecs-catalog__head{grid-template-columns:1fr;align-items:start}
  .ecs-v130 .ecs-catalog__tools{justify-content:flex-start}
  .ecs-v130 .ecs-cruise{grid-template-columns:330px minmax(0,1fr);grid-template-rows:auto auto}
  .ecs-v130 .ecs-cruise__price{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(170px,1fr) auto auto;align-items:center;gap:14px;padding:13px 16px;border-left:0;border-top:1px solid var(--line)}
  .ecs-v130 .ecs-cruise__price>p{margin:0}
  .ecs-v130 .ecs-price-actions{margin:0;min-width:200px}
  .ecs-v130 .ecs-cruise__price .ecs-btn{margin:0;min-width:0}
  .ecs-v130 .ecs-price__trust{margin:0;padding:0;border:0}
  .ecs-v130 .ecs-compare{margin:0}
  .ecs-v130 .ecs-trip-builder{grid-template-columns:1fr}
  .ecs-v130 .ecs-trip-builder__footer{grid-column:1}
  .ecs-v130 .ecs-conversion__panel{grid-template-columns:90px 1fr}
  .ecs-v130 .ecs-conversion__cta{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding:15px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.16)}
  .ecs-v130 .ecs-conversion__cta .ecs-btn{margin:0}
  .ecs-v130 .ecs-faq__layout{grid-template-columns:1fr;gap:20px}
}
@media (max-width:700px){
  .ecs-v130{font-size:15px}
  .ecs-v130 .ecs-shell{width:calc(100% - 24px)}
  .ecs-v130 .ecs-decision{padding:32px 0 24px}
  .ecs-v130 .ecs-decision__head h2{font-size:23px}
  .ecs-v130 .ecs-decision__grid{grid-template-columns:1fr 1fr;gap:8px}
  .ecs-v130 .ecs-decision__grid>a{min-height:74px;padding:12px}
  .ecs-v130 .ecs-decision__grid i{width:34px;height:34px}
  .ecs-v130 .ecs-decision__grid strong{font-size:12.5px}
  .ecs-v130 .ecs-decision__grid small{font-size:10px}
  .ecs-v130 .ecs-catalog{padding:32px 0 44px}
  .ecs-v130 .ecs-catalog__title h2{font-size:27px}
  .ecs-v130 .ecs-catalog__tools{display:grid;grid-template-columns:1fr auto;width:100%}
  .ecs-v130 .ecs-advisor-strip{grid-column:1/-1;order:0;width:100%;white-space:normal}
  .ecs-v130 .ecs-sort{min-width:0}
  .ecs-v130 .ecs-sort select{min-width:0;width:100%}
  .ecs-v130 .ecs-cruise{grid-template-columns:1fr;min-height:0;border-radius:12px}
  .ecs-v130 .ecs-cruise__visual{padding:10px 10px 0}
  .ecs-v130 .ecs-main-photo{height:260px}
  .ecs-v130 .ecs-photo-strip{grid-template-columns:repeat(4,1fr)}
  .ecs-v130 .ecs-photo-strip button{height:52px}
  .ecs-v130 .ecs-cruise__content{padding:17px 16px;border-left:0}
  .ecs-v130 .ecs-cruise h3{font-size:23px}
  .ecs-v130 .ecs-route-row{flex-wrap:wrap;justify-content:flex-start;gap:5px 12px}
  .ecs-v130 .ecs-shipline{padding-left:0;border-left:0}
  .ecs-v130 .ecs-cruise__price{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:15px 16px}
  .ecs-v130 .ecs-cruise__price>p{display:none}
  .ecs-v130 .ecs-price-actions{grid-column:1/-1;grid-row:2;width:100%;min-width:0}
  .ecs-v130 .ecs-cruise__price .ecs-btn{min-width:0;width:100%}
  .ecs-v130 .ecs-price__trust{grid-column:1}
  .ecs-v130 .ecs-compare{grid-column:2;justify-content:flex-end}
  .ecs-v130 .ecs-trip-builder{padding:18px 16px}
  .ecs-v130 .ecs-trip-builder__items{grid-template-columns:1fr}
  .ecs-v130 .ecs-trip-builder__footer{align-items:flex-start;flex-direction:column}
  .ecs-v130 .ecs-confidence{grid-template-columns:1fr}
  .ecs-v130 .ecs-confidence>div{justify-content:flex-start;border-right:0;border-bottom:1px solid var(--line)}
  .ecs-v130 .ecs-confidence>div:last-child{border-bottom:0}
  .ecs-v130 .ecs-conversion__panel{grid-template-columns:1fr;padding:24px 20px;text-align:left}
  .ecs-v130 .ecs-conversion__portrait{width:78px;height:78px}
  .ecs-v130 .ecs-conversion h2{font-size:26px}
  .ecs-v130 .ecs-conversion__cta{grid-column:auto;display:grid;justify-content:stretch}
  .ecs-v130 .ecs-guide__grid{grid-template-columns:1fr}
  .ecs-v130 .ecs-section-head h2,.ecs-v130 .ecs-faq h2{font-size:26px}
  .ecs-v130 .ecs-modal__panel{width:100vw;height:100vh;max-width:none;max-height:none;border:0;border-radius:0}
  .ecs-v130 .ecs-modal__close{right:11px;top:10px;width:39px;height:39px}
  .ecs-v130 .ecs-booking-modal{padding:10px}
  .ecs-v130 .ecs-booking-modal__dialog{max-height:calc(100vh - 20px);padding:26px 18px 23px;border-radius:16px}
  .ecs-v130 .ecs-booking-modal__dialog h2{font-size:26px}
  .ecs-v130 .ecs-booking-subtitle{font-size:14px}
  .ecs-v130 .ecs-booking-form{grid-template-columns:1fr;gap:12px}
  .ecs-v130 .ecs-form-field--full,.ecs-v130 .ecs-booking-submit,.ecs-v130 .ecs-booking-help{grid-column:1}
  .ecs-v130 .ecs-form-field input,.ecs-v130 .ecs-form-field textarea{font-size:16px}
  .ecs-v130 .ecs-showroom__head{padding:16px 58px 12px 15px}
  .ecs-v130 .ecs-showroom__head h2{font-size:22px}.ecs-v130 .ecs-showroom__head p{display:none}.ecs-v130 .ecs-showroom__count{font-size:10px}
  .ecs-v130 .ecs-showroom__tabs{min-height:50px;padding:8px 12px}.ecs-v130 .ecs-showroom__tabs button{font-size:11.5px}
  .ecs-v130 .ecs-showroom__body{display:block;overflow:auto}
  .ecs-v130 .ecs-showroom__media{display:block;padding:10px;border-right:0}
  .ecs-v130 .ecs-showroom__stage{height:52vh;min-height:330px}
  .ecs-v130 .ecs-showroom__thumbs{height:76px}
  .ecs-v130 .ecs-showroom__thumbs button{flex-basis:86px;height:58px}
  .ecs-v130 .ecs-showroom__info{overflow:visible;padding:18px 16px 22px}
  .ecs-v130 .ecs-showroom__info h3{font-size:24px}
  .ecs-v130 .ecs-showroom__cta{position:sticky;bottom:8px;z-index:5}
  .ecs-v130 .ecs-showroom__others{padding:13px 12px 16px}
  .ecs-v130 .ecs-showroom__others-head>span{display:none}
  .ecs-v130 .ecs-showroom__other-grid{display:flex;overflow-x:auto}
  .ecs-v130 .ecs-showroom__other{flex:0 0 220px}
  .ecs-v130 .ecs-gallery-open>span{right:9px;bottom:9px;min-height:32px;font-size:10.5px}
  .ecs-v130 .ecs-photo-strip--cabins .ecs-photo-label{font-size:9px}
}


/* ==========================================================
   v1.3.2 TYPOGRAPHY-ONLY PASS
   Purpose: desktop readability. No grid, width, spacing,
   color, button-color or component-position changes here.
   ========================================================== */
@media (min-width:1381px){
  /* Catalogue controls */
  .ecs-v130 .ecs-catalog__title p{font-size:16px;line-height:1.55}
  .ecs-v130 .ecs-advisor-strip{font-size:14.5px}
  .ecs-v130 .ecs-sort{font-size:14px}
  .ecs-v130 .ecs-sort select{font-size:15px}
  .ecs-v130 .ecs-active-filters button{font-size:12.5px}

  /* Filter deck */
  .ecs-v130 .ecs-filter-intro h3{font-size:24px}
  .ecs-v130 .ecs-filter-intro p{font-size:14.5px;line-height:1.55}
  .ecs-v130 .ecs-filtersection summary{font-size:15px}
  .ecs-v130 .ecs-filtersection summary span{font-size:14px}
  .ecs-v130 .ecs-filtergroup label{font-size:14.5px}
  .ecs-v130 .ecs-filtergroup label b{font-size:12.5px}
  .ecs-v130 .ecs-budget>strong{font-size:14px}
  .ecs-v130 .ecs-budget>div{font-size:12.5px}
  .ecs-v130 .ecs-filter-actions button,
  .ecs-v130 .ecs-filter-actions a{font-size:14px}

  /* Cruise cards */
  .ecs-v130 .ecs-rank{font-size:11.5px}
  .ecs-v130 .ecs-photo-strip span{font-size:12px}
  .ecs-v130 .ecs-cruise h3{font-size:30px;line-height:1.12}
  .ecs-v130 .ecs-stars{font-size:15px}
  .ecs-v130 .ecs-score>span{font-size:12.5px}
  .ecs-v130 .ecs-score small{font-size:11.5px}
  .ecs-v130 .ecs-badges span{font-size:13.5px}
  .ecs-v130 .ecs-bestfor{font-size:14.5px;line-height:1.45}
  .ecs-v130 .ecs-signal{font-size:14.5px;line-height:1.48}
  .ecs-v130 .ecs-route{font-size:14.5px;line-height:1.45}
  .ecs-v130 .ecs-shipline{font-size:13.5px}
  .ecs-v130 .ecs-feature-row span{font-size:13.5px}
  .ecs-v130 .ecs-reasons li{font-size:13.5px;line-height:1.42}
  .ecs-v130 .ecs-card-links button{font-size:13.5px}
  .ecs-v130 .ecs-card-detail{font-size:13px;line-height:1.45}

  /* Price decision panel */
  .ecs-v130 .ecs-price__copy>small{font-size:12.5px}
  .ecs-v130 .ecs-sale-badge{font-size:12.5px}
  .ecs-v130 .ecs-price-old{font-size:14px}
  .ecs-v130 .ecs-price sup{font-size:12.5px}
  .ecs-v130 .ecs-price span{font-size:12px}
  .ecs-v130 .ecs-cruise__price>p{font-size:13.5px;line-height:1.5}
  .ecs-v130 .ecs-cruise__price .ecs-btn{font-size:15.5px}
  .ecs-v130 .ecs-price__trust strong{font-size:13px}
  .ecs-v130 .ecs-price__trust small{font-size:11.5px}
  .ecs-v130 .ecs-compare{font-size:12.5px}
}

/* Keep the same readability hierarchy on common 1366px-class laptops
   without forcing the large 30px ship title into narrower card columns. */
@media (min-width:1121px) and (max-width:1380px){
  .ecs-v130 .ecs-filter-intro h3{font-size:23px}
  .ecs-v130 .ecs-filter-intro p{font-size:14px;line-height:1.55}
  .ecs-v130 .ecs-filtersection summary{font-size:14.5px}
  .ecs-v130 .ecs-filtergroup label{font-size:14px}
  .ecs-v130 .ecs-filtergroup label b{font-size:12px}
  .ecs-v130 .ecs-cruise h3{font-size:27px}
  .ecs-v130 .ecs-badges span{font-size:13px}
  .ecs-v130 .ecs-bestfor,
  .ecs-v130 .ecs-signal,
  .ecs-v130 .ecs-route{font-size:14px}
  .ecs-v130 .ecs-shipline,
  .ecs-v130 .ecs-feature-row span,
  .ecs-v130 .ecs-reasons li,
  .ecs-v130 .ecs-card-links button{font-size:13px}
  .ecs-v130 .ecs-cruise__price>p{font-size:13px}
  .ecs-v130 .ecs-price__trust strong{font-size:12.5px}
  .ecs-v130 .ecs-price__trust small{font-size:11.5px}
  .ecs-v130 .ecs-compare{font-size:12.5px}
}

/* ==========================================================
   v1.3.11 — WARM-NEUTRAL CRUISE CARD PALETTE
   Scope: cruise result cards only. Hero, filters, header,
   cabin showroom, trip builder and page geometry are untouched.

   Conversion hierarchy:
   - charcoal / neutral = information
   - warm amber = guidance / cabin features
   - green = trust proof only
   - red = price + primary booking CTA
   - yellow = secondary detail CTA
   ========================================================== */
.ecs-v130 .ecs-cruise{
  border-color:#dfe3e1;
  box-shadow:0 6px 20px rgba(21,28,26,.055);
}
.ecs-v130 .ecs-cruise:hover{
  border-color:#cfd5d2;
  box-shadow:0 18px 42px rgba(21,28,26,.11);
}
.ecs-v130 .ecs-rank{
  background:rgba(38,48,45,.94);
  color:#fff;
  box-shadow:0 4px 12px rgba(20,25,23,.13);
}
.ecs-v130 .ecs-main-photo,
.ecs-v130 .ecs-photo-strip button{background:#ecefed}
.ecs-v130 .ecs-photo-strip button{box-shadow:0 0 0 1px #dfe3e1}
.ecs-v130 .ecs-photo-strip--cabins button:hover{box-shadow:0 0 0 1px #c2c9c6}

.ecs-v130 .ecs-cruise__content{border-left-color:#e4e7e5}
.ecs-v130 .ecs-cruise h3{color:#121a18}
.ecs-v130 .ecs-score>strong{
  background:#0d6b5d;
  color:#fff;
  box-shadow:0 3px 9px rgba(13,107,93,.12);
}
.ecs-v130 .ecs-score>span{color:#1d2926}
.ecs-v130 .ecs-score small{color:#7d8783}

.ecs-v130 .ecs-badges span{
  border-color:#dde2df;
  background:#fff;
  color:#303a37;
}
.ecs-v130 .ecs-bestfor{color:#6c5a48}
.ecs-v130 .ecs-bestfor strong{color:#202a27}
.ecs-v130 .ecs-signal{
  background:#fff5e9;
  color:#66584a;
}
.ecs-v130 .ecs-signal svg{color:#e39a18}
.ecs-v130 .ecs-signal strong{color:#2b302d}

.ecs-v130 .ecs-route{color:#5f6965}
.ecs-v130 .ecs-route strong{color:#202825}
.ecs-v130 .ecs-shipline{
  border-left-color:#e0e4e2;
  color:#303a37;
}
.ecs-v130 .ecs-feature-row span{
  border-color:#dde2df;
  background:#fff;
  color:#28312e;
}
.ecs-v130 .ecs-feature-row svg,
.ecs-v130 .ecs-reasons svg{color:#e29a12}
.ecs-v130 .ecs-reasons li{color:#59625f}

.ecs-v130 .ecs-card-links button{color:#232d2a}
.ecs-v130 .ecs-card-links button:hover{color:#111817}
.ecs-v130 .ecs-card-links button svg{color:var(--red)}
.ecs-v130 .ecs-card-detail{
  border-top-color:#e1e4e2;
  color:#5f6865;
}

.ecs-v130 .ecs-cruise__price{
  border-left-color:#e4e2df;
  background:#fffaf7;
}
.ecs-v130 .ecs-price__copy>small{color:#6f7774}
.ecs-v130 .ecs-price-old{color:#777e7b}
.ecs-v130 .ecs-price-old del{color:#6f7673}
.ecs-v130 .ecs-price sup{color:#d5162c}
.ecs-v130 .ecs-price strong{color:#c9152b}
.ecs-v130 .ecs-price span{color:#69706d}
.ecs-v130 .ecs-price__trust{
  color:#0d6b5d;
  border-bottom-color:transparent;
}
.ecs-v130 .ecs-price__trust strong{color:#173b35}
.ecs-v130 .ecs-price__trust small{color:#747d79}

@media (max-width:1120px){
  .ecs-v130 .ecs-cruise__price{border-left:0;border-top-color:#e4e2df}
}



/* =========================================================
   v1.4.0 — POST-CATALOGUE CONVERSION JOURNEY
   Scoped below the existing catalogue. Large type, wide cards,
   warm-neutral surfaces, one red primary CTA and yellow secondary.
   ========================================================= */
.ecs-v130 .ecs-after-section{padding:76px 0;background:#fff}
.ecs-v130 .ecs-after-section:nth-of-type(even){background:#fff}
.ecs-v130 .ecs-after-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:42px;
  margin-bottom:30px
}
.ecs-v130 .ecs-after-head>div{max-width:900px}
.ecs-v130 .ecs-after-head h2,
.ecs-v130 .ecs-bundle__top h2,
.ecs-v130 .ecs-trust__intro h2,
.ecs-v130 .ecs-advisor__copy h2{
  margin:7px 0 0;color:var(--ink);font-size:clamp(32px,2.55vw,42px);
  line-height:1.12;font-weight:850;letter-spacing:-.035em
}
.ecs-v130 .ecs-after-head>p{
  max-width:520px;margin:0;color:#687873;font-size:16px;line-height:1.62
}
.ecs-v130 .ecs-after-head--compact{margin-bottom:26px}
.ecs-v130 .ecs-after-head--compact>p{max-width:500px}
.ecs-v130 .ecs-text-link{
  display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;padding:0;
  color:var(--ink);font-size:15px;font-weight:800;cursor:pointer
}
.ecs-v130 .ecs-text-link:hover{color:var(--red)}
.ecs-v130 .ecs-text-link svg{width:16px;height:16px}

/* 1 — Need-first visual gateway */
.ecs-v130 .ecs-needs{padding-top:82px;background:#fff}
.ecs-v130 .ecs-needs__grid{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px
}
.ecs-v130 .ecs-need-card{
  display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e2e8e5;
  border-radius:18px;background:#fff;padding:0;text-align:left;cursor:pointer;
  box-shadow:0 7px 22px rgba(16,49,44,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.ecs-v130 .ecs-need-card:hover{
  transform:translateY(-3px);border-color:#c8d5d0;box-shadow:0 18px 38px rgba(16,49,44,.10)
}
.ecs-v130 .ecs-need-card__image{
  position:relative;display:block;height:205px;background-image:
  linear-gradient(180deg,rgba(8,32,29,.03),rgba(8,32,29,.20)),var(--ecs-need-image);
  background-size:cover;background-position:center
}
.ecs-v130 .ecs-need-card__body{display:flex;flex:1;flex-direction:column;padding:20px 20px 19px}
.ecs-v130 .ecs-need-card__body small{
  color:var(--teal);font-size:11.5px;line-height:1.2;font-weight:850;letter-spacing:.10em
}
.ecs-v130 .ecs-need-card__body>strong{
  margin-top:8px;color:var(--ink);font-size:20px;line-height:1.24;font-weight:850;letter-spacing:-.02em
}
.ecs-v130 .ecs-need-card__body>span{
  margin-top:9px;color:#667570;font-size:14.5px;line-height:1.55
}
.ecs-v130 .ecs-need-card__body>b{
  display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:16px;color:var(--red);
  font-size:14px;font-weight:850
}
.ecs-v130 .ecs-need-card__body>b svg{width:15px;height:15px}

/* 2 — Cabin-first showroom story */
.ecs-v130 .ecs-cabin-story{padding:80px 0;background:#fff8f0}
.ecs-v130 .ecs-cabin-story__panel{
  display:grid;grid-template-columns:minmax(0,1.16fr) minmax(420px,.84fr);gap:46px;align-items:center
}
.ecs-v130 .ecs-cabin-story__media{min-width:0}
.ecs-v130 .ecs-cabin-story__hero{
  position:relative;display:block;width:100%;height:500px;overflow:hidden;border:0;border-radius:20px;
  background:#dfe8e4;padding:0;cursor:pointer;box-shadow:0 18px 46px rgba(44,48,45,.11)
}
.ecs-v130 .ecs-cabin-story__hero img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.ecs-v130 .ecs-cabin-story__hero:hover img{transform:scale(1.018)}
.ecs-v130 .ecs-cabin-story__hero:after{
  content:"";position:absolute;inset:auto 0 0;height:42%;
  background:linear-gradient(180deg,transparent,rgba(12,24,22,.72));pointer-events:none
}
.ecs-v130 .ecs-cabin-story__hero>span{
  position:absolute;z-index:2;left:24px;right:24px;bottom:22px;color:#fff
}
.ecs-v130 .ecs-cabin-story__hero small{
  display:block;margin-bottom:4px;font-size:11px;font-weight:850;letter-spacing:.11em
}
.ecs-v130 .ecs-cabin-story__hero strong{display:block;font-size:25px;line-height:1.18}
.ecs-v130 .ecs-cabin-story__tabs{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:11px
}
.ecs-v130 .ecs-cabin-story__tabs button{
  display:grid;grid-template-columns:74px 1fr;align-items:center;gap:10px;min-width:0;min-height:78px;
  border:1px solid #e2e4df;border-radius:12px;background:#fff;padding:6px;text-align:left;cursor:pointer;
  transition:border-color .16s ease,box-shadow .16s ease
}
.ecs-v130 .ecs-cabin-story__tabs button:hover{border-color:#c8cec9;box-shadow:0 8px 20px rgba(34,44,41,.08)}
.ecs-v130 .ecs-cabin-story__tabs img{width:74px;height:64px;object-fit:cover;border-radius:8px}
.ecs-v130 .ecs-cabin-story__tabs span{min-width:0}
.ecs-v130 .ecs-cabin-story__tabs strong{
  display:block;overflow:hidden;color:var(--ink);font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap
}
.ecs-v130 .ecs-cabin-story__tabs small{
  display:block;overflow:hidden;margin-top:3px;color:#7a8682;font-size:11px;text-overflow:ellipsis;white-space:nowrap
}
.ecs-v130 .ecs-cabin-story__copy{padding-right:18px}
.ecs-v130 .ecs-cabin-story__copy h2{
  margin:7px 0 14px;font-size:clamp(34px,2.65vw,44px);line-height:1.1;letter-spacing:-.038em
}
.ecs-v130 .ecs-cabin-story__copy>p{margin:0;color:#5f6f6a;font-size:16.5px;line-height:1.7}
.ecs-v130 .ecs-cabin-story__facts{display:grid;gap:0;margin:28px 0;border-top:1px solid #e6ded4}
.ecs-v130 .ecs-cabin-story__facts>div{
  display:flex;gap:13px;padding:16px 0;border-bottom:1px solid #e6ded4
}
.ecs-v130 .ecs-cabin-story__facts svg{width:21px;height:21px;margin-top:2px;color:var(--teal)}
.ecs-v130 .ecs-cabin-story__facts span{display:grid;gap:3px}
.ecs-v130 .ecs-cabin-story__facts strong{font-size:15px}
.ecs-v130 .ecs-cabin-story__facts small{color:#77827e;font-size:13px;line-height:1.45}
.ecs-v130 .ecs-cabin-story__actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.ecs-v130 .ecs-cabin-story__actions .ecs-btn{min-height:54px}

/* 3 — Duration decision */
.ecs-v130 .ecs-duration-guide{background:#fff}
.ecs-v130 .ecs-duration-guide__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.ecs-v130 .ecs-duration-card{
  display:grid;grid-template-columns:minmax(280px,.86fr) 1.14fr;min-height:330px;overflow:hidden;
  border:1px solid #dfe6e3;border-radius:20px;background:#fff;box-shadow:0 9px 28px rgba(16,49,44,.06);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.ecs-v130 .ecs-duration-card:hover{transform:translateY(-2px);border-color:#ccd8d4;box-shadow:0 18px 38px rgba(16,49,44,.10)}
.ecs-v130 .ecs-duration-card__visual{
  position:relative;display:flex;flex-direction:column;justify-content:flex-end;padding:24px;
  color:#fff;background-image:linear-gradient(180deg,rgba(5,22,21,.03),rgba(6,26,24,.72)),var(--ecs-duration-image);
  background-size:cover;background-position:center
}
.ecs-v130 .ecs-duration-card__visual span{
  align-self:flex-start;margin-bottom:8px;border-radius:999px;background:rgba(255,255,255,.94);padding:6px 10px;
  color:var(--ink);font-size:10.5px;font-weight:900;letter-spacing:.08em
}
.ecs-v130 .ecs-duration-card--recommended .ecs-duration-card__visual span{background:#ffcf57}
.ecs-v130 .ecs-duration-card__visual strong{font-size:30px;line-height:1.08;letter-spacing:-.025em;text-shadow:0 2px 10px rgba(0,0,0,.2)}
.ecs-v130 .ecs-duration-card__body{display:flex;flex-direction:column;padding:27px 28px}
.ecs-v130 .ecs-duration-card__body>div{padding:0 0 14px;margin-bottom:14px;border-bottom:1px solid #e7ece9}
.ecs-v130 .ecs-duration-card__body small{display:block;color:#87928e;font-size:10.5px;font-weight:850;letter-spacing:.08em}
.ecs-v130 .ecs-duration-card__body strong{display:block;margin-top:4px;font-size:14px;line-height:1.42}
.ecs-v130 .ecs-duration-card__body p{margin:0;color:#687772;font-size:14.5px;line-height:1.6}
.ecs-v130 .ecs-duration-card__body b{display:flex;align-items:center;gap:7px;margin-top:auto;padding-top:18px;color:var(--red);font-size:14px}
.ecs-v130 .ecs-duration-card__body b svg{width:15px;height:15px}

/* 4 — Cross-sell / complete trip */
.ecs-v130 .ecs-bundle{padding:82px 0;background:#f8f9f8}
.ecs-v130 .ecs-bundle__top{
  display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:28px
}
.ecs-v130 .ecs-bundle__top>div{max-width:920px}
.ecs-v130 .ecs-bundle__top p{max-width:820px;margin:12px 0 0;color:#687772;font-size:16px;line-height:1.65}
.ecs-v130 .ecs-bundle__top>.ecs-btn{flex:0 0 auto;min-height:56px}
.ecs-v130 .ecs-bundle__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.ecs-v130 .ecs-bundle__grid>a{
  display:flex;gap:15px;min-height:230px;border:1px solid #dde5e2;border-radius:17px;background:#fff;padding:23px;
  box-shadow:0 7px 20px rgba(18,47,43,.045);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease
}
.ecs-v130 .ecs-bundle__grid>a:hover{transform:translateY(-2px);border-color:#cbd7d3;box-shadow:0 15px 30px rgba(18,47,43,.09)}
.ecs-v130 .ecs-bundle__grid i{
  display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;border-radius:12px;background:#fff2df;color:#be5c22
}
.ecs-v130 .ecs-bundle__grid i svg{width:23px;height:23px}
.ecs-v130 .ecs-bundle__grid>a>span{display:flex;min-width:0;flex:1;flex-direction:column}
.ecs-v130 .ecs-bundle__grid small{color:#8c8277;font-size:10.5px;font-weight:850;letter-spacing:.09em}
.ecs-v130 .ecs-bundle__grid strong{margin-top:6px;color:var(--ink);font-size:18px;line-height:1.24}
.ecs-v130 .ecs-bundle__grid p{margin:9px 0 0;color:#6c7a76;font-size:13.5px;line-height:1.55}
.ecs-v130 .ecs-bundle__grid b{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:15px;color:var(--red);font-size:13.5px}
.ecs-v130 .ecs-bundle__grid b svg{width:14px;height:14px}

/* 5 — Trust, kept light instead of another dark brand block */
.ecs-v130 .ecs-trust{padding:78px 0;background:#fff}
.ecs-v130 .ecs-trust__intro{display:grid;grid-template-columns:1.25fr .75fr;column-gap:44px;align-items:end;margin-bottom:28px}
.ecs-v130 .ecs-trust__intro .ecs-kicker{grid-column:1/-1}
.ecs-v130 .ecs-trust__intro h2{max-width:900px}
.ecs-v130 .ecs-trust__intro>p{margin:0;color:#6c7975;font-size:16px;line-height:1.62}
.ecs-v130 .ecs-trust__grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #dee6e3;border-radius:18px;background:#fff;overflow:hidden
}
.ecs-v130 .ecs-trust__grid article{display:flex;gap:14px;min-height:154px;padding:25px 23px;border-right:1px solid #e5ebe8}
.ecs-v130 .ecs-trust__grid article:last-child{border-right:0}
.ecs-v130 .ecs-trust__grid article>svg{width:26px;height:26px;color:var(--teal)}
.ecs-v130 .ecs-trust__grid strong{font-size:16px;line-height:1.3}
.ecs-v130 .ecs-trust__grid p{margin:7px 0 0;color:#707d79;font-size:13.5px;line-height:1.55}

/* 6 — Data-driven review signals */
.ecs-v130 .ecs-review-proof{padding:80px 0;background:#fff8f0}
.ecs-v130 .ecs-review-proof__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ecs-v130 .ecs-review-proof__grid article{
  border:1px solid #e8dfd6;border-radius:17px;background:#fff;padding:24px;box-shadow:0 8px 24px rgba(64,49,38,.05)
}
.ecs-v130 .ecs-review-proof__score{display:flex;align-items:center;gap:10px}
.ecs-v130 .ecs-review-proof__score>strong{
  display:grid;place-items:center;width:48px;height:48px;border-radius:10px;background:#fff0e4;color:#b64d2e;font-size:20px
}
.ecs-v130 .ecs-review-proof__score>span{display:grid;color:var(--ink);font-size:13px;font-weight:850}
.ecs-v130 .ecs-review-proof__score small{margin-top:1px;color:#89928f;font-size:10.5px;font-weight:500}
.ecs-v130 .ecs-review-proof h3{margin:19px 0 9px;font-size:20px;line-height:1.25}
.ecs-v130 .ecs-review-proof article>p{min-height:68px;margin:0;color:#64746f;font-size:14.5px;line-height:1.58}
.ecs-v130 .ecs-review-proof article>div:nth-of-type(2){display:flex;gap:7px;flex-wrap:wrap;margin-top:16px}
.ecs-v130 .ecs-review-proof article>div:nth-of-type(2) span{
  border:1px solid #dedfda;border-radius:999px;background:#fafaf8;padding:5px 9px;color:#5a6864;font-size:11.5px;font-weight:700
}
.ecs-v130 .ecs-review-proof button{
  display:flex;align-items:center;gap:7px;margin-top:18px;border:0;background:transparent;padding:0;color:var(--red);font-size:13.5px;font-weight:850;cursor:pointer
}
.ecs-v130 .ecs-review-proof button svg{width:14px;height:14px}

/* 7 — Human shortlist, warm and premium rather than dark green */
.ecs-v130 .ecs-advisor{padding:80px 0;background:#fff}
.ecs-v130 .ecs-advisor__panel{
  display:grid;grid-template-columns:180px minmax(0,1fr) 330px;align-items:center;gap:34px;
  overflow:hidden;border:1px solid #eadfd3;border-radius:22px;background:linear-gradient(135deg,#fff7ee,#fffaf6 58%,#fff);
  padding:28px 32px;box-shadow:0 18px 44px rgba(72,55,41,.07)
}
.ecs-v130 .ecs-advisor__photo{width:180px;height:180px;overflow:hidden;border-radius:18px;background:#eee}
.ecs-v130 .ecs-advisor__photo img{width:100%;height:100%;object-fit:cover}
.ecs-v130 .ecs-advisor__copy h2{font-size:clamp(30px,2.35vw,39px)}
.ecs-v130 .ecs-advisor__copy>p{max-width:760px;margin:10px 0 0;color:#667570;font-size:15.5px;line-height:1.65}
.ecs-v130 .ecs-advisor__chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}
.ecs-v130 .ecs-advisor__chips span{
  border:1px solid #e6d9cb;border-radius:999px;background:#fff;padding:7px 11px;color:#635b54;font-size:12.5px;font-weight:750
}
.ecs-v130 .ecs-advisor__action{display:grid;gap:6px;padding-left:30px;border-left:1px solid #e8dccc}
.ecs-v130 .ecs-advisor__action>small{color:#8c8176;font-size:11.5px}
.ecs-v130 .ecs-advisor__action>strong{font-size:20px;line-height:1.3}
.ecs-v130 .ecs-advisor__action .ecs-btn{margin-top:9px;min-height:54px}

/* 8 — Compact FAQ */
.ecs-v130 .ecs-faq--v140{padding:74px 0 86px;background:#f8f9f8;border-top:1px solid #eef2f0}
.ecs-v130 .ecs-faq--v140 .ecs-faq__layout{grid-template-columns:.72fr 1.28fr;gap:70px}
.ecs-v130 .ecs-faq--v140 h2{font-size:clamp(31px,2.35vw,40px);line-height:1.12}
.ecs-v130 .ecs-faq--v140 .ecs-faq__layout>div:first-child>p{font-size:15px;line-height:1.6}
.ecs-v130 .ecs-faq--v140 .ecs-faq__items{border-top:1px solid #cfd9d5}
.ecs-v130 .ecs-faq--v140 summary{min-height:68px;font-size:15.5px}
.ecs-v130 .ecs-faq--v140 details p{padding-bottom:20px;font-size:14.5px;line-height:1.65}

/* v1.4 responsive */
@media (max-width:1380px){
  .ecs-v130 .ecs-needs__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ecs-v130 .ecs-need-card:nth-child(4),.ecs-v130 .ecs-need-card:nth-child(5){min-height:0}
  .ecs-v130 .ecs-bundle__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ecs-v130 .ecs-cabin-story__panel{grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:34px}
  .ecs-v130 .ecs-cabin-story__hero{height:440px}
}
@media (max-width:1100px){
  .ecs-v130 .ecs-after-head,.ecs-v130 .ecs-bundle__top{align-items:flex-start;flex-direction:column;gap:16px}
  .ecs-v130 .ecs-after-head>p{max-width:760px}
  .ecs-v130 .ecs-cabin-story__panel{grid-template-columns:1fr}
  .ecs-v130 .ecs-cabin-story__copy{padding:0}
  .ecs-v130 .ecs-cabin-story__hero{height:520px}
  .ecs-v130 .ecs-duration-card{grid-template-columns:1fr}
  .ecs-v130 .ecs-duration-card__visual{min-height:230px}
  .ecs-v130 .ecs-trust__intro{grid-template-columns:1fr;gap:12px}
  .ecs-v130 .ecs-trust__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ecs-v130 .ecs-trust__grid article:nth-child(2){border-right:0}
  .ecs-v130 .ecs-trust__grid article:nth-child(-n+2){border-bottom:1px solid #e5ebe8}
  .ecs-v130 .ecs-advisor__panel{grid-template-columns:150px 1fr}
  .ecs-v130 .ecs-advisor__photo{width:150px;height:150px}
  .ecs-v130 .ecs-advisor__action{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 0 0;border-left:0;border-top:1px solid #e8dccc}
  .ecs-v130 .ecs-advisor__action .ecs-btn{margin:0}
}
@media (max-width:820px){
  .ecs-v130 .ecs-after-section{padding:58px 0}
  .ecs-v130 .ecs-needs{padding-top:60px}
  .ecs-v130 .ecs-needs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ecs-v130 .ecs-need-card__image{height:190px}
  .ecs-v130 .ecs-cabin-story__hero{height:390px}
  .ecs-v130 .ecs-cabin-story__tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ecs-v130 .ecs-duration-guide__grid{grid-template-columns:1fr}
  .ecs-v130 .ecs-bundle__grid{grid-template-columns:1fr}
  .ecs-v130 .ecs-bundle__grid>a{min-height:190px}
  .ecs-v130 .ecs-review-proof__grid{grid-template-columns:1fr}
  .ecs-v130 .ecs-review-proof article>p{min-height:0}
  .ecs-v130 .ecs-faq--v140 .ecs-faq__layout{grid-template-columns:1fr;gap:24px}
}
@media (max-width:620px){
  .ecs-v130 .ecs-after-section{padding:48px 0}
  .ecs-v130 .ecs-after-head h2,
  .ecs-v130 .ecs-bundle__top h2,
  .ecs-v130 .ecs-trust__intro h2,
  .ecs-v130 .ecs-advisor__copy h2{font-size:30px}
  .ecs-v130 .ecs-after-head>p,.ecs-v130 .ecs-bundle__top p{font-size:15px}
  .ecs-v130 .ecs-needs__grid{grid-template-columns:1fr}
  .ecs-v130 .ecs-need-card{display:grid;grid-template-columns:132px 1fr}
  .ecs-v130 .ecs-need-card__image{height:auto;min-height:190px}
  .ecs-v130 .ecs-need-card__body{padding:17px 16px}
  .ecs-v130 .ecs-cabin-story__hero{height:300px;border-radius:16px}
  .ecs-v130 .ecs-cabin-story__hero>span{left:18px;right:18px;bottom:16px}
  .ecs-v130 .ecs-cabin-story__hero strong{font-size:21px}
  .ecs-v130 .ecs-cabin-story__tabs{grid-template-columns:1fr}
  .ecs-v130 .ecs-cabin-story__tabs button{grid-template-columns:86px 1fr}
  .ecs-v130 .ecs-cabin-story__tabs img{width:86px}
  .ecs-v130 .ecs-cabin-story__copy h2{font-size:30px}
  .ecs-v130 .ecs-cabin-story__copy>p{font-size:15px}
  .ecs-v130 .ecs-duration-card__visual{min-height:210px}
  .ecs-v130 .ecs-duration-card__visual strong{font-size:26px}
  .ecs-v130 .ecs-duration-card__body{padding:22px}
  .ecs-v130 .ecs-bundle__top>.ecs-btn{width:100%}
  .ecs-v130 .ecs-trust__grid{grid-template-columns:1fr}
  .ecs-v130 .ecs-trust__grid article{border-right:0;border-bottom:1px solid #e5ebe8}
  .ecs-v130 .ecs-trust__grid article:last-child{border-bottom:0}
  .ecs-v130 .ecs-advisor__panel{grid-template-columns:1fr;padding:22px}
  .ecs-v130 .ecs-advisor__photo{width:100%;height:260px}
  .ecs-v130 .ecs-advisor__action{display:grid;justify-content:stretch}
  .ecs-v130 .ecs-advisor__action .ecs-btn{width:100%}
  .ecs-v130 .ecs-faq--v140{padding:52px 0 68px}
  .ecs-v130 .ecs-faq--v140 h2{font-size:30px}
}

.ecs-v130 .ecs-cruise.is-review-target{box-shadow:0 0 0 3px rgba(255,61,56,.22),var(--shadow-hover);transition:box-shadow .22s ease}

/* =========================================================
   v1.4.1 — WARM GOLD ACCENT REBALANCE
   Goal: reduce the dark green feeling and move the accent system
   toward warm gold/yellow while keeping the red CTA hierarchy.
   ========================================================= */
.ecs-v130{
  --ink:#18201e;
  --ink-2:#2a3431;
  --muted:#69746f;
  --muted-2:#8a928e;
  --teal:#d39a1d;
  --teal-2:#b98311;
  --teal-soft:#fff4d9;
  --teal-softer:#fffaf0;
  --line:#e7ddd1;
  --line-strong:#dbcdbd;
  --canvas:#fcfaf6;
  --shadow:0 12px 34px rgba(98,72,24,.07);
  --shadow-hover:0 20px 46px rgba(98,72,24,.11);
}

.ecs-v130 .ecs-kicker,
.ecs-v130 .ecs-card-links button,
.ecs-v130 .ecs-cabin-story__facts svg,
.ecs-v130 .ecs-trust__grid article>svg,
.ecs-v130 .ecs-advisor-strip strong,
.ecs-v130 .ecs-advisor-strip>svg:first-child{color:var(--teal)}

.ecs-v130 .ecs-decision__grid>a:hover,
.ecs-v130 .ecs-cruise:hover,
.ecs-v130 .ecs-duration-card:hover,
.ecs-v130 .ecs-bundle__grid>a:hover,
.ecs-v130 .ecs-cabin-story__tabs button:hover,
.ecs-v130 .ecs-need-card:hover{border-color:#e6c883}

.ecs-v130 .ecs-decision__grid i,
.ecs-v130 .ecs-finder__field i,
.ecs-v130 .ecs-finder__field .ecs-icon,
.ecs-v130 .ecs-trust__metric i{
  background:#fff4dc;
  color:#c48d12;
}

.ecs-v130 .ecs-advisor-strip{
  border-color:#edd9aa;
  background:#fff6e4;
  color:#775e2d;
}

.ecs-v130 .ecs-filter-open span:not(:empty),
.ecs-v130 .ecs-filtergroup input:checked+em,
.ecs-v130 .ecs-filter-actions a,
.ecs-v130 .ecs-feature-row svg,
.ecs-v130 .ecs-reasons svg,
.ecs-v130 .ecs-cabin-story__facts svg{
  color:#b57c0a;
}

.ecs-v130 .ecs-filter-open span:not(:empty),
.ecs-v130 .ecs-filtergroup input:checked+em,
.ecs-v130 .ecs-filter-actions a{background:#efc14d;border-color:#dca72d}

.ecs-v130 .ecs-filter-actions a{color:#2d2417}
.ecs-v130 .ecs-filter-actions a:hover{background:#e7b536}
.ecs-v130 .ecs-budget>strong{color:#6a5630}
.ecs-v130 .ecs-budget input[type=range]{accent-color:#d5a02b}

.ecs-v130 .ecs-active-filters button{
  border-color:#ead8ba;
  color:#6b5734;
  background:#fffaf2;
}

.ecs-v130 .ecs-rank{
  background:rgba(196,141,18,.95);
  color:#1f1910;
  box-shadow:0 4px 12px rgba(128,88,8,.16);
}

.ecs-v130 .ecs-photo-strip--cabins button:hover{box-shadow:0 0 0 1px #dab456}

.ecs-v130 .ecs-score>strong{
  background:#efc14d;
  color:#1e1911;
  box-shadow:0 3px 9px rgba(179,126,14,.16);
}
.ecs-v130 .ecs-score>span{color:#3a3021}

.ecs-v130 .ecs-badges span{
  border-color:#e7dcc9;
  background:#fffaf4;
  color:#5a5143;
}

.ecs-v130 .ecs-bestfor{color:#7d6740}
.ecs-v130 .ecs-bestfor strong,
.ecs-v130 .ecs-route strong,
.ecs-v130 .ecs-shipline{color:#5d4b29}
.ecs-v130 .ecs-route-row{border-color:#ebe1d5}
.ecs-v130 .ecs-shipline{border-left-color:#e6dccf}

.ecs-v130 .ecs-feature-row span{
  border-color:#eadcbe;
  background:#fffaf1;
  color:#5e523f;
}

.ecs-v130 .ecs-price__trust,
.ecs-v130 .ecs-price__trust strong{color:#8b6915}
.ecs-v130 .ecs-price__trust small{color:#867b6d}

.ecs-v130 .ecs-trust__grid article,
.ecs-v130 .ecs-review-proof article,
.ecs-v130 .ecs-bundle__grid>a,
.ecs-v130 .ecs-duration-card,
.ecs-v130 .ecs-need-card{
  border-color:#e6ddd1;
}

.ecs-v130 .ecs-trust__grid p,
.ecs-v130 .ecs-review-proof article>p,
.ecs-v130 .ecs-bundle__grid p,
.ecs-v130 .ecs-duration-card__body p,
.ecs-v130 .ecs-catalog__title p strong{color:#5b5347}

.ecs-v130 .ecs-review-proof__score strong,
.ecs-v130 .ecs-review-proof__score b,
.ecs-v130 .ecs-review-proof__score .score,
.ecs-v130 .ecs-review-proof__score .value{
  color:#c18710;
}

.ecs-v130 .ecs-hero__overlay{
  background:
    linear-gradient(180deg,rgba(25,18,8,.22) 0%,rgba(25,18,8,.16) 34%,rgba(25,18,8,.50) 76%,rgba(18,13,6,.64) 100%),
    linear-gradient(90deg,rgba(18,13,6,.16),rgba(18,13,6,.03) 48%,rgba(18,13,6,.14));
}

/* =========================================================
   v1.4.2 — LIGHT HARMONY REBALANCE
   Goal: keep yellow only where it adds guidance/highlight,
   while the overall UI stays bright, clean and premium.
   ========================================================= */
.ecs-v130{
  --canvas:#fbfaf8;
  --line:#e8e1d8;
  --line-strong:#ddd2c5;
  --shadow:0 12px 34px rgba(58,44,20,.05);
  --shadow-hover:0 20px 46px rgba(58,44,20,.09);
}

/* Keep section kicker warm, but stop spreading yellow everywhere */
.ecs-v130 .ecs-kicker{color:#c48716}

/* Finder / quick-pick icons: light cream, not heavy yellow */
.ecs-v130 .ecs-decision__grid i,
.ecs-v130 .ecs-finder__field i,
.ecs-v130 .ecs-finder__field .ecs-icon,
.ecs-v130 .ecs-trust__metric i,
.ecs-v130 .ecs-bundle__grid i{
  background:#fbf4e8;
  color:#c48a20;
}

.ecs-v130 .ecs-decision__grid>a:hover,
.ecs-v130 .ecs-duration-card:hover,
.ecs-v130 .ecs-bundle__grid>a:hover,
.ecs-v130 .ecs-need-card:hover,
.ecs-v130 .ecs-cabin-story__tabs button:hover,
.ecs-v130 .ecs-photo-strip--cabins button:hover{
  border-color:#e4d3b1;
}

/* Chat/help strip: airy, bright, refined */
.ecs-v130 .ecs-advisor-strip{
  border-color:#eadfcf;
  background:#fffaf1;
  color:#5f5549;
}
.ecs-v130 .ecs-advisor-strip strong,
.ecs-v130 .ecs-advisor-strip>svg:first-child{color:#b67a14}

/* Filter controls: selected state can stay yellow, but softly */
.ecs-v130 .ecs-filter-open span:not(:empty),
.ecs-v130 .ecs-filtergroup input:checked+em{
  background:#e7bb54;
  border-color:#d5a137;
  color:#fff;
}
.ecs-v130 .ecs-filter-actions a{
  background:#fff7e8;
  border:1px solid #e6d3ab;
  color:#5a4b33;
}
.ecs-v130 .ecs-filter-actions a:hover{
  background:#f9efd9;
  border-color:#dcc18a;
}
.ecs-v130 .ecs-budget>strong{color:#5e5344}
.ecs-v130 .ecs-budget input[type=range]{accent-color:#d6a135}
.ecs-v130 .ecs-active-filters button{
  border-color:#e7ddd0;
  background:#fff;
  color:#60584d;
}
.ecs-v130 .ecs-active-filters button:after{color:#a19485}

/* Image rank badge: softer and more premium */
.ecs-v130 .ecs-rank{
  background:#d2a13a;
  color:#1f1910;
  box-shadow:0 5px 14px rgba(129,94,18,.14);
}

/* Score box: cream with gold border, not a hard yellow block */
.ecs-v130 .ecs-score>strong{
  background:#fff8ea;
  color:#1f1a14;
  border:1px solid #e2c98e;
  box-shadow:none;
}
.ecs-v130 .ecs-score>span{color:#2f2a25}
.ecs-v130 .ecs-score small{color:#7d7468}

/* Chips and supporting info stay neutral for a cleaner card */
.ecs-v130 .ecs-badges span{
  border-color:#e5ddd1;
  background:#fffdfa;
  color:#564f46;
}
.ecs-v130 .ecs-bestfor{color:#776858}
.ecs-v130 .ecs-bestfor strong,
.ecs-v130 .ecs-route strong,
.ecs-v130 .ecs-shipline{color:#2e2a24}
.ecs-v130 .ecs-route-row{border-color:#ece5dc}
.ecs-v130 .ecs-shipline{border-left-color:#e6ddd3}

/* Cabin features: light neutral pills, readable, not yellow-heavy */
.ecs-v130 .ecs-feature-row span{
  border-color:#e8dfd4;
  background:#fffdf9;
  color:#5a5347;
}
.ecs-v130 .ecs-feature-row svg,
.ecs-v130 .ecs-reasons svg,
.ecs-v130 .ecs-cabin-story__facts svg{color:#d49a28}

/* Keep inline links elegant and action-oriented */
.ecs-v130 .ecs-card-links button{color:#2c2926}
.ecs-v130 .ecs-card-links button:hover{color:#111}
.ecs-v130 .ecs-card-links button svg{color:var(--red)}

/* Trust / payment note below price: soft, bright */
.ecs-v130 .ecs-price__trust,
.ecs-v130 .ecs-price__trust strong{color:#7d6b4b}
.ecs-v130 .ecs-price__trust small{color:#8d8377}

/* Supporting cards below: clean white with warm borders */
.ecs-v130 .ecs-trust__grid article,
.ecs-v130 .ecs-review-proof article,
.ecs-v130 .ecs-bundle__grid>a,
.ecs-v130 .ecs-duration-card,
.ecs-v130 .ecs-need-card{
  border-color:#e7dfd5;
  background:#fff;
}
.ecs-v130 .ecs-trust__grid p,
.ecs-v130 .ecs-review-proof article>p,
.ecs-v130 .ecs-bundle__grid p,
.ecs-v130 .ecs-duration-card__body p,
.ecs-v130 .ecs-catalog__title p strong{color:#61584d}

/* Review proof numbers: warm but restrained */
.ecs-v130 .ecs-review-proof__score strong,
.ecs-v130 .ecs-review-proof__score b,
.ecs-v130 .ecs-review-proof__score .score,
.ecs-v130 .ecs-review-proof__score .value{color:#c98c18}

/* =========================================================
   v1.4.3 — SOFT MONO REFINEMENT
   Goal: reduce color noise. Use dark text / soft neutral surfaces
   for helper UI, while keeping red CTA as the main conversion color.
   ========================================================= */

/* 1) Section kicker: elegant charcoal instead of yellow */
.ecs-v130 .ecs-kicker{
  color:#252525;
  letter-spacing:.09em;
  font-weight:800;
}

/* 2) Advisor strip: clean, premium, soft monochrome */
.ecs-v130 .ecs-advisor-strip{
  border:1px solid #e3ddd5;
  background:#fffdfa;
  color:#35312c;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(22,22,22,.03);
}
.ecs-v130 .ecs-advisor-strip strong,
.ecs-v130 .ecs-advisor-strip>svg:first-child,
.ecs-v130 .ecs-advisor-strip>svg:last-child{
  color:#242424;
}
.ecs-v130 .ecs-advisor-strip strong{
  text-decoration:none;
  font-weight:800;
  border-bottom:1px solid rgba(36,36,36,.28);
}
.ecs-v130 .ecs-advisor-strip:hover{
  border-color:#d7cec3;
  background:#fff;
}

/* 3) Image helper CTA + quality badge: one family, not many colors */
.ecs-v130 .ecs-rank{
  background:#2b2b2b;
  color:#fff;
  border-radius:10px;
  box-shadow:0 8px 20px rgba(18,18,18,.14);
}
.ecs-v130 .ecs-gallery-trigger,
.ecs-v130 .ecs-card-media .ecs-gallery-trigger,
.ecs-v130 .ecs-photo-viewall,
.ecs-v130 .ecs-photo-strip--cabins .ecs-viewall,
.ecs-v130 .ecs-photo-strip--cabins .more,
.ecs-v130 .ecs-photo-strip--cabins button.is-more,
.ecs-v130 .ecs-photo-strip--cabins button[data-role='more']{
  background:#183c36;
  color:#fff;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  box-shadow:0 10px 24px rgba(12,42,36,.18);
}
.ecs-v130 .ecs-gallery-trigger:hover,
.ecs-v130 .ecs-card-media .ecs-gallery-trigger:hover,
.ecs-v130 .ecs-photo-viewall:hover,
.ecs-v130 .ecs-photo-strip--cabins .ecs-viewall:hover,
.ecs-v130 .ecs-photo-strip--cabins .more:hover,
.ecs-v130 .ecs-photo-strip--cabins button.is-more:hover,
.ecs-v130 .ecs-photo-strip--cabins button[data-role='more']:hover{
  background:#11312c;
}

/* 4) Keep mini image tabs more refined and less colorful */
.ecs-v130 .ecs-photo-strip--cabins button{
  border-color:#ddd7cf;
  background:#fff;
}
.ecs-v130 .ecs-photo-strip--cabins button:hover{
  box-shadow:0 0 0 1px #cfc6bb;
  border-color:#d4cbc1;
}
.ecs-v130 .ecs-photo-strip--cabins button span,
.ecs-v130 .ecs-photo-strip--cabins button strong,
.ecs-v130 .ecs-cabin-story__tabs button span,
.ecs-v130 .ecs-cabin-story__tabs button strong{
  color:#222;
}

/* 5) Small headings / support lines: cleaner visual rhythm */
.ecs-v130 .ecs-catalog__title p strong,
.ecs-v130 .ecs-catalog__title p,
.ecs-v130 .ecs-catalog__head p{
  color:#5b554e;
}

/* 6) Prevent random yellow leftovers from feeling disconnected */
.ecs-v130 .ecs-card-links button,
.ecs-v130 .ecs-card-links button:hover{
  color:#232323;
}
.ecs-v130 .ecs-card-links button svg{color:var(--red)}

/* =========================================================
   v1.4.4 — FINAL POLISH / LOCKED VISUAL SYSTEM
   Scope intentionally limited to:
   1) hero/search rhythm, 2) catalog/filter hierarchy, 3) final color language.
   Cruise card structure and conversion flow remain unchanged.
   ========================================================= */

/* ---------- FINAL TOKENS ---------- */
.ecs-v130{
  --ink:#1d2321;
  --ink-2:#303735;
  --muted:#69716e;
  --muted-2:#909692;
  --red:#ff3b38;
  --red-hover:#e92f2c;
  --gold:#c98a18;
  --gold-soft:#fff7e8;
  --charcoal:#252827;
  --charcoal-2:#343837;
  --canvas:#f7f8f7;
  --white:#fff;
  --line:#e1e5e2;
  --line-strong:#d3d9d5;
  --shadow:0 12px 32px rgba(26,32,30,.07);
  --shadow-hover:0 18px 40px rgba(26,32,30,.11);
  color:var(--ink);
  background:#fff;
}

/* Typography hierarchy: readable, international OTA scale */
.ecs-v130{font-size:16px;line-height:1.52}
.ecs-v130 .ecs-kicker{
  color:#252827;
  font-size:12.5px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.095em;
}

/* ---------- HERO / FINDER ---------- */
.ecs-v130 .ecs-hero{
  min-height:520px;
  background-position:center 48%;
  background-color:#303330;
}
.ecs-v130 .ecs-hero__inner{
  min-height:520px;
  padding-top:22px;
  padding-bottom:32px;
}
.ecs-v130 .ecs-hero__overlay{
  background:
    linear-gradient(180deg,rgba(15,18,17,.24) 0%,rgba(15,18,17,.12) 34%,rgba(15,18,17,.48) 73%,rgba(12,14,13,.68) 100%),
    linear-gradient(90deg,rgba(14,16,15,.18),rgba(14,16,15,.02) 52%,rgba(14,16,15,.12));
}
.ecs-v130 .ecs-breadcrumb{
  font-size:14.5px;
  font-weight:650;
  letter-spacing:-.005em;
}
.ecs-v130 .ecs-hero h1{
  max-width:1120px;
  font-size:clamp(42px,3.35vw,56px);
  line-height:1.04;
  font-weight:850;
  letter-spacing:-.038em;
  text-shadow:0 3px 22px rgba(0,0,0,.25);
}
.ecs-v130 .ecs-hero__content>p{
  max-width:860px;
  margin:13px auto 24px;
  font-size:17.5px;
  line-height:1.5;
  font-weight:450;
}
.ecs-v130 .ecs-finder{
  width:min(1240px,calc(100vw - 72px));
  min-height:74px;
  padding:6px;
  border:1px solid rgba(255,255,255,.9);
  border-radius:18px;
  box-shadow:0 18px 44px rgba(10,14,13,.25);
}
.ecs-v130 .ecs-finder__field{
  min-height:60px;
  padding:0 14px;
  gap:9px;
  border-right:1px solid #e8eae8;
}
.ecs-v130 .ecs-finder__icon{
  color:#383c3a;
}
.ecs-v130 .ecs-finder__field input,
.ecs-v130 .ecs-finder__field select{
  min-height:46px;
  height:46px;
  color:#232826;
  font-size:15.5px;
  font-weight:650;
}
.ecs-v130 .ecs-finder__field input::placeholder{
  color:#7f8582;
  font-weight:500;
}
.ecs-v130 .ecs-finder__submit{
  min-height:60px;
  border-radius:13px;
  font-size:16.5px;
  font-weight:850;
  box-shadow:0 8px 18px rgba(255,59,56,.18);
}
.ecs-v130 .ecs-hero__proof{
  margin-top:16px;
  gap:10px 26px;
  font-size:14px;
  font-weight:650;
}

/* ---------- CHOICE STRIP / TRANSITION ---------- */
.ecs-v130 .ecs-decision{
  background:#fff;
}
.ecs-v130 .ecs-decision__grid>a{
  border-color:#e3e6e4;
  background:#fff;
  box-shadow:0 5px 16px rgba(27,32,30,.035);
}
.ecs-v130 .ecs-decision__grid>a:hover{
  border-color:#cfd5d1;
  box-shadow:0 9px 22px rgba(27,32,30,.07);
  transform:translateY(-1px);
}
.ecs-v130 .ecs-decision__grid i,
.ecs-v130 .ecs-finder__field i,
.ecs-v130 .ecs-finder__field .ecs-icon{
  background:#faf7f1;
  color:#9f6c12;
}

/* ---------- CATALOG HEADING ---------- */
.ecs-v130 .ecs-catalog{
  padding:46px 0 64px;
  background:#f7f8f7;
  border-top:1px solid #ecefec;
}
.ecs-v130 .ecs-catalog__head{
  gap:32px;
  margin-bottom:22px;
}
.ecs-v130 .ecs-catalog__title h2{
  margin:7px 0 6px;
  font-size:clamp(34px,2.25vw,40px);
  line-height:1.08;
  font-weight:850;
  letter-spacing:-.034em;
  color:#171c1a;
}
.ecs-v130 .ecs-catalog__title p,
.ecs-v130 .ecs-catalog__title p strong,
.ecs-v130 .ecs-catalog__head p{
  color:#626a67;
  font-size:15.5px;
  line-height:1.5;
}
.ecs-v130 .ecs-catalog__title p strong{color:#2d3431;font-weight:800}

/* Advisor/help is a support element, not another CTA color */
.ecs-v130 .ecs-advisor-strip{
  min-height:50px;
  padding:0 17px;
  border:1px solid #e0e3e1;
  border-radius:13px;
  background:#fff;
  color:#4c5350;
  font-size:14px;
  box-shadow:0 6px 18px rgba(25,30,28,.035);
}
.ecs-v130 .ecs-advisor-strip strong,
.ecs-v130 .ecs-advisor-strip>svg:first-child,
.ecs-v130 .ecs-advisor-strip>svg:last-child{
  color:#252827;
}
.ecs-v130 .ecs-advisor-strip strong{
  font-weight:800;
  text-decoration:none;
  border-bottom:1px solid #b9bfbb;
}
.ecs-v130 .ecs-advisor-strip:hover{
  border-color:#cfd4d1;
  background:#fff;
  box-shadow:0 9px 22px rgba(25,30,28,.055);
}

/* ---------- FILTER SIDEBAR ---------- */
.ecs-v130 .ecs-catalog__layout{
  grid-template-columns:310px minmax(0,1fr);
  gap:22px;
}
.ecs-v130 .ecs-filterdeck{
  top:18px;
  border:1px solid #dfe4e1;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 28px rgba(25,31,29,.055);
}
.ecs-v130 .ecs-filter-intro{
  padding:21px 20px 17px;
  border-bottom:1px solid #e7eae8;
  background:linear-gradient(180deg,#fff 0%,#fdfdfc 100%);
}
.ecs-v130 .ecs-filter-intro h3{
  margin:6px 0 6px;
  color:#202624;
  font-size:24px;
  line-height:1.13;
  font-weight:850;
  letter-spacing:-.025em;
}
.ecs-v130 .ecs-filter-intro p{
  color:#747c78;
  font-size:14.5px;
  line-height:1.5;
}
.ecs-v130 .ecs-filtersection{
  border-bottom:1px solid #e7eae8;
}
.ecs-v130 .ecs-filtersection summary{
  min-height:54px;
  padding:0 20px;
  color:#2b322f;
  font-size:15px;
  font-weight:820;
}
.ecs-v130 .ecs-filtersection summary span{
  color:#929995;
  font-size:13px;
}
.ecs-v130 .ecs-filtergroup{
  gap:2px;
  padding:1px 18px 15px;
}
.ecs-v130 .ecs-filtergroup label{
  min-height:39px;
  color:#5a625e;
  font-size:14.5px;
  line-height:1.3;
}
.ecs-v130 .ecs-filtergroup label:hover{color:#262c29}
.ecs-v130 .ecs-filtergroup label em{
  width:18px;
  height:18px;
  border:1.35px solid #c8cfcb;
  border-radius:5px;
  background:#fff;
}
.ecs-v130 .ecs-filtergroup input:checked+em{
  border-color:#292d2b;
  background:#292d2b;
}
.ecs-v130 .ecs-filtergroup label b{
  min-width:30px;
  height:24px;
  padding:0 7px;
  background:#f3f5f4;
  color:#747c78;
  font-size:12px;
  font-weight:750;
}
.ecs-v130 .ecs-budget>strong{
  color:#303633;
  font-size:14px;
}
.ecs-v130 .ecs-budget input[type=range]{accent-color:#303432}
.ecs-v130 .ecs-filter-actions{
  gap:9px;
  padding:15px 18px 18px;
  background:#fcfdfc;
}
.ecs-v130 .ecs-filter-actions button,
.ecs-v130 .ecs-filter-actions a{
  min-height:45px;
  border-radius:10px;
  font-size:13.5px;
  font-weight:800;
}
.ecs-v130 .ecs-filter-actions button{
  border:1px solid #dde2df;
  background:#fff;
  color:#4b5350;
}
.ecs-v130 .ecs-filter-actions button:hover{
  border-color:#cdd3cf;
  color:#232826;
  background:#fff;
}
.ecs-v130 .ecs-filter-actions a{
  border:1px solid #d7dcd9;
  background:#f4f6f5;
  color:#242927;
}
.ecs-v130 .ecs-filter-actions a:hover{
  border-color:#c9cfcb;
  background:#ecefed;
  color:#181c1b;
}
.ecs-v130 .ecs-filter-open span:not(:empty){
  background:#2a2e2c;
  border-color:#2a2e2c;
  color:#fff;
}
.ecs-v130 .ecs-active-filters button{
  border-color:#dfe3e0;
  background:#fff;
  color:#444b48;
}

/* ---------- CARD COLOR CONSOLIDATION ---------- */
.ecs-v130 .ecs-rank{
  background:rgba(38,41,40,.94);
  color:#fff;
  border:1px solid rgba(255,255,255,.22);
  border-radius:10px;
  box-shadow:0 7px 18px rgba(13,15,14,.16);
}
.ecs-v130 .ecs-main-photo .ecs-gallery-open,
.ecs-v130 .ecs-gallery-trigger,
.ecs-v130 .ecs-card-media .ecs-gallery-trigger,
.ecs-v130 .ecs-photo-viewall{
  background:rgba(38,41,40,.94);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  border-radius:11px;
  box-shadow:0 8px 20px rgba(13,15,14,.17);
}
.ecs-v130 .ecs-main-photo .ecs-gallery-open:hover,
.ecs-v130 .ecs-gallery-trigger:hover,
.ecs-v130 .ecs-card-media .ecs-gallery-trigger:hover,
.ecs-v130 .ecs-photo-viewall:hover{
  background:#171a19;
}
.ecs-v130 .ecs-score>strong{
  background:#fff;
  color:#222725;
  border:1px solid #d9dedb;
  box-shadow:0 4px 12px rgba(20,25,23,.04);
}
.ecs-v130 .ecs-score>span{color:#2f3532}
.ecs-v130 .ecs-score small{color:#7b827f}
.ecs-v130 .ecs-badges span{
  border-color:#e0e4e1;
  background:#fff;
  color:#454d49;
}
.ecs-v130 .ecs-feature-row span{
  border-color:#e0e4e1;
  background:#fbfcfb;
  color:#4a514e;
}
.ecs-v130 .ecs-feature-row svg,
.ecs-v130 .ecs-reasons svg,
.ecs-v130 .ecs-cabin-story__facts svg{color:#646c68}
.ecs-v130 .ecs-bestfor{color:#71675d}
.ecs-v130 .ecs-bestfor strong,
.ecs-v130 .ecs-route strong,
.ecs-v130 .ecs-shipline{color:#2a302d}
.ecs-v130 .ecs-card-links button,
.ecs-v130 .ecs-card-links button:hover{color:#252a28}
.ecs-v130 .ecs-card-links button svg{color:var(--red)}
.ecs-v130 .ecs-photo-strip--cabins button{
  border-color:#dce1de;
  background:#fff;
}
.ecs-v130 .ecs-photo-strip--cabins button:hover{
  border-color:#c8cfcb;
  box-shadow:0 0 0 1px #c8cfcb;
}

/* Preserve the intentional conversion hierarchy: red primary, gold detail CTA */
.ecs-v130 .ecs-btn--primary{
  background:var(--red);
  color:#fff;
  box-shadow:0 9px 20px rgba(255,59,56,.18);
}
.ecs-v130 .ecs-btn--primary:hover{background:var(--red-hover)}
.ecs-v130 .ecs-btn--secondary{
  border:1px solid #e3b63c;
  background:#ffcf56;
  color:#181b1a;
  box-shadow:0 6px 16px rgba(160,117,18,.11);
}
.ecs-v130 .ecs-btn--secondary:hover{
  background:#ffc63a;
  border-color:#d9a82b;
}

/* ---------- DESKTOP SCALE GUARDRAILS ---------- */
@media (min-width:1280px){
  .ecs-v130 .ecs-shell{width:min(1680px,calc(100% - 72px))}
  .ecs-v130 .ecs-catalog__layout{grid-template-columns:310px minmax(0,1fr)}
}

/* ---------- TABLET / MOBILE: preserve existing responsive flow ---------- */
@media (max-width:1180px){
  .ecs-v130 .ecs-catalog__layout{grid-template-columns:270px minmax(0,1fr)}
}
@media (max-width:980px){
  .ecs-v130 .ecs-catalog__layout{display:block}
  .ecs-v130 .ecs-hero{min-height:560px}
  .ecs-v130 .ecs-hero__inner{min-height:560px}
}
@media (max-width:700px){
  .ecs-v130 .ecs-hero{min-height:680px}
  .ecs-v130 .ecs-hero__inner{min-height:680px}
  .ecs-v130 .ecs-hero h1{font-size:36px}
  .ecs-v130 .ecs-hero__content>p{font-size:15px}
  .ecs-v130 .ecs-catalog{padding:34px 0 46px}
  .ecs-v130 .ecs-catalog__title h2{font-size:29px}
  .ecs-v130 .ecs-advisor-strip{font-size:14px;white-space:normal}
}


/* ==========================================================
   v1.4.5 — GALLERY IMAGE VISIBILITY HOTFIX
   Keep the full-photo gallery trigger transparent. v1.4.4's
   color consolidation accidentally painted the inset trigger
   itself charcoal, visually covering the cruise photo.
   ========================================================== */
.ecs-v130 .ecs-main-photo .ecs-gallery-open{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.ecs-v130 .ecs-main-photo .ecs-gallery-open:hover,
.ecs-v130 .ecs-main-photo .ecs-gallery-open:focus,
.ecs-v130 .ecs-main-photo .ecs-gallery-open:active{
  background:transparent !important;
  box-shadow:none !important;
}
.ecs-v130 .ecs-main-photo .ecs-gallery-open>span{
  background:rgba(38,41,40,.94);
  color:#fff;
  border:1px solid rgba(255,255,255,.16);
  border-radius:11px;
  box-shadow:0 8px 20px rgba(13,15,14,.17);
}
.ecs-v130 .ecs-main-photo .ecs-gallery-open:hover>span,
.ecs-v130 .ecs-main-photo .ecs-gallery-open:focus>span{
  background:#171a19;
}


/* =========================================================
   EcoSapa Cruise Pages v2.9.0 — Smart Facets / professional
   decision filter. Keeps the approved card system intact.
   ========================================================= */
.ecs-v290 .ecs-taxnav{background:#fff;border-top:1px solid #edf0f2;border-bottom:1px solid #e5e8eb}
.ecs-v290 .ecs-taxnav__inner{display:flex;align-items:center;gap:4px;overflow:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none}
.ecs-v290 .ecs-taxnav__inner::-webkit-scrollbar{display:none}
.ecs-v290 .ecs-taxnav a{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 12px;border-radius:7px;color:#38434f;font-size:14px;font-weight:700}
.ecs-v290 .ecs-taxnav a:hover,.ecs-v290 .ecs-taxnav a.is-current{background:#f4f6f8;color:#111827}
.ecs-v290 .ecs-taxnav a span{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:#eef1f3;color:#68727d;font-size:11px;font-weight:800}

.ecs-v290 .ecs-catalog__layout{grid-template-columns:330px minmax(0,1fr);gap:28px}
.ecs-v290 .ecs-filterdeck{top:92px;border:1px solid #dfe3e8;border-radius:12px;box-shadow:0 9px 28px rgba(17,24,39,.055);overflow:hidden}
.ecs-v290 .ecs-filter-intro{padding:22px 20px 18px;background:#fff;border-bottom:1px solid #e7eaee}
.ecs-v290 .ecs-filter-intro__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ecs-v290 .ecs-filter-intro__top button{border:0;background:none;padding:3px 0;color:#c52b25;font-size:12px;font-weight:750;cursor:pointer}
.ecs-v290 .ecs-filter-intro h3{margin:5px 0 5px;color:#141a1f;font-size:25px;line-height:1.15;letter-spacing:-.025em}
.ecs-v290 .ecs-filter-intro p{margin:0;color:#69737d;font-size:13.5px;line-height:1.5}
.ecs-v290 .ecs-filter-shortcuts{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.ecs-v290 .ecs-filter-shortcuts button{border:1px solid #dfe4e8;background:#f8f9fa;border-radius:999px;padding:7px 10px;color:#343c44;font-size:12px;font-weight:700;cursor:pointer}
.ecs-v290 .ecs-filter-shortcuts button:hover{border-color:#b7bec5;background:#fff}

.ecs-v290 .ecs-filtersection{border-bottom:1px solid #e8ebee;background:#fff}
.ecs-v290 .ecs-filtersection summary{min-height:0;padding:16px 19px 13px;align-items:flex-start;color:#191f24}
.ecs-v290 .ecs-filtersection__title{display:block;font-size:14.5px;font-weight:820;line-height:1.25}
.ecs-v290 .ecs-filtersection__title small{display:block;margin-top:4px;max-width:245px;color:#89919a;font-size:11.5px;font-weight:500;line-height:1.35}
.ecs-v290 .ecs-filtersection__chev{margin-top:1px;color:#838b93!important;font-size:13px!important}
.ecs-v290 .ecs-filtergroup{gap:0;padding:0 18px 14px}
.ecs-v290 .ecs-filtergroup label{min-height:38px;margin:0;padding:2px 0;color:#4b545d;font-size:13.5px;border-radius:6px}
.ecs-v290 .ecs-filtergroup label:hover{color:#161b20}
.ecs-v290 .ecs-filtergroup label>span:first-child{gap:10px}
.ecs-v290 .ecs-filtergroup label em{width:18px;height:18px;border-radius:4px;border-color:#cbd1d6}
.ecs-v290 .ecs-filtergroup input:checked+em{background:#ed1c24;border-color:#ed1c24}
.ecs-v290 .ecs-filtermeta{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.ecs-v290 .ecs-filtergroup label b{min-width:28px;height:23px;padding:0 6px;background:#f0f2f4;color:#707981;font-size:11.5px}
.ecs-v290 .ecs-filterseo{display:grid;place-items:center;width:21px;height:21px;border-radius:5px;color:#8b949d;font-size:12px;text-decoration:none}
.ecs-v290 .ecs-filterseo:hover{background:#f0f2f4;color:#1e5aa8}
.ecs-v290 .ecs-filtergroup label.is-unavailable{opacity:.38;cursor:not-allowed}
.ecs-v290 .ecs-filtergroup label.is-unavailable .ecs-filterseo{pointer-events:none}

.ecs-v290 .ecs-filter-actions{position:sticky;bottom:0;display:grid;gap:10px;padding:15px 18px 17px;background:#fff;border-top:1px solid #e4e7ea;box-shadow:0 -8px 20px rgba(17,24,39,.035)}
.ecs-v290 .ecs-filter-match{display:flex;align-items:center;justify-content:space-between;gap:10px}
.ecs-v290 .ecs-filter-match span{color:#7a838b;font-size:11.5px}
.ecs-v290 .ecs-filter-match strong{color:#151a1e;font-size:13px}
.ecs-v290 .ecs-filter-apply{display:none;width:100%;min-height:44px;border:0;border-radius:7px;background:#ed1c24;color:#fff;font-size:14px;font-weight:800;cursor:pointer}
.ecs-v290 .ecs-filter-help{display:block;text-align:center;color:#434d55;font-size:12.5px;font-weight:700}
.ecs-v290 .ecs-active-filters{gap:7px;margin:0 0 18px}
.ecs-v290 .ecs-active-filters button{border-color:#d7dce0;border-radius:6px;color:#424b53;background:#fff;padding:7px 10px;font-size:12px}
.ecs-v290 .ecs-active-filters button:after{color:#c52b25}

.ecs-v290 .ecs-catalog__title p{font-size:15px}
.ecs-v290 .ecs-filter-open{font-weight:800}
.ecs-v290 [data-filter-panel] .ecs-kicker{color:#5e6870}
.ecs-v290 .ecs-empty{border:1px solid #e0e4e7;background:#fff}

@media(max-width:1180px){
  .ecs-v290 .ecs-catalog__layout{grid-template-columns:300px minmax(0,1fr);gap:20px}
}
@media(max-width:1000px){
  .ecs-v290 .ecs-catalog__layout{display:block}
  .ecs-v290 .ecs-filterdeck{top:0}
  .ecs-v290 .ecs-filter-apply{display:block}
  .ecs-v290 .ecs-filter-actions{position:sticky;bottom:0;z-index:3}
}
@media(max-width:720px){
  .ecs-v290 .ecs-taxnav__inner{padding-left:16px;padding-right:16px}
  .ecs-v290 .ecs-taxnav a{font-size:13px;padding:8px 10px}
  .ecs-v290 .ecs-filter-intro{padding:18px 17px 15px}
  .ecs-v290 .ecs-filter-intro h3{font-size:22px}
  .ecs-v290 .ecs-filtersection summary{padding:15px 17px 12px}
  .ecs-v290 .ecs-filtergroup{padding-left:17px;padding-right:17px}
}

/* =========================================================
   EcoSapa Cruise Pages v2.9.1 — Smart Facets polish
   Larger typography, clearer hierarchy, bestprice-like readability.
   ========================================================= */
.ecs-v290 .ecs-catalog__layout{grid-template-columns:340px minmax(0,1fr);gap:30px}
.ecs-v290 .ecs-filterdeck{top:94px;border:1px solid #e3e7eb;border-radius:16px;background:#fff;box-shadow:0 14px 38px rgba(15,23,42,.05)}
.ecs-v290 .ecs-filter-intro{padding:24px 22px 18px;background:#fff;border-bottom:1px solid #eceff2}
.ecs-v290 .ecs-filter-intro__top .ecs-kicker{font-size:12px;letter-spacing:.08em;color:#8b95a1}
.ecs-v290 .ecs-filter-intro__top button{font-size:13px;font-weight:800;color:#d63b31}
.ecs-v290 .ecs-filter-intro h3{margin:8px 0 8px;font-size:38px;line-height:1.02;letter-spacing:-.03em;color:#12161b}
.ecs-v290 .ecs-filter-intro p{font-size:16px;line-height:1.55;color:#6d7680;max-width:28ch}
.ecs-v290 .ecs-filter-shortcuts{gap:10px;margin-top:18px}
.ecs-v290 .ecs-filter-shortcuts button{padding:10px 14px;border:1px solid #d8dde2;background:#fafbfc;color:#222a31;font-size:14px;font-weight:700;border-radius:999px;line-height:1.15}
.ecs-v290 .ecs-filter-shortcuts button:hover{background:#fff;border-color:#b8c1ca;box-shadow:0 3px 10px rgba(17,24,39,.04)}

.ecs-v290 .ecs-filtersection{border-bottom:1px solid #eceff2;background:#fff}
.ecs-v290 .ecs-filtersection summary{padding:20px 22px 14px;align-items:flex-start}
.ecs-v290 .ecs-filtersection__title{display:flex;flex-direction:column;gap:4px}
.ecs-v290 .ecs-filtersection__title strong{display:block;color:#7c8792;font-size:13px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.ecs-v290 .ecs-filtersection__title small{display:block;margin-top:0;max-width:255px;color:#8d96a0;font-size:13px;font-weight:500;line-height:1.45}
.ecs-v290 .ecs-filtersection__chev{margin-top:2px;color:#8a939c!important;font-size:15px!important}

.ecs-v290 .ecs-filtergroup{padding:0 22px 16px;gap:0}
.ecs-v290 .ecs-filtergroup label{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:5px 0;font-size:15px;color:#2a333b;line-height:1.35}
.ecs-v290 .ecs-filtergroup label:hover{color:#111827}
.ecs-v290 .ecs-filtergroup label > span:first-child{display:flex;align-items:center;gap:11px;min-width:0}
.ecs-v290 .ecs-filterlabel{display:block;font-size:15px;line-height:1.4;color:inherit}
.ecs-v290 .ecs-filtergroup label em{width:19px;height:19px;border-radius:4px;border:1.5px solid #cfd6dc;background:#fff;flex:0 0 19px}
.ecs-v290 .ecs-filtergroup input:checked+em{background:#ed1c24;border-color:#ed1c24;box-shadow:inset 0 0 0 3px #fff}
.ecs-v290 .ecs-filtermeta{display:flex;align-items:center;gap:6px;flex:0 0 auto}
.ecs-v290 .ecs-filtergroup label b{display:inline-grid;place-items:center;min-width:32px;height:26px;padding:0 8px;border-radius:999px;background:#f2f4f6;color:#77808a;font-size:12px;font-weight:800;line-height:1}
.ecs-v290 .ecs-filterseo{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;color:#8b949d;font-size:12px;text-decoration:none}
.ecs-v290 .ecs-filterseo:hover{background:#f0f3f5;color:#1e5aa8}
.ecs-v290 .ecs-filtergroup label.is-unavailable{opacity:.42}
.ecs-v290 .ecs-starlabel{display:inline-block;color:#f4b400;font-size:16px;letter-spacing:1.5px;line-height:1}

.ecs-v290 .ecs-filtergroup .ecs-filteritem--extra{display:none}
.ecs-v290 .ecs-filtergroup.is-expanded .ecs-filteritem--extra{display:flex}
.ecs-v290 .ecs-filter-more{display:inline-flex;align-items:center;gap:6px;margin:10px 0 2px 30px;padding:0;border:0;background:none;color:#111827;font-size:14px;font-weight:800;cursor:pointer}
.ecs-v290 .ecs-filter-more span{font-size:12px;color:#7d8790}
.ecs-v290 .ecs-filter-more:hover{color:#c33126}

.ecs-v290 .ecs-filter-actions{position:sticky;bottom:0;display:grid;gap:12px;padding:18px 22px 20px;background:linear-gradient(180deg,rgba(255,255,255,.88),#fff 18%);border-top:1px solid #eceff2;box-shadow:0 -10px 24px rgba(15,23,42,.035)}
.ecs-v290 .ecs-filter-match span{font-size:13px;color:#7b848d}
.ecs-v290 .ecs-filter-match strong{font-size:16px;color:#171d23}
.ecs-v290 .ecs-filter-apply{display:none;min-height:48px;border-radius:12px;font-size:15px;font-weight:800;box-shadow:0 8px 18px rgba(237,28,36,.18)}
.ecs-v290 .ecs-filter-help{display:flex;align-items:center;justify-content:center;min-height:46px;padding:0 14px;border:1px solid #d9dfe4;border-radius:12px;background:#fff;color:#2f3840;font-size:14px;font-weight:800;text-align:center;text-decoration:none}
.ecs-v290 .ecs-filter-help:hover{border-color:#c8d0d7;background:#fafbfc}
.ecs-v290 .ecs-active-filters{gap:8px;margin:0 0 18px}
.ecs-v290 .ecs-active-filters button{border:1px solid #d9dee3;border-radius:999px;color:#38424b;background:#fff;padding:8px 12px;font-size:13px;font-weight:700}
.ecs-v290 .ecs-active-filters button:after{color:#c52b25}

@media(max-width:1180px){
  .ecs-v290 .ecs-catalog__layout{grid-template-columns:310px minmax(0,1fr);gap:22px}
  .ecs-v290 .ecs-filter-intro h3{font-size:32px}
}
@media(max-width:1000px){
  .ecs-v290 .ecs-filterdeck{top:0;border-radius:0;box-shadow:none}
  .ecs-v290 .ecs-filter-apply{display:block}
}
@media(max-width:720px){
  .ecs-v290 .ecs-filter-intro{padding:20px 18px 16px}
  .ecs-v290 .ecs-filter-intro h3{font-size:30px}
  .ecs-v290 .ecs-filter-intro p{font-size:15px}
  .ecs-v290 .ecs-filtersection summary{padding:18px 18px 12px}
  .ecs-v290 .ecs-filtergroup{padding:0 18px 15px}
  .ecs-v290 .ecs-filtergroup label{font-size:14.5px;min-height:42px}
  .ecs-v290 .ecs-filterlabel{font-size:14.5px}
  .ecs-v290 .ecs-filtergroup label b{min-width:30px;height:24px;font-size:11.5px}
  .ecs-v290 .ecs-filter-actions{padding:16px 18px 18px}
}

/* =========================================================
   EcoSapa Cruise Pages v2.10.0 — 10-first progressive catalogue
   ========================================================= */
.ecs-v290 .ecs-load-more-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:28px 0 8px;
}
.ecs-v290 .ecs-load-more-wrap[hidden]{display:none!important}
.ecs-v290 .ecs-load-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:0 20px;
  border:1.5px solid #d8dee4;
  border-radius:999px;
  background:#fff;
  color:#1f2933;
  font-family:inherit;
  font-size:15px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  box-shadow:0 5px 16px rgba(15,23,42,.035);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.ecs-v290 .ecs-load-more:hover{
  border-color:#aeb8c1;
  box-shadow:0 8px 20px rgba(15,23,42,.065);
  transform:translateY(-1px);
}
.ecs-v290 .ecs-load-more strong{
  display:inline-grid;
  place-items:center;
  min-width:28px;
  height:28px;
  padding:0 8px;
  border-radius:999px;
  background:#f2f4f6;
  color:#66717b;
  font-size:12px;
  font-weight:900;
}
.ecs-v290 .ecs-load-more__chev{color:#8a949d;font-size:13px}
.ecs-v290 .ecs-load-more-wrap>small{
  color:#8a949d;
  font-size:12.5px;
  font-weight:500;
}
.ecs-v290 .ecs-cruise[hidden]{display:none!important}
@media(max-width:720px){
  .ecs-v290 .ecs-load-more-wrap{padding:22px 0 4px}
  .ecs-v290 .ecs-load-more{width:100%;min-height:50px;font-size:14.5px}
}

/* =========================================================
   v2.10.1 — BestPrice-inspired filter polish + collapse fix
   ========================================================= */
.ecs-v290 .ecs-filterdeck{
  top:94px;
  border:1px solid #e4e7eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 12px 34px rgba(15,23,42,.045);
  overflow:hidden;
}
.ecs-v290 .ecs-filter-intro{
  padding:22px 22px 20px;
  background:#fff;
  border-bottom:1px solid #eceff2;
}
.ecs-v290 .ecs-filter-intro__top{align-items:center}
.ecs-v290 .ecs-filter-intro__top .ecs-kicker{
  color:#808892;
  font-size:13px;
  font-weight:900;
  letter-spacing:.055em;
}
.ecs-v290 .ecs-filter-intro__top button{
  color:#d93025;
  font-size:13px;
  font-weight:800;
}
.ecs-v290 .ecs-filter-intro h3{
  margin:7px 0 7px;
  color:#252b31;
  font-size:27px;
  line-height:1.12;
  font-weight:900;
  letter-spacing:-.025em;
}
.ecs-v290 .ecs-filter-intro p{
  margin:0;
  max-width:275px;
  color:#7b838b;
  font-size:15px;
  line-height:1.5;
}
.ecs-v290 .ecs-filter-shortcuts{display:none!important}

.ecs-v290 .ecs-filtersection{
  border-bottom:1px solid #eceff2;
  background:#fff;
}
.ecs-v290 .ecs-filtersection summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:62px;
  padding:18px 22px;
  color:#707982;
  cursor:pointer;
}
/* Critical fix: the legacy rule rotated every span inside a closed summary. */
.ecs-v290 .ecs-filtersection summary span,
.ecs-v290 .ecs-filtersection:not([open]) summary span,
.ecs-v290 .ecs-filtersection summary .ecs-filtersection__title,
.ecs-v290 .ecs-filtersection:not([open]) summary .ecs-filtersection__title,
.ecs-v290 .ecs-filtersection summary .ecs-filtersection__title *{
  transform:none!important;
}
.ecs-v290 .ecs-filtersection__title{
  display:block!important;
  min-width:0;
  color:#737c85;
  line-height:1.25;
}
.ecs-v290 .ecs-filtersection__title strong{
  display:block;
  color:#737c85;
  font-size:16px;
  line-height:1.25;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.ecs-v290 .ecs-filtersection__title small{display:none!important}
.ecs-v290 .ecs-filtersection__chev{
  display:block!important;
  flex:0 0 auto;
  margin:0!important;
  color:#7f8992!important;
  font-size:14px!important;
  line-height:1!important;
  transition:transform .18s ease!important;
  transform:rotate(0deg)!important;
}
.ecs-v290 .ecs-filtersection:not([open]) .ecs-filtersection__chev{
  transform:rotate(180deg)!important;
}

.ecs-v290 .ecs-filtergroup{
  display:grid;
  gap:0;
  padding:0 22px 20px;
}
.ecs-v290 .ecs-filtergroup label{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:42px;
  padding:4px 0;
  color:#1f2933;
  font-size:15px;
  line-height:1.35;
}
.ecs-v290 .ecs-filtergroup label>span:first-child{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.ecs-v290 .ecs-filterlabel{
  color:#24303a;
  font-size:15px;
  font-weight:400;
  line-height:1.4;
}
.ecs-v290 .ecs-filtergroup label em{
  width:17px;
  height:17px;
  flex:0 0 17px;
  border:1px solid #bfc7cf;
  border-radius:3px;
  background:#fff;
}
.ecs-v290 .ecs-filtergroup input:checked+em{
  border-color:#ed1c24;
  background:#ed1c24;
  box-shadow:inset 0 0 0 3px #fff;
}
.ecs-v290 .ecs-filtergroup label:hover .ecs-filterlabel{color:#111827}
.ecs-v290 .ecs-filtergroup label b{
  display:inline-grid;
  place-items:center;
  min-width:31px;
  height:25px;
  padding:0 7px;
  border-radius:999px;
  background:#f2f4f6;
  color:#7a838d;
  font-size:12px;
  font-weight:800;
}
.ecs-v290 .ecs-filterseo{
  width:20px;
  height:20px;
  color:#8c96a0;
}
.ecs-v290 .ecs-starlabel{
  color:#ffad00;
  font-size:17px;
  letter-spacing:1.4px;
  white-space:nowrap;
}
.ecs-v290 .ecs-filtergroup .ecs-filteritem--extra{display:none}
.ecs-v290 .ecs-filtergroup.is-expanded .ecs-filteritem--extra{display:flex}
.ecs-v290 .ecs-filter-more{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  margin:10px 0 0 27px;
  padding:0;
  border:0;
  background:transparent;
  color:#111827;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}
.ecs-v290 .ecs-filter-more:hover{color:#d52b21}

.ecs-v290 .ecs-filter-actions{
  position:sticky;
  bottom:0;
  display:grid;
  gap:10px;
  padding:16px 22px 18px;
  border-top:1px solid #eceff2;
  background:#fff;
  box-shadow:0 -8px 20px rgba(15,23,42,.025);
}
.ecs-v290 .ecs-filter-match span{color:#7c858e;font-size:13px}
.ecs-v290 .ecs-filter-match strong{color:#222a31;font-size:15px}
.ecs-v290 .ecs-filter-help{
  min-height:44px;
  border:1px solid #d8dde2;
  border-radius:8px;
  background:#fff;
  color:#323a42;
  font-size:13.5px;
  font-weight:800;
}
.ecs-v290 .ecs-filter-apply{
  min-height:46px;
  border-radius:8px;
  background:#ed1c24;
  color:#fff;
  font-size:14px;
  font-weight:800;
}

@media(min-width:1001px){
  .ecs-v290 .ecs-filter-apply{display:none!important}
}
@media(max-width:1000px){
  .ecs-v290 .ecs-filtersection summary{min-height:58px;padding:16px 18px}
  .ecs-v290 .ecs-filtergroup{padding-left:18px;padding-right:18px}
  .ecs-v290 .ecs-filtersection__title strong{font-size:15px}
}

/* =========================================================
   v2.10.2 — White UI Cleanup
   One white canvas, fewer visual badges, clearer breathing room.
   ========================================================= */
.ecs-v130{
  --canvas:#fff;
  --warm:#fff;
  --warm-2:#fff;
  --teal-soft:#fff;
  --teal-softer:#fff;
}

/* Filter: keep the intelligence, remove visual counting noise. */
.ecs-v290 .ecs-filtermeta b,
.ecs-v290 [data-facet-count]{
  display:none!important;
}
.ecs-v290 .ecs-filter-match{
  display:none!important;
}
.ecs-v290 .ecs-filtergroup label{
  min-height:41px;
}
.ecs-v290 .ecs-filtermeta{
  min-width:20px;
  justify-content:flex-end;
}
.ecs-v290 .ecs-filterseo{
  color:#a3abb3;
}
.ecs-v290 .ecs-filterseo:hover{
  background:transparent;
  color:#4f6f8d;
}

/* One continuous white storefront canvas. */
.ecs-v130,
.ecs-v130 .ecs-catalog,
.ecs-v130 .ecs-after-section,
.ecs-v130 .ecs-needs,
.ecs-v130 .ecs-cabin-story,
.ecs-v130 .ecs-duration-guide,
.ecs-v130 .ecs-bundle,
.ecs-v130 .ecs-trust,
.ecs-v130 .ecs-review-proof,
.ecs-v130 .ecs-advisor,
.ecs-v130 .ecs-faq--v140,
.ecs-v130 .ecs-taxnav,
.ecs-v130 .ecs-decision,
.ecs-v130 .ecs-results,
.ecs-v130 .ecs-filterdeck,
.ecs-v130 .ecs-filter-intro,
.ecs-v130 .ecs-filtersection,
.ecs-v130 .ecs-filter-actions,
.ecs-v130 .ecs-cruise,
.ecs-v130 .ecs-cruise__content,
.ecs-v130 .ecs-cruise__price,
.ecs-v130 .ecs-duration-card,
.ecs-v130 .ecs-bundle-card,
.ecs-v130 .ecs-review-card,
.ecs-v130 .ecs-trust-grid,
.ecs-v130 .ecs-advisor__inner{
  background:#fff!important;
}

/* Remove the warm card/block feel; use lines + whitespace instead. */
.ecs-v130 .ecs-catalog{
  border-top:1px solid #eef1f3;
}
.ecs-v130 .ecs-cruise{
  border-color:#e1e5e9;
  box-shadow:0 4px 16px rgba(15,23,42,.035);
}
.ecs-v130 .ecs-cruise:hover{
  border-color:#cfd6dc;
  box-shadow:0 10px 28px rgba(15,23,42,.065);
}
.ecs-v130 .ecs-cruise__content,
.ecs-v130 .ecs-cruise__price{
  border-color:#eceff2!important;
}
.ecs-v130 .ecs-price__trust{
  border-color:#eceff2;
}
.ecs-v290 .ecs-filterdeck{
  border-color:#e4e8ec;
  box-shadow:0 8px 26px rgba(15,23,42,.04);
}
.ecs-v290 .ecs-filtersection,
.ecs-v290 .ecs-filter-intro,
.ecs-v290 .ecs-filter-actions{
  border-color:#edf0f2;
}
.ecs-v290 .ecs-filter-actions{
  box-shadow:none;
}

/* Neutralize remaining decorative tinted backgrounds without touching photos/hero/primary CTAs. */
.ecs-v130 .ecs-taxnav a:hover,
.ecs-v130 .ecs-taxnav a.is-current,
.ecs-v130 .ecs-load-more strong,
.ecs-v130 .ecs-photo-strip button,
.ecs-v130 .ecs-review-card__avatar,
.ecs-v130 .ecs-bundle-card__icon,
.ecs-v130 .ecs-duration-card__badge,
.ecs-v130 .ecs-filter-help,
.ecs-v130 .ecs-active-filters button{
  background:#fff!important;
}
.ecs-v130 .ecs-taxnav a:hover,
.ecs-v130 .ecs-taxnav a.is-current{
  box-shadow:inset 0 0 0 1px #e7ebee;
}

@media(max-width:1000px){
  .ecs-v290 .ecs-filter-actions{background:#fff!important}
}


/* =========================================================
   v2.10.3 — Softer typography / cleaner hierarchy
   ========================================================= */
.ecs-v130 .ecs-hero h1{
  font-size:clamp(38px,3vw,50px);
  font-weight:780;
  letter-spacing:-.032em;
}
.ecs-v130 .ecs-catalog__title h2{
  font-size:clamp(30px,2vw,34px);
  line-height:1.12;
  font-weight:760;
  letter-spacing:-.026em;
  color:#394147;
}
.ecs-v130 .ecs-catalog__title p,
.ecs-v130 .ecs-catalog__title p strong,
.ecs-v130 .ecs-catalog__head p{
  color:#707880;
}
.ecs-v130 .ecs-catalog__title p strong{
  color:#4c555c;
  font-weight:700;
}
.ecs-v130 .ecs-kicker{
  color:#7b848c!important;
  font-weight:750;
  letter-spacing:.075em;
}
.ecs-v130 .ecs-decision__head{
  margin-bottom:16px;
}
.ecs-v130 .ecs-decision__head h2{
  display:none!important;
}
.ecs-v130 .ecs-decision__grid strong{
  color:#434b50;
  font-weight:720;
}
.ecs-v130 .ecs-decision__grid small{
  color:#858d93;
}
.ecs-v130 .ecs-cruise h3{
  color:#444b50!important;
  font-weight:760;
}
.ecs-v130 .ecs-titleline,
.ecs-v130 .ecs-route strong,
.ecs-v130 .ecs-shipline,
.ecs-v130 .ecs-bestfor strong{
  color:#50585d;
}
.ecs-v130 .ecs-card-links button,
.ecs-v130 .ecs-card-links button:hover{
  color:#596168!important;
  font-weight:700;
}
.ecs-v130 .ecs-card-links button svg{
  color:#8d969d!important;
}
.ecs-v130 .ecs-score>span{
  color:#50585e;
}
.ecs-v130 .ecs-score small{
  color:#899198;
}
@media(max-width:720px){
  .ecs-v130 .ecs-hero h1{font-size:34px}
  .ecs-v130 .ecs-catalog__title h2{font-size:28px}
}

/* v2.11.0 — same-ship, high-resolution cabin showroom polish */
.ecs-v130 .ecs-modal__scrim{background:rgba(244,246,248,.94);backdrop-filter:blur(8px)}
.ecs-v130 .ecs-modal__panel{border:1px solid #e2e7eb;border-radius:18px;box-shadow:0 28px 80px rgba(15,23,42,.16)}
.ecs-v130 .ecs-modal__close{border-color:#dfe4e8;color:#39434d;box-shadow:0 5px 16px rgba(15,23,42,.09)}
.ecs-v130 .ecs-showroom__head h2{color:#303942;font-weight:750}
.ecs-v130 .ecs-showroom__head p,.ecs-v130 .ecs-showroom__count{color:#7b858e}
.ecs-v130 .ecs-showroom__tabs{background:#fff;border-color:#edf0f2}
.ecs-v130 .ecs-showroom__tabs button{border-color:#dfe4e8;color:#59636d;background:#fff}
.ecs-v130 .ecs-showroom__tabs button:hover{border-color:#bcc5cd;color:#2f3942}
.ecs-v130 .ecs-showroom__tabs button.is-active{border-color:#303942;background:#303942;color:#fff;box-shadow:none}
.ecs-v130 .ecs-showroom__media{background:#f6f7f8;border-color:#edf0f2}
.ecs-v130 .ecs-showroom__stage{background:#f1f3f5;border-radius:12px;box-shadow:none}
.ecs-v130 .ecs-showroom__stage>img{object-fit:contain;background:#f6f7f8}
.ecs-v130 .ecs-showroom__nav{border-color:#d9dfe4;background:rgba(255,255,255,.96);color:#303942;box-shadow:0 5px 16px rgba(15,23,42,.10)}
.ecs-v130 .ecs-showroom__nav:hover{background:#fff;border-color:#bcc5cd}
.ecs-v130 .ecs-showroom__caption{padding:36px 14px 11px;background:linear-gradient(180deg,transparent,rgba(27,34,40,.62));font-size:12px}
.ecs-v130 .ecs-showroom__thumbs button{background:#eef1f3;border-color:transparent}
.ecs-v130 .ecs-showroom__thumbs button.is-active{border-color:#303942;box-shadow:none}
.ecs-v130 .ecs-showroom__info{background:#fff}.ecs-v130 .ecs-showroom__info h3{color:#303942}
.ecs-v130 .ecs-showroom__facts span{border-color:#e0e5e9;background:#f7f8f9;color:#56616b}
.ecs-v130 .ecs-showroom__best{background:#f7f8f9;color:#616b74}.ecs-v130 .ecs-showroom__best strong{color:#38424b}
.ecs-v130 .ecs-showroom__pricebox strong{color:#303942}
.ecs-v130 .ecs-showroom__others{background:#fff;border-color:#edf0f2}
.ecs-v130 .ecs-showroom__other{border-color:#e0e5e9}.ecs-v130 .ecs-showroom__other:hover,.ecs-v130 .ecs-showroom__other.is-active{border-color:#aeb8c1;box-shadow:0 5px 14px rgba(15,23,42,.05)}
.ecs-v130 .ecs-showroom__other strong{color:#39434d}

/* =========================================================
   EcoSapa Cruise Pages v2.11.1 — archive showroom balance
   White fixed media frame + progressive preview/full loading.
   ========================================================= */
.ecs-v130 .ecs-modal__scrim{background:rgba(247,248,249,.96);backdrop-filter:blur(6px)}
.ecs-v130 .ecs-modal__panel{
  width:min(1320px,calc(100vw - 34px));
  height:min(860px,calc(100vh - 34px));
  border:1px solid #e2e6e9;
  border-radius:16px;
  box-shadow:0 28px 70px rgba(15,23,42,.16)
}
.ecs-v130 .ecs-showroom__body{grid-template-columns:minmax(0,1.9fr) minmax(300px,.72fr)}
.ecs-v130 .ecs-showroom__media{
  grid-template-rows:minmax(0,1fr) 76px;
  padding:14px;
  background:#fff;
  border-color:#edf0f2
}
.ecs-v130 .ecs-showroom__stage{
  display:grid;
  place-items:center;
  min-height:0;
  overflow:hidden;
  border:1px solid #eef1f3;
  border-radius:12px;
  background:#fff;
  box-shadow:none
}
.ecs-v130 .ecs-showroom__stage:before{
  content:"";
  position:absolute;
  left:50%;top:50%;
  width:28px;height:28px;
  margin:-14px 0 0 -14px;
  border:2px solid #e6e9ec;
  border-top-color:#8b949d;
  border-radius:50%;
  opacity:0;
  pointer-events:none;
  animation:ecsShowroomSpin .8s linear infinite;
  transition:opacity .12s ease
}
.ecs-v130 .ecs-showroom__stage.is-loading:before{opacity:.7}
@keyframes ecsShowroomSpin{to{transform:rotate(360deg)}}
.ecs-v130 .ecs-showroom__stage>img{
  width:100%;height:100%;
  object-fit:contain;
  object-position:center;
  background:#fff;
  transition:opacity .16s ease,filter .18s ease;
  will-change:opacity
}
.ecs-v130 .ecs-showroom__stage>img.is-preview{filter:saturate(.98)}
.ecs-v130 .ecs-showroom__nav{
  width:40px;height:40px;
  border:1px solid #dce1e5;
  background:rgba(255,255,255,.97);
  color:#35404a;
  box-shadow:0 5px 14px rgba(15,23,42,.08)
}
.ecs-v130 .ecs-showroom__nav--prev{left:10px}.ecs-v130 .ecs-showroom__nav--next{right:10px}
.ecs-v130 .ecs-showroom__caption{
  padding:34px 14px 10px;
  background:linear-gradient(180deg,transparent,rgba(29,35,40,.54));
  font-size:12px
}
.ecs-v130 .ecs-showroom__thumbs{gap:6px;padding-top:8px;scroll-behavior:smooth}
.ecs-v130 .ecs-showroom__thumbs button{flex:0 0 92px;height:58px;border-radius:7px;background:#f0f2f4}
.ecs-v130 .ecs-showroom__thumbs img{object-fit:cover;object-position:center}
.ecs-v130 .ecs-showroom__info{padding:20px 20px 18px}

@media(max-width:760px){
  .ecs-v130 .ecs-modal__panel{width:100vw;height:100dvh;border:0;border-radius:0}
  .ecs-v130 .ecs-showroom__media{padding:8px}
  .ecs-v130 .ecs-showroom__stage{height:48vh;min-height:300px}
  .ecs-v130 .ecs-showroom__thumbs button{flex-basis:80px;height:50px}
}


/* =========================================================
   EcoSapa Cruise Pages v2.21.0
   81-cruise professional master filter
   ========================================================= */

.ecs-v290 .ecs-masterfilter{
  position:relative;
  z-index:12;
  padding:18px 0 16px;
  border-bottom:1px solid #e6ebe9;
  background:#fff;
  box-shadow:0 8px 24px rgba(17,47,42,.055);
}
.ecs-v290 .ecs-masterfilter__top{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:12px;
}
.ecs-v290 .ecs-masterfilter__heading>span{
  display:block;
  margin-bottom:3px;
  color:#ed1c24;
  font-size:10.5px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.09em;
}
.ecs-v290 .ecs-masterfilter__heading>strong{
  color:#1f3b36;
  font-size:18px;
  line-height:1.25;
  font-weight:850;
}
.ecs-v290 .ecs-masterfilter__live{
  display:flex;
  align-items:baseline;
  gap:6px;
  white-space:nowrap;
}
.ecs-v290 .ecs-masterfilter__live b{
  color:#ed1c24;
  font-size:22px;
  line-height:1;
}
.ecs-v290 .ecs-masterfilter__live span{
  color:#74817d;
  font-size:12px;
}
.ecs-v290 .ecs-masterfilter__grid{
  display:grid;
  grid-template-columns:minmax(210px,1.45fr) repeat(5,minmax(125px,.85fr)) minmax(150px,.9fr) minmax(145px,.85fr);
  gap:8px;
  align-items:stretch;
}
.ecs-v290 .ecs-masterfilter__grid>label,
.ecs-v290 .ecs-masterfilter__more{
  min-width:0;
  min-height:58px;
  padding:8px 11px;
  border:1px solid #dfe6e3;
  border-radius:10px;
  background:#fff;
}
.ecs-v290 .ecs-masterfilter__grid>label{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.ecs-v290 .ecs-masterfilter__grid label>small{
  display:block;
  margin-bottom:3px;
  color:#7c8985;
  font-size:10.5px;
  line-height:1.15;
  font-weight:700;
}
.ecs-v290 .ecs-masterfilter__grid select,
.ecs-v290 .ecs-masterfilter__grid input{
  width:100%;
  min-width:0;
  height:25px;
  margin:0;
  padding:0 23px 0 0;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#28453f;
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif;
  font-size:12.5px;
  line-height:1.2;
  font-weight:750;
}
.ecs-v290 .ecs-masterfilter__grid select.has-value{color:#ed1c24}
.ecs-v290 .ecs-masterfilter__search{
  display:grid!important;
  grid-template-columns:22px minmax(0,1fr);
  align-items:center;
  column-gap:8px;
}
.ecs-v290 .ecs-masterfilter__search>svg{
  width:19px;
  height:19px;
  color:#15766a;
}
.ecs-v290 .ecs-masterfilter__search>span{min-width:0}
.ecs-v290 .ecs-masterfilter__search input{padding-right:0}
.ecs-v290 .ecs-masterfilter__search input::placeholder{color:#8a9692;font-weight:500}
.ecs-v290 .ecs-masterfilter__more{
  display:flex;
  align-items:center;
  gap:8px;
  cursor:pointer;
  color:#28453f;
  text-align:left;
}
.ecs-v290 .ecs-masterfilter__more:hover{border-color:#9ec8c0;background:#f9fcfb}
.ecs-v290 .ecs-masterfilter__more>svg{width:19px;height:19px;color:#15766a;flex:0 0 auto}
.ecs-v290 .ecs-masterfilter__more span{min-width:0}
.ecs-v290 .ecs-masterfilter__more strong,
.ecs-v290 .ecs-masterfilter__more small{display:block}
.ecs-v290 .ecs-masterfilter__more strong{font-size:12.5px;line-height:1.2}
.ecs-v290 .ecs-masterfilter__more small{margin-top:3px;color:#83908c;font-size:9.8px;line-height:1.2}
.ecs-v290 .ecs-masterfilter__apply{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:58px;
  padding:0 13px;
  border:1px solid #ed1c24;
  border-radius:10px;
  background:#ed1c24;
  color:#fff;
  font-size:12.5px;
  line-height:1.25;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 7px 16px rgba(237,28,36,.13);
}
.ecs-v290 .ecs-masterfilter__apply:hover{background:#cf1520;border-color:#cf1520}
.ecs-v290 .ecs-masterfilter__apply b{font-size:15px}
.ecs-v290 .ecs-masterfilter__apply svg{width:15px;height:15px}

/* The taxonomy menu remains directly under the master filter as SEO navigation. */
.ecs-v290 .ecs-taxnav{
  box-shadow:none!important;
  border-top:0!important;
}
.ecs-v290 .ecs-sort{display:none!important}

/* Advanced facets added for the 81-cruise catalogue. */
.ecs-v290 .ecs-filtersection__title{display:flex!important;flex-direction:column!important;gap:2px!important}
.ecs-v290 .ecs-filtersection__title small{color:#87938f;font-size:10.8px;font-weight:500;line-height:1.25}
.ecs-v290 .ecs-filtermeta{display:flex;align-items:center;gap:5px}
.ecs-v290 .ecs-filtergroup label.is-unavailable{opacity:.42}

/* A slightly more compact catalogue header now that filtering lives above the menu. */
.ecs-v290 .ecs-catalog__tools{justify-content:flex-end}
.ecs-v290 .ecs-filter-open{display:none}

@media(max-width:1240px){
  .ecs-v290 .ecs-masterfilter__grid{
    grid-template-columns:minmax(220px,1.4fr) repeat(3,minmax(135px,1fr)) minmax(145px,1fr);
  }
  .ecs-v290 .ecs-masterfilter__grid>label:nth-of-type(n+5){display:none}
  .ecs-v290 .ecs-masterfilter__more{display:flex}
}
@media(max-width:900px){
  .ecs-v290 .ecs-masterfilter{padding:14px 0}
  .ecs-v290 .ecs-masterfilter__top{align-items:center}
  .ecs-v290 .ecs-masterfilter__grid{
    grid-template-columns:1fr 1fr;
  }
  .ecs-v290 .ecs-masterfilter__search{grid-column:1/-1}
  .ecs-v290 .ecs-masterfilter__grid>label:nth-of-type(n+5){display:flex}
  .ecs-v290 .ecs-masterfilter__more,
  .ecs-v290 .ecs-masterfilter__apply{min-height:52px}
  .ecs-v290 .ecs-filter-open{display:inline-flex}
}
@media(max-width:620px){
  .ecs-v290 .ecs-masterfilter__top{display:block}
  .ecs-v290 .ecs-masterfilter__live{margin-top:6px}
  .ecs-v290 .ecs-masterfilter__grid{grid-template-columns:1fr 1fr;gap:7px}
  .ecs-v290 .ecs-masterfilter__grid>label{min-height:54px;padding:7px 9px}
  .ecs-v290 .ecs-masterfilter__search{grid-column:1/-1}
  .ecs-v290 .ecs-masterfilter__grid label:nth-of-type(n+5){display:none}
  .ecs-v290 .ecs-masterfilter__more{grid-column:1/2}
  .ecs-v290 .ecs-masterfilter__apply{grid-column:2/3}
  .ecs-v290 .ecs-taxnav__inner{overflow-x:auto;scrollbar-width:none}
  .ecs-v290 .ecs-taxnav__inner::-webkit-scrollbar{display:none}
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.7
   Catalogue card CTA + title link + price scale
   Scope: Halong Bay catalogue cards only.
   ========================================================= */

/* Match the red rounded "View photos" CTA already used inside cabin views. */
.ecs-v290 .ecs-main-photo .ecs-gallery-open>span{
  right:12px!important;
  bottom:12px!important;
  min-height:38px!important;
  padding:0 15px!important;
  gap:8px!important;
  border:1px solid #ed1c24!important;
  border-radius:999px!important;
  background:#ed1c24!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:850!important;
  box-shadow:0 7px 18px rgba(237,28,36,.22)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.ecs-v290 .ecs-main-photo .ecs-gallery-open>span svg{
  width:17px!important;
  height:17px!important;
  flex:0 0 auto;
  stroke-width:1.8;
}
.ecs-v290 .ecs-main-photo .ecs-gallery-open:hover>span,
.ecs-v290 .ecs-main-photo .ecs-gallery-open:focus>span{
  background:#cf1520!important;
  border-color:#cf1520!important;
  transform:translateY(-1px);
}

/* Cruise title is now the obvious route to the detail page. */
.ecs-v290 .ecs-cruise-title-link{
  color:inherit!important;
  text-decoration:none!important;
  transition:color .18s ease;
}
.ecs-v290 .ecs-cruise-title-link:hover,
.ecs-v290 .ecs-cruise-title-link:focus{
  color:#ed1c24!important;
  text-decoration:none!important;
}
.ecs-v290 .ecs-cruise h3{
  cursor:pointer;
}

/* Price was visually overpowering the card.
   Keep it prominent, but subordinate it to the cruise name and decision content. */
.ecs-v290 .ecs-price strong{
  font-size:34px!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
}
.ecs-v290 .ecs-price sup{
  margin-top:7px!important;
  font-size:10.5px!important;
}
.ecs-v290 .ecs-price span{
  margin-bottom:2px!important;
  font-size:10.5px!important;
}
.ecs-v290 .ecs-price-old{
  font-size:12px!important;
}

@media(max-width:1180px){
  .ecs-v290 .ecs-price strong{font-size:31px!important}
}
@media(max-width:700px){
  .ecs-v290 .ecs-main-photo .ecs-gallery-open>span{
    right:9px!important;
    bottom:9px!important;
    min-height:36px!important;
    padding:0 13px!important;
  }
  .ecs-v290 .ecs-price strong{font-size:30px!important}
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.8
   Catalogue image rank badge removal
   ========================================================= */
.ecs-v290 .ecs-rank{
  display:none!important;
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.9
   Professional catalogue-top hierarchy
   Scope: filter + popular shortcuts only.
   ========================================================= */

/* One clear hierarchy:
   heading -> quick filters -> one lightweight shortcut row.
   The duplicated decision-card strip has been removed in markup. */
.ecs-v290 .ecs-masterfilter{
  padding:20px 0 14px!important;
  border-bottom:0!important;
  box-shadow:none!important;
  background:#fff!important;
}
.ecs-v290 .ecs-masterfilter__top{
  align-items:center!important;
  margin-bottom:14px!important;
}
.ecs-v290 .ecs-masterfilter__heading>span{
  margin-bottom:4px!important;
  color:#ed1c24!important;
  font-size:10px!important;
  letter-spacing:.095em!important;
}
.ecs-v290 .ecs-masterfilter__heading>strong{
  display:block;
  color:#223a35!important;
  font-size:22px!important;
  line-height:1.15!important;
  letter-spacing:-.02em!important;
}
.ecs-v290 .ecs-masterfilter__heading>small{
  display:block;
  margin-top:4px;
  color:#73807c;
  font-size:12px;
  line-height:1.35;
}
.ecs-v290 .ecs-masterfilter__live{
  min-width:82px;
  justify-content:flex-end;
  gap:5px!important;
}
.ecs-v290 .ecs-masterfilter__live b{
  color:#ed1c24!important;
  font-size:20px!important;
}
.ecs-v290 .ecs-masterfilter__live span{
  color:#7a8783!important;
  font-size:11px!important;
}

/* Search gets visual priority, four core filters stay equal,
   More Filters and the CTA close the row. */
.ecs-v290 .ecs-masterfilter__grid{
  grid-template-columns:minmax(245px,1.55fr) repeat(4,minmax(132px,.9fr)) minmax(165px,1fr) minmax(145px,.85fr)!important;
  gap:9px!important;
}
.ecs-v290 .ecs-masterfilter__grid>label,
.ecs-v290 .ecs-masterfilter__more{
  min-height:60px!important;
  border-color:#dfe6e3!important;
  border-radius:11px!important;
  box-shadow:none!important;
}
.ecs-v290 .ecs-masterfilter__grid>label:hover,
.ecs-v290 .ecs-masterfilter__grid>label:focus-within{
  border-color:#a9c6bf!important;
  background:#fcfefd!important;
}
.ecs-v290 .ecs-masterfilter__more{
  background:#fbfcfc!important;
}
.ecs-v290 .ecs-masterfilter__apply{
  min-height:60px!important;
  border-radius:11px!important;
  box-shadow:0 7px 16px rgba(237,28,36,.12)!important;
  font-size:12.5px!important;
}

/* Compact SEO/navigation shortcuts. Counts become quiet metadata, not pills. */
.ecs-v290 .ecs-taxnav--compact{
  border-top:1px solid #edf1ef!important;
  border-bottom:1px solid #e5eae7!important;
  box-shadow:none!important;
  background:#fff!important;
}
.ecs-v290 .ecs-taxnav--compact .ecs-taxnav__inner{
  min-height:52px;
  gap:4px!important;
  padding-top:8px!important;
  padding-bottom:8px!important;
}
.ecs-v290 .ecs-taxnav__label{
  flex:0 0 auto;
  margin-right:5px;
  color:#8a9692;
  font-size:11px;
  font-weight:750;
}
.ecs-v290 .ecs-taxnav--compact a{
  gap:5px!important;
  padding:8px 10px!important;
  border:1px solid transparent;
  border-radius:8px!important;
  color:#33433e!important;
  font-size:12.5px!important;
  font-weight:750!important;
}
.ecs-v290 .ecs-taxnav--compact a:hover{
  border-color:#e1e7e4!important;
  background:#f8faf9!important;
}
.ecs-v290 .ecs-taxnav--compact a.is-current{
  border-color:#dce3e0!important;
  background:#f3f6f5!important;
  color:#1e312c!important;
}
.ecs-v290 .ecs-taxnav--compact a span{
  min-width:0!important;
  height:auto!important;
  padding:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#97a19e!important;
  font-size:10.5px!important;
  font-weight:700!important;
}

/* Remove legacy spacing left behind by the old duplicated decision strip. */
.ecs-v290 .ecs-decision{
  display:none!important;
}
.ecs-v290 .ecs-catalog{
  margin-top:0!important;
}

/* Prevent the first content block from feeling detached from the finder. */
.ecs-v290 .ecs-catalog{
  padding-top:34px!important;
}

@media(max-width:1260px){
  .ecs-v290 .ecs-masterfilter__grid{
    grid-template-columns:minmax(230px,1.45fr) repeat(3,minmax(130px,1fr)) minmax(160px,1fr) minmax(140px,.9fr)!important;
  }
  .ecs-v290 .ecs-masterfilter__grid>label:nth-of-type(5){
    display:none!important; /* Price stays available in full filters on tighter screens */
  }
}
@media(max-width:900px){
  .ecs-v290 .ecs-masterfilter__heading>strong{font-size:20px!important}
  .ecs-v290 .ecs-masterfilter__grid{
    grid-template-columns:1fr 1fr!important;
  }
  .ecs-v290 .ecs-masterfilter__search{grid-column:1/-1!important}
  .ecs-v290 .ecs-masterfilter__grid>label:nth-of-type(5){display:flex!important}
  .ecs-v290 .ecs-taxnav__label{position:sticky;left:0;background:#fff;padding-right:6px;z-index:2}
}
@media(max-width:620px){
  .ecs-v290 .ecs-masterfilter{padding-top:14px!important}
  .ecs-v290 .ecs-masterfilter__top{margin-bottom:11px!important}
  .ecs-v290 .ecs-masterfilter__heading>small{max-width:270px}
  .ecs-v290 .ecs-masterfilter__grid>label:nth-of-type(4),
  .ecs-v290 .ecs-masterfilter__grid>label:nth-of-type(5){
    display:none!important;
  }
  .ecs-v290 .ecs-masterfilter__more,
  .ecs-v290 .ecs-masterfilter__apply{
    min-height:52px!important;
  }
  .ecs-v290 .ecs-taxnav--compact .ecs-taxnav__inner{
    min-height:48px;
  }
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.10
   Clickable catalogue facet chips
   Scope: bay / style / duration chips on cruise cards only.
   ========================================================= */

.ecs-v290 .ecs-badges a.ecs-badge-link{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid #dce4e1;
  border-radius:999px;
  background:#fff;
  color:#35504a;
  font:inherit;
  font-size:11.5px;
  line-height:1.15;
  font-weight:750;
  text-decoration:none!important;
  cursor:pointer;
  transition:border-color .16s ease, color .16s ease, background .16s ease, transform .16s ease;
}

.ecs-v290 .ecs-badges a.ecs-badge-link:hover,
.ecs-v290 .ecs-badges a.ecs-badge-link:focus-visible{
  border-color:#ed1c24;
  background:#fff8f8;
  color:#d71920;
  text-decoration:none!important;
  transform:translateY(-1px);
  outline:none;
}

.ecs-v290 .ecs-badges a.ecs-badge-link:focus-visible{
  box-shadow:0 0 0 3px rgba(237,28,36,.10);
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.12
   Post-catalogue vertical rhythm cleanup
   Scope: spacing only between catalogue and "Find Your Fit".
   ========================================================= */

/* The catalogue previously ended with 64px bottom padding and the next
   section started with 82px top padding, creating an unnecessarily long
   white gap. Keep clear separation, but make the transition feel intentional. */
.ecs-v290 .ecs-catalog{
  padding-bottom:30px!important;
}

.ecs-v290 .ecs-needs.ecs-after-section{
  padding-top:34px!important;
}

/* Keep the heading close enough to the preceding trust strip without
   making the sections feel glued together. */
.ecs-v290 .ecs-needs .ecs-after-head{
  margin-top:0!important;
  margin-bottom:24px!important;
}

/* Mobile needs even less dead vertical space. */
@media(max-width:900px){
  .ecs-v290 .ecs-catalog{
    padding-bottom:24px!important;
  }
  .ecs-v290 .ecs-needs.ecs-after-section{
    padding-top:28px!important;
  }
}
@media(max-width:620px){
  .ecs-v290 .ecs-catalog{
    padding-bottom:20px!important;
  }
  .ecs-v290 .ecs-needs.ecs-after-section{
    padding-top:22px!important;
  }
  .ecs-v290 .ecs-needs .ecs-after-head{
    margin-bottom:18px!important;
  }
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.13
   Lower-page vertical rhythm compression
   Scope: reduce oversized white gaps in the lower conversion journey.
   No content/layout reordering.
   ========================================================= */

/* Detail-page lower sections were stacking 76–82px paddings repeatedly,
   which made the page feel long and airy. Compress the whole lower flow
   while preserving clean separation between modules. */
.ecs-v130 .ecs-after-section{
  padding-top:42px!important;
  padding-bottom:42px!important;
}

.ecs-v130 .ecs-needs{
  padding-top:42px!important;
}

.ecs-v130 .ecs-after-head,
.ecs-v130 .ecs-after-head--compact{
  margin-bottom:18px!important;
}

/* Sections with their own larger paddings need separate overrides so the
   whole lower page feels consistently tight. */
.ecs-v130 .ecs-cabin-story,
.ecs-v130 .ecs-bundle,
.ecs-v130 .ecs-trust,
.ecs-v130 .ecs-review-proof,
.ecs-v130 .ecs-advisor{
  padding-top:42px!important;
  padding-bottom:42px!important;
}

.ecs-v130 .ecs-faq--v140{
  padding-top:42px!important;
  padding-bottom:50px!important;
}

/* Tighten explanatory copy blocks under the section heads. */
.ecs-v130 .ecs-after-head>p{
  margin-top:0!important;
}

/* Catalogue page lower journey: keep all sections closer together there too. */
.ecs-v290 .ecs-after-section{
  padding-top:38px!important;
  padding-bottom:38px!important;
}

.ecs-v290 .ecs-needs.ecs-after-section{
  padding-top:28px!important;
}

.ecs-v290 .ecs-needs .ecs-after-head{
  margin-bottom:18px!important;
}

@media(max-width:900px){
  .ecs-v130 .ecs-after-section,
  .ecs-v130 .ecs-cabin-story,
  .ecs-v130 .ecs-bundle,
  .ecs-v130 .ecs-trust,
  .ecs-v130 .ecs-review-proof,
  .ecs-v130 .ecs-advisor{
    padding-top:34px!important;
    padding-bottom:34px!important;
  }
  .ecs-v130 .ecs-needs,
  .ecs-v130 .ecs-faq--v140{
    padding-top:34px!important;
  }
  .ecs-v130 .ecs-faq--v140{
    padding-bottom:40px!important;
  }
  .ecs-v130 .ecs-after-head,
  .ecs-v130 .ecs-after-head--compact,
  .ecs-v290 .ecs-needs .ecs-after-head{
    margin-bottom:16px!important;
  }
  .ecs-v290 .ecs-after-section{
    padding-top:30px!important;
    padding-bottom:30px!important;
  }
  .ecs-v290 .ecs-needs.ecs-after-section{
    padding-top:24px!important;
  }
}

@media(max-width:620px){
  .ecs-v130 .ecs-after-section,
  .ecs-v130 .ecs-cabin-story,
  .ecs-v130 .ecs-bundle,
  .ecs-v130 .ecs-trust,
  .ecs-v130 .ecs-review-proof,
  .ecs-v130 .ecs-advisor{
    padding-top:28px!important;
    padding-bottom:28px!important;
  }
  .ecs-v130 .ecs-needs,
  .ecs-v130 .ecs-faq--v140{
    padding-top:28px!important;
  }
  .ecs-v130 .ecs-faq--v140{
    padding-bottom:34px!important;
  }
  .ecs-v130 .ecs-after-head,
  .ecs-v130 .ecs-after-head--compact,
  .ecs-v290 .ecs-needs .ecs-after-head{
    margin-bottom:14px!important;
  }
  .ecs-v290 .ecs-after-section{
    padding-top:24px!important;
    padding-bottom:24px!important;
  }
  .ecs-v290 .ecs-needs.ecs-after-section{
    padding-top:20px!important;
  }
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.14
   Softer, smaller large headline system
   ========================================================= */

/* Large lower-journey section headlines were visually too dominant.
   Make them slightly smaller and soften the black to a dark charcoal
   so the layout feels more balanced and premium. */
.ecs-v130 .ecs-after-head h2,
.ecs-v130 .ecs-bundle__top h2,
.ecs-v130 .ecs-trust__intro h2,
.ecs-v130 .ecs-advisor__copy h2{
  font-size:clamp(26px,2.05vw,34px)!important;
  line-height:1.14!important;
  font-weight:800!important;
  letter-spacing:-.026em!important;
  color:#243946!important;
}

/* Catalogue large heading follows the same tone so the whole page stays coherent. */
.ecs-v130 .ecs-catalog__title h2{
  font-size:clamp(28px,2.05vw,34px)!important;
  line-height:1.12!important;
  font-weight:800!important;
  letter-spacing:-.024em!important;
  color:#243946!important;
}

@media(max-width:900px){
  .ecs-v130 .ecs-after-head h2,
  .ecs-v130 .ecs-bundle__top h2,
  .ecs-v130 .ecs-trust__intro h2,
  .ecs-v130 .ecs-advisor__copy h2,
  .ecs-v130 .ecs-catalog__title h2{
    font-size:clamp(24px,5.6vw,30px)!important;
    line-height:1.16!important;
  }
}

@media(max-width:620px){
  .ecs-v130 .ecs-after-head h2,
  .ecs-v130 .ecs-bundle__top h2,
  .ecs-v130 .ecs-trust__intro h2,
  .ecs-v130 .ecs-advisor__copy h2,
  .ecs-v130 .ecs-catalog__title h2{
    font-size:clamp(22px,6.2vw,28px)!important;
    line-height:1.18!important;
  }
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.17
   Catalogue header cleanup
   ========================================================= */

/* Integrate the Popular shortcuts into the results header instead of
   leaving them as a detached full-width band. */
.ecs-v290 .ecs-taxnav--inside{
  margin:0 0 16px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.ecs-v290 .ecs-taxnav--inside .ecs-taxnav__inner{
  min-height:0!important;
  padding:0!important;
  gap:3px!important;
  overflow-x:auto;
}
.ecs-v290 .ecs-taxnav--inside .ecs-taxnav__label{
  margin-right:4px!important;
  color:#87938f!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
}
.ecs-v290 .ecs-taxnav--inside a{
  min-height:30px!important;
  padding:6px 8px!important;
  border:1px solid transparent!important;
  border-radius:7px!important;
  color:#33433e!important;
  font-size:11.5px!important;
  line-height:1!important;
  font-weight:750!important;
}
.ecs-v290 .ecs-taxnav--inside a span{
  margin-left:1px!important;
  color:#9aa4a0!important;
  font-size:9.5px!important;
}
.ecs-v290 .ecs-taxnav--inside a:hover{
  border-color:#e1e7e4!important;
  background:#f8faf9!important;
}
.ecs-v290 .ecs-taxnav--inside a.is-current{
  border-color:#dbe3df!important;
  background:#f3f6f5!important;
  color:#20342e!important;
}

/* After removing the redundant expert-help strip, the catalogue heading
   becomes a compact one-column editorial header. */
.ecs-v290 .ecs-catalog__head{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:end!important;
  gap:14px!important;
  margin-bottom:14px!important;
}
.ecs-v290 .ecs-catalog__tools{
  min-width:0!important;
}
.ecs-v290 .ecs-catalog__title .ecs-kicker{
  margin-bottom:3px!important;
  font-size:9.5px!important;
  line-height:1.2!important;
  letter-spacing:.075em!important;
}
.ecs-v290 .ecs-catalog__title h2{
  margin:2px 0 4px!important;
  font-size:clamp(24px,1.65vw,29px)!important;
  line-height:1.14!important;
  font-weight:800!important;
  letter-spacing:-.021em!important;
  color:#2f4350!important;
}
.ecs-v290 .ecs-catalog__title p,
.ecs-v290 .ecs-catalog__title p strong{
  font-size:13px!important;
  line-height:1.4!important;
}
.ecs-v290 .ecs-catalog__title p{
  color:#728078!important;
}
.ecs-v290 .ecs-catalog__title p strong{
  color:#3d514b!important;
}
.ecs-v290 .ecs-catalog{
  padding-top:24px!important;
}

@media(max-width:900px){
  .ecs-v290 .ecs-taxnav--inside{margin-bottom:13px!important}
  .ecs-v290 .ecs-catalog__head{
    grid-template-columns:1fr!important;
    align-items:start!important;
    gap:8px!important;
  }
  .ecs-v290 .ecs-catalog__title h2{font-size:25px!important}
}
@media(max-width:620px){
  .ecs-v290 .ecs-catalog{padding-top:18px!important}
  .ecs-v290 .ecs-taxnav--inside{margin-bottom:11px!important}
  .ecs-v290 .ecs-catalog__title h2{font-size:22px!important}
  .ecs-v290 .ecs-catalog__title p,
  .ecs-v290 .ecs-catalog__title p strong{font-size:12.5px!important}
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.18
   Popular shortcuts moved above results + readable type
   ========================================================= */

/* Heading first, then Popular shortcuts, then cruise cards. */
.ecs-v290 .ecs-catalog__head{
  margin-bottom:12px!important;
}

.ecs-v290 .ecs-taxnav--inside{
  width:100%!important;
  margin:0 0 14px!important;
  padding:9px 0!important;
  border-top:1px solid #e6ebe8!important;
  border-bottom:1px solid #e6ebe8!important;
  background:#fff!important;
}

.ecs-v290 .ecs-taxnav--inside .ecs-taxnav__inner{
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  overflow-x:auto!important;
  scrollbar-width:none;
}
.ecs-v290 .ecs-taxnav--inside .ecs-taxnav__inner::-webkit-scrollbar{
  display:none;
}

.ecs-v290 .ecs-taxnav--inside .ecs-taxnav__label{
  flex:0 0 auto;
  margin-right:5px!important;
  color:#75837e!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
}

.ecs-v290 .ecs-taxnav--inside a{
  flex:0 0 auto;
  min-height:34px!important;
  padding:8px 10px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  color:#334740!important;
  font-size:13.5px!important;
  line-height:1!important;
  font-weight:750!important;
  white-space:nowrap!important;
}

.ecs-v290 .ecs-taxnav--inside a span{
  margin-left:2px!important;
  color:#8e9b96!important;
  font-size:11px!important;
  font-weight:700!important;
}

.ecs-v290 .ecs-taxnav--inside a:hover{
  border-color:#dfe6e2!important;
  background:#f8faf9!important;
  color:#243d35!important;
}

.ecs-v290 .ecs-taxnav--inside a.is-current{
  border-color:#d6dfdb!important;
  background:#f1f5f3!important;
  color:#1f352e!important;
}

/* Bring the catalogue copy up to the same readable typography scale. */
.ecs-v290 .ecs-catalog__title .ecs-kicker{
  font-size:10.5px!important;
}
.ecs-v290 .ecs-catalog__title h2{
  font-size:clamp(26px,1.8vw,31px)!important;
}
.ecs-v290 .ecs-catalog__title p,
.ecs-v290 .ecs-catalog__title p strong{
  font-size:14.5px!important;
}
.ecs-v290 .ecs-filter-open{
  font-size:13.5px!important;
}

/* Do not leave a dead white band between shortcuts and the first result. */
.ecs-v290 .ecs-active-filters[hidden] + .ecs-catalog__layout{
  margin-top:0!important;
}

@media(max-width:900px){
  .ecs-v290 .ecs-taxnav--inside{
    margin-bottom:12px!important;
    padding:8px 0!important;
  }
  .ecs-v290 .ecs-taxnav--inside a{
    font-size:13px!important;
    min-height:32px!important;
    padding:7px 9px!important;
  }
  .ecs-v290 .ecs-catalog__title p,
  .ecs-v290 .ecs-catalog__title p strong{
    font-size:14px!important;
  }
}
@media(max-width:620px){
  .ecs-v290 .ecs-taxnav--inside .ecs-taxnav__label{
    font-size:11.5px!important;
  }
  .ecs-v290 .ecs-taxnav--inside a{
    font-size:12.5px!important;
  }
  .ecs-v290 .ecs-catalog__title h2{
    font-size:23px!important;
  }
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.19
   Sticky compact side filter
   ========================================================= */

/* Popular shortcuts now live inside the left filter frame. */
.ecs-v290 .ecs-side-popular{
  padding:14px 14px 13px;
  border-bottom:1px solid #e9eeeb;
  background:#fbfcfb;
}
.ecs-v290 .ecs-side-popular__head{
  margin-bottom:9px;
}
.ecs-v290 .ecs-side-popular__head>span{
  display:block;
  color:#87938f;
  font-size:9.5px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.08em;
}
.ecs-v290 .ecs-side-popular__head>strong{
  display:block;
  margin-top:3px;
  color:#30453e;
  font-size:14px;
  line-height:1.25;
  font-weight:850;
}
.ecs-v290 .ecs-side-popular__links{
  display:grid;
  gap:4px;
}
.ecs-v290 .ecs-side-popular__links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:32px;
  padding:7px 9px;
  border:1px solid transparent;
  border-radius:8px;
  color:#3a4d47;
  background:#fff;
  font-size:12px;
  line-height:1.2;
  font-weight:750;
  text-decoration:none!important;
  transition:.16s ease;
}
.ecs-v290 .ecs-side-popular__links a:hover{
  border-color:#dbe4df;
  color:#d71920;
  background:#fffafa;
}
.ecs-v290 .ecs-side-popular__links a.is-current{
  border-color:#d7e0dc;
  color:#243b34;
  background:#eef4f1;
}
.ecs-v290 .ecs-side-popular__links a span{
  flex:0 0 auto;
  color:#95a19c;
  font-size:10.5px;
  font-weight:750;
}

/* Professional desktop balance: compact sidebar, more room for cards. */
.ecs-v290 .ecs-catalog__layout{
  grid-template-columns:272px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:start!important;
}

/* The whole filter frame follows the viewport while browsing the cruise list. */
@media(min-width:1001px){
  .ecs-v290 .ecs-filterdeck{
    position:sticky!important;
    top:86px!important;
    max-height:calc(100vh - 104px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    scrollbar-width:thin;
    scrollbar-color:#d5dfda transparent;
  }
  .ecs-v290 .ecs-filterdeck::-webkit-scrollbar{
    width:6px;
  }
  .ecs-v290 .ecs-filterdeck::-webkit-scrollbar-thumb{
    background:#d5dfda;
    border-radius:999px;
  }
  .ecs-v290 .ecs-filterdeck::-webkit-scrollbar-track{
    background:transparent;
  }
}

/* Slightly compact the filter copy so the sticky frame remains elegant. */
.ecs-v290 .ecs-filter-intro{
  padding:16px 15px 13px!important;
}
.ecs-v290 .ecs-filter-intro h3{
  margin:4px 0 5px!important;
  font-size:19px!important;
  line-height:1.2!important;
}
.ecs-v290 .ecs-filter-intro p{
  margin:0!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.ecs-v290 .ecs-filter-intro__top .ecs-kicker,
.ecs-v290 .ecs-filter-intro__top button{
  font-size:10.5px!important;
}
.ecs-v290 .ecs-filtersection summary{
  padding-left:15px!important;
  padding-right:15px!important;
}
.ecs-v290 .ecs-filtergroup{
  padding-left:15px!important;
  padding-right:15px!important;
}

/* The former horizontal Popular bar is no longer needed. */
.ecs-v290 .ecs-taxnav--inside{
  display:none!important;
}

@media(max-width:1180px) and (min-width:1001px){
  .ecs-v290 .ecs-catalog__layout{
    grid-template-columns:250px minmax(0,1fr)!important;
    gap:16px!important;
  }
}

@media(max-width:1000px){
  .ecs-v290 .ecs-catalog__layout{
    display:block!important;
  }
  .ecs-v290 .ecs-filterdeck{
    max-height:none!important;
    overflow-y:auto!important;
  }
  .ecs-v290 .ecs-side-popular{
    padding:14px 17px 13px;
  }
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.20
   Horizontal Popular bar — RIGHT results column only
   ========================================================= */

/* v2.23.19 sidebar quick-choice block is intentionally retired. */
.ecs-v290 .ecs-side-popular{
  display:none!important;
}

/* Keep the left filter compact/sticky, but the Popular navigation belongs
   only to the right-hand results column. */
.ecs-v290 .ecs-catalog__layout{
  grid-template-columns:272px minmax(0,1fr)!important;
  gap:20px!important;
  align-items:start!important;
}

.ecs-v290 .ecs-results{
  min-width:0!important;
}

/* Horizontal shortcut bar aligned exactly to the cruise-card column. */
.ecs-v290 .ecs-results-popular{
  position:sticky;
  top:78px;
  z-index:22;
  width:100%;
  margin:0 0 12px;
  padding:8px 10px;
  border:1px solid #e1e7e4;
  border-radius:11px;
  background:rgba(255,255,255,.96);
  box-shadow:0 5px 16px rgba(24,48,40,.055);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}

.ecs-v290 .ecs-results-popular__inner{
  display:flex;
  align-items:center;
  gap:3px;
  width:100%;
  min-width:0;
  overflow-x:auto;
  scrollbar-width:none;
  white-space:nowrap;
}
.ecs-v290 .ecs-results-popular__inner::-webkit-scrollbar{
  display:none;
}

.ecs-v290 .ecs-results-popular__label{
  flex:0 0 auto;
  margin:0 4px 0 1px;
  color:#7b8984;
  font-size:11.5px;
  line-height:1;
  font-weight:800;
}

.ecs-v290 .ecs-results-popular a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:31px;
  padding:7px 8px;
  border:1px solid transparent;
  border-radius:7px;
  background:transparent;
  color:#354a43;
  font-size:12.5px;
  line-height:1;
  font-weight:750;
  text-decoration:none!important;
  transition:border-color .15s ease, background .15s ease, color .15s ease;
}

.ecs-v290 .ecs-results-popular a span{
  color:#929e99;
  font-size:10.5px;
  font-weight:700;
}

.ecs-v290 .ecs-results-popular a:hover{
  border-color:#dce4e0;
  background:#f8faf9;
  color:#d71920;
}

.ecs-v290 .ecs-results-popular a.is-current{
  border-color:#d5dfda;
  background:#f0f5f2;
  color:#223b33;
}

/* Keep first cruise directly below the shortcut bar. */
.ecs-v290 .ecs-results-popular + .ecs-list{
  margin-top:0!important;
}

/* The old full-width/historical Popular styles must not reappear. */
.ecs-v290 .ecs-taxnav--inside{
  display:none!important;
}

@media(max-width:1180px) and (min-width:1001px){
  .ecs-v290 .ecs-catalog__layout{
    grid-template-columns:250px minmax(0,1fr)!important;
    gap:16px!important;
  }
  .ecs-v290 .ecs-results-popular a{
    font-size:12px;
    padding-left:7px;
    padding-right:7px;
  }
}

@media(max-width:1000px){
  .ecs-v290 .ecs-catalog__layout{
    display:block!important;
  }
  .ecs-v290 .ecs-results-popular{
    position:sticky;
    top:66px;
    margin-bottom:10px;
    border-radius:9px;
  }
}

@media(max-width:620px){
  .ecs-v290 .ecs-results-popular{
    top:58px;
    padding:7px 8px;
  }
  .ecs-v290 .ecs-results-popular__label{
    font-size:11px;
  }
  .ecs-v290 .ecs-results-popular a{
    min-height:30px;
    font-size:12px;
    padding:6px 7px;
  }
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.21
   Popular shortcut typography normalization
   ========================================================= */
.ecs-v290 .ecs-results-popular__label{
  color:#89919a;
  font-size:11.5px;
  font-weight:700;
  letter-spacing:.01em;
}
.ecs-v290 .ecs-results-popular a{
  min-height:34px;
  padding:8px 9px;
  color:#4b545d;
  font-size:13.5px;
  line-height:1.1;
  font-weight:700;
}
.ecs-v290 .ecs-results-popular a span{
  color:#7e8891;
  font-size:11.5px;
  font-weight:700;
}
.ecs-v290 .ecs-results-popular a:hover{
  color:#2f3941;
}
.ecs-v290 .ecs-results-popular a.is-current{
  color:#2f3941;
  background:#f4f6f7;
  border-color:#d8dee3;
}
@media(max-width:1180px) and (min-width:1001px){
  .ecs-v290 .ecs-results-popular a{
    font-size:13px;
    padding:8px;
  }
}
@media(max-width:620px){
  .ecs-v290 .ecs-results-popular a{
    font-size:13px;
    min-height:32px;
    padding:7px 8px;
  }
  .ecs-v290 .ecs-results-popular a span{
    font-size:11px;
  }
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.22
   Popular shortcut text larger + softer
   ========================================================= */
.ecs-v290 .ecs-results-popular__label{
  color:#9098a1;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
}
.ecs-v290 .ecs-results-popular a{
  min-height:36px;
  padding:9px 10px;
  color:#59636d;
  font-size:15px;
  line-height:1.12;
  font-weight:600;
}
.ecs-v290 .ecs-results-popular a span{
  color:#8a949d;
  font-size:12px;
  font-weight:700;
}
.ecs-v290 .ecs-results-popular a:hover,
.ecs-v290 .ecs-results-popular a:focus{
  color:#3f4952;
}
.ecs-v290 .ecs-results-popular a.is-current{
  color:#3b444c;
  background:#f5f7f8;
  border-color:#d7dde2;
}
@media(max-width:1180px) and (min-width:1001px){
  .ecs-v290 .ecs-results-popular a{
    font-size:14.5px;
    padding:8px 9px;
  }
}
@media(max-width:620px){
  .ecs-v290 .ecs-results-popular a{
    font-size:14px;
    min-height:34px;
    padding:8px 9px;
  }
  .ecs-v290 .ecs-results-popular a span{
    font-size:11.5px;
  }
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.23
   Popular shortcuts match filter typography
   ========================================================= */

/* Match the visual language of the real checkbox filter:
   larger, regular-weight, softer charcoal. */
.ecs-v290 .ecs-results-popular__label{
  color:#8a949d!important;
  font-size:12.5px!important;
  font-weight:500!important;
  letter-spacing:0!important;
}

.ecs-v290 .ecs-results-popular a{
  min-height:39px!important;
  padding:9px 11px!important;
  color:#4b545d!important;
  font-family:Roboto,"Helvetica Neue",Arial,sans-serif!important;
  font-size:15.5px!important;
  line-height:1.2!important;
  font-weight:400!important;
  letter-spacing:0!important;
}

.ecs-v290 .ecs-results-popular a span{
  color:#87919a!important;
  font-size:12.5px!important;
  font-weight:400!important;
}

.ecs-v290 .ecs-results-popular a:hover,
.ecs-v290 .ecs-results-popular a:focus{
  color:#303940!important;
  background:#f8f9fa!important;
}

.ecs-v290 .ecs-results-popular a.is-current{
  color:#3d474f!important;
  font-weight:500!important;
  background:#f4f6f7!important;
  border-color:#d9dfe3!important;
  box-shadow:none!important;
}

@media(max-width:1180px) and (min-width:1001px){
  .ecs-v290 .ecs-results-popular a{
    font-size:15px!important;
    padding:9px 10px!important;
  }
}

@media(max-width:620px){
  .ecs-v290 .ecs-results-popular__label{
    font-size:12px!important;
  }
  .ecs-v290 .ecs-results-popular a{
    min-height:36px!important;
    padding:8px 9px!important;
    font-size:14px!important;
  }
  .ecs-v290 .ecs-results-popular a span{
    font-size:11.5px!important;
  }
}


/* =========================================================
   EcoSapa Cruise Pages v2.23.26
   Find-your-fit card interaction repair
   ========================================================= */

.ecs-v130 a.ecs-need-card,
.ecs-v290 a.ecs-need-card{
  color:inherit!important;
  text-decoration:none!important;
}

.ecs-v130 a.ecs-need-card:hover,
.ecs-v130 a.ecs-need-card:focus,
.ecs-v290 a.ecs-need-card:hover,
.ecs-v290 a.ecs-need-card:focus{
  color:inherit!important;
  text-decoration:none!important;
}

.ecs-v290 .ecs-cruise.is-conv-target{
  animation:ecosapa-conv-target 1.15s ease;
}

@keyframes ecosapa-conv-target{
  0%{box-shadow:0 0 0 0 rgba(237,28,36,0)}
  38%{box-shadow:0 0 0 4px rgba(237,28,36,.13),0 12px 30px rgba(20,42,34,.08)}
  100%{box-shadow:0 0 0 0 rgba(237,28,36,0)}
}
