/* Fleet edition. The original theme's navy, ivory and brass carry through both views. */
.cqe-calendar { --paper: #faf8f2; --naval: #142b36; --brass: #b09358; background: var(--paper); }
.cqe-calendar h1, .cqe-calendar h2, .cqe-calendar h3 { letter-spacing: -.025em; }
.cqe-calendar :is(a, button, input, select, summary):focus-visible { outline: 3px solid #a86e20; outline-offset: 4px; }
.cqe-calendar :is(section, article, h2)[id] { scroll-margin-top: 90px; }
.cqe-fleet-hero { display: grid; grid-template-columns: minmax(0, 45fr) minmax(0, 55fr); background: #eee9dd; border-bottom: 1px solid #c4b895; }
.cqe-fleet-intro { padding: clamp(40px, 6vw, 94px) clamp(24px, 5vw, 85px); align-self: center; }
.cqe-fleet-intro .cqe-eyebrow { color: #77591e; margin-bottom: 20px; }
.cqe-fleet-intro h1 { font: 400 clamp(48px, 5.4vw, 86px)/.99 Georgia, serif; letter-spacing: -.048em; color: #142b36; margin: 0 0 22px; }
.cqe-fleet-intro h1 em { display: block; font-weight: 400; }
.cqe-fleet-intro > p:not(.cqe-eyebrow) { color: #3e5154; font: 400 17px/1.65 Arial, sans-serif; max-width: 35em; }
.cqe-hero-links { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 22px; margin-top: 24px; }
.cqe-hero-links a { color: #26414a; font-weight: 700; font-size: 14px; }
.cqe-hero-links a:first-child, .cqe-filters button { color: white; background: #15333e; border: 1px solid #15333e; border-radius: 3px; padding: 11px 18px; }
.cqe-hero-links a:first-child:hover, .cqe-filters button:hover { color: white; background: #264d59; }
.cqe-fleet-hero figure { position: relative; margin: 0; min-height: 315px; }
.cqe-fleet-hero figure img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 48% 54%; }
.cqe-fleet-hero figcaption { position: absolute; bottom: 17px; right: 20px; padding: 4px 10px; background: #142631d9; color: white; font-size: 12px; }
.cqe-fleet-section { padding-top: clamp(35px, 4vw, 68px); padding-bottom: clamp(28px, 3vw, 52px); }
.cqe-fleet-section > h2, .cqe-finder > h2 { font: 400 clamp(32px, 3.2vw, 46px)/1.15 Georgia, serif; color: #16313e; margin: 0 0 22px; }
.cqe-vessels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 22px); }
.cqe-vessels .cqe-fleet-card { margin: 0; padding: 0; overflow: hidden; background: #fffefb; border: 1px solid #d7d2c5; border-radius: 4px; }
.cqe-fleet-card .cqe-ship-photo { width: 100%; aspect-ratio: 1.68; object-fit: cover; }
.cqe-vessel-body { padding: 18px 16px 16px; }
.cqe-vessel-body h3 { font: 400 clamp(21px, 1.7vw, 27px)/1.2 Georgia, serif; color: #162c36; }
.cqe-vessel-body p { margin: 7px 0 16px; min-height: 3.2em; font-size: 13px; line-height: 1.6; color: #475856; }
.cqe-vessel-body nav { display: flex; flex-wrap: wrap; gap: 6px; }
.cqe-vessel-body nav a { flex: 1 0 35px; text-align: center; font-size: 12px; padding: 7px 3px; border: 1px solid #c7c1ac; color: #213c42; border-radius: 2px; }
.cqe-vessel-body nav a:hover { background: #193943; color: white; }
.cqe-vessel-body .cqe-guide-link { display: inline-block; font-size: 12px; margin-top: 13px; text-decoration: underline; color: #58615c; }
.cqe-finder { padding-top: 22px; padding-bottom: 54px; }
.cqe-filters { display: grid; grid-template-columns: 1.25fr .72fr .83fr 1.6fr auto; align-items: end; gap: 13px; padding: 22px; background: #eaece4; border-top: 2px solid #b69b61; border-radius: 3px; }
.cqe-filters label { display: grid; min-width: 0; gap: 5px; font-size: 12px; font-weight: 700; color: #263d42; }
.cqe-filters select, .cqe-filters input, .cqe-filters button { min-height: 45px; width: 100%; font: 400 14px/1.4 Arial,sans-serif; }
.cqe-filters select, .cqe-filters input { min-width: 0; border: 1px solid #a7b4ad; border-radius: 3px; padding: 8px 11px; color: #22383d; background: white; }
.cqe-filters button { cursor: pointer; font-weight: 700; }
.cqe-results-line { margin: 18px 0 12px; color: #3e5359; font-size: 14px; }
.cqe-results-line a { margin-left: 12px; text-decoration: underline; }
.cqe-departure-list { background: #fffefa; border-top: 1px solid #cdcbbf; }
.cqe-departure { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 22px; align-items: center; padding: 18px 22px; border-bottom: 1px solid #d9dacd; }
.cqe-departure time { display: grid; gap: 2px; text-align: center; border-right: 1px solid #d2cdbf; padding-right: 17px; color: #795a28; font-size: 12px; }
.cqe-departure time strong { font: 400 35px/1 Georgia,serif; }
.cqe-departure h3 { font: 400 clamp(18px, 1.55vw, 23px)/1.3 Georgia,serif; color: #1b343d; margin: 3px 0; }
.cqe-departure p { margin: 0; color: #485b5b; font-size: 13px; }
.cqe-departure p.cqe-departure-ship { color: #715725; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.cqe-departure-actions { display: grid; gap: 4px; text-align: right; }
.cqe-departure-actions a, .cqe-exact-link { color: #783343; text-decoration: underline; font-size: 13px; }
.cqe-pagination { display: flex; justify-content: center; align-items: center; gap: 18px; margin: 24px 0; font-size: 14px; }
.cqe-pagination a { border: 1px solid #b7b8a9; padding: 6px 13px; border-radius: 3px; color: #1b3a42; }
.cqe-edition { margin: 22px 0 0; font-size: 12px; color: #596566; }
.cqe-edition a { text-decoration: underline; }
.cqe-ship-hero { isolation: isolate; background: #122a37; }
.cqe-ship-hero .cqe-ship-photo { position: absolute; inset: 0 0 0 auto; width: 62%; height: 100%; object-fit: cover; object-position: 50% 57%; z-index: -2; }
.cqe-ship-hero::after { border: none; border-radius: 0; box-shadow: none; inset: 0; width: 100%; height: 100%; z-index: -1; background: linear-gradient(90deg,#122a37 26%,#122a37f5 41%,#122a37ad 55%,#122a3712 83%); }
.cqe-ship-hero .cqe-intro { max-width: min(49vw, 530px); color: #f2f4f0; }
.cqe-ship-hero .cqe-stats { width: fit-content; padding-top: 18px; }
.cqe-ship-hero .cqe-title { font-size: clamp(40px, 4.8vw, 70px); }
.cqe-ship-hero .cqe-shell { padding-block: clamp(29px, 4vw, 65px); }
.cqe-record-label { font-size: 11px; text-transform: uppercase; letter-spacing: .07em; font-weight: 700; margin-bottom: 4px; color: #735b30; }
.cqe-unavailable { padding-block: 42px; }
.cqe-finder[aria-busy=true] .cqe-departure-list { opacity: .65; }
.cqe-journal { padding-block: 40px; }
.cqe-journal article { padding-block: 12px; }
@media (max-width: 1000px) {
  .cqe-vessels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cqe-filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cqe-filters label:nth-last-child(2) { grid-column: span 2; }
}
@media (max-width: 740px) {
  .cqe-fleet-hero { grid-template-columns: 1fr; }
  .cqe-fleet-intro { padding: 32px 24px 27px; }
  .cqe-fleet-hero figure { min-height: 0; height: clamp(170px, 36vw, 265px); }
  .cqe-fleet-intro h1 { font-size: clamp(44px, 8vw, 61px); }
  .cqe-ship-hero .cqe-ship-photo { width: 100%; }
  .cqe-ship-hero::after { background: linear-gradient(90deg,#102936ee,#102936df 50%,#102936bf); }
  .cqe-ship-hero .cqe-intro { max-width: 42ch; }
  .cqe-ship-hero .cqe-title span { margin-left: 4px; }
}
@media (max-width: 600px) {
  .cqe-vessels { grid-template-columns: minmax(0, 1fr); }
  .cqe-vessel-body p { min-height: 0; }
  .cqe-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 14px; }
  .cqe-filters label:first-of-type, .cqe-filters button, .cqe-filters label:nth-last-child(2) { grid-column: 1 / -1; }
  .cqe-departure { grid-template-columns: 53px minmax(0, 1fr); gap: 10px; padding: 16px 12px; }
  .cqe-departure time { padding-right: 8px; }
  .cqe-departure-actions { grid-column: 2; text-align: left; display: flex; gap: 15px; flex-wrap: wrap; }
  .cqe-results-line span { display: inline-block; }
  .cqe-ship-hero .cqe-stat { margin-right: 14px; padding-right: 14px; }
}
