
/* CruiseWeave Essentials. Intentionally scoped to the existing essentials page. */
.cr-pagehead:has(+ .cr-pagebody .cw-essentials){background:linear-gradient(112deg,#052742 0%,#0a4564 60%,#075c74 100%);color:white;padding:56px max(24px,calc((100vw - 1150px)/2));margin:0}
.cr-pagehead:has(+ .cr-pagebody .cw-essentials) h1{font-size:clamp(34px,4.4vw,56px);letter-spacing:-1.8px;line-height:1.07;max-width:760px;margin:14px 0}
.cr-pagehead:has(+ .cr-pagebody .cw-essentials) p{font-size:17px;line-height:1.55;color:#d1e7ef;max-width:690px;margin:0}
.cw-essentials{--cw-ink:#123047;--cw-muted:#617589;--cw-line:#dfe9ef;--cw-blue:#0966e5;--cw-teal:#087a88;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--cw-ink);max-width:1150px;margin:0 auto;padding:32px 24px 78px}
.cw-essentials *{box-sizing:border-box}
.cw-essentials a{color:inherit;text-decoration:none}
.cw-e-eyebrow{display:inline-flex;gap:8px;align-items:center;font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;color:#70dbf2}
.cw-e-intro{display:flex;flex-wrap:wrap;gap:20px;align-items:stretch;justify-content:space-between;margin-bottom:29px}
.cw-e-intro-copy{flex:1;min-width:245px;padding-top:8px}
.cw-e-intro h2{margin:0 0 9px;font-size:clamp(22px,2.6vw,31px);letter-spacing:-.9px}
.cw-e-intro p{margin:0;color:var(--cw-muted);font-size:14px;line-height:1.65;max-width:680px}
.cw-e-rule{flex:0 1 360px;background:#eff8fb;border:1px solid #cdeaf0;border-radius:15px;padding:20px}
.cw-e-rule strong{display:flex;align-items:center;gap:10px;color:#0a5867;font-size:15px;margin-bottom:7px}
.cw-e-rule p{font-size:13px;color:#3c6270;line-height:1.55;margin:0}
.cw-e-rule a{display:inline-block;color:#055e84;text-decoration:underline;text-underline-offset:3px;font-weight:750;margin-top:9px;font-size:12px}
.cw-e-affiliate{display:flex;gap:13px;align-items:flex-start;padding:17px 20px;background:#fff;border:1px solid var(--cw-line);border-radius:14px;color:#4e6779;font-size:12px;line-height:1.65;margin:0 0 29px}
.cw-e-affiliate strong{display:block;color:var(--cw-ink);font-size:13px;margin-bottom:3px}
.cw-e-affiliate p{margin:0}
.cw-e-tools{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;margin:0 0 18px}
.cw-e-filters{display:flex;flex-wrap:wrap;gap:8px}
.cw-e-filter{background:white;border:1px solid #d6e3eb;border-radius:999px;padding:10px 16px;color:#38546a;font-size:12px;font-weight:750;cursor:pointer;transition:.16s ease}
.cw-e-filter:hover{border-color:#73b2e5;color:#0966e5}
.cw-e-filter[aria-pressed=true]{background:#083a61;color:#fff;border-color:#083a61;box-shadow:0 2px 8px #092f4e16}
.cw-e-search{position:relative;display:flex;align-items:center;background:#fff;border:1px solid #d6e3eb;border-radius:11px;padding:0 12px;gap:8px;min-width:210px;max-width:330px;flex:1}
.cw-e-search svg{flex:0 0 auto;color:#647f91}
.cw-e-search input{display:block;width:100%;height:43px;border:0;outline:0;color:var(--cw-ink);background:transparent;font-size:13px}
.cw-e-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 19px;font-size:12px;color:#6d7d8c}
.cw-e-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}
.cw-e-card{background:white;border:1px solid var(--cw-line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-width:0;box-shadow:0 5px 15px rgba(7,34,58,.035);transition:transform .2s ease,box-shadow .2s ease}
.cw-e-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(7,34,58,.09)}
.cw-e-card[hidden]{display:none!important}
.cw-e-visual{height:119px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(125deg,#e6f3ff,#f2f9ff)}
.cw-e-visual:before,.cw-e-visual:after{content:'';position:absolute;border:1px solid #fff9;border-radius:50%;width:180px;height:180px;right:-70px;top:-100px}
.cw-e-visual:after{width:110px;height:110px;left:-40px;right:auto;top:auto;bottom:-70px}
.cw-e-card[data-category=packing] .cw-e-visual{background:linear-gradient(135deg,#e6efff,#edf5fd)}
.cw-e-card[data-category=cabin] .cw-e-visual{background:linear-gradient(135deg,#ddf5f3,#e8f6f9)}
.cw-e-card[data-category=shore] .cw-e-visual{background:linear-gradient(135deg,#fff1d8,#fff7ea)}
.cw-e-card[data-category=comfort] .cw-e-visual{background:linear-gradient(135deg,#f1eafa,#eef3ff)}
.cw-e-visual svg{position:relative;z-index:1;width:61px;height:61px;stroke:#256594;stroke-width:1.45;fill:none;stroke-linecap:round;stroke-linejoin:round}
.cw-e-card[data-category=cabin] .cw-e-visual svg{stroke:#157986}
.cw-e-card[data-category=shore] .cw-e-visual svg{stroke:#b1772d}
.cw-e-card[data-category=comfort] .cw-e-visual svg{stroke:#7062aa}
.cw-e-body{display:flex;flex:1;flex-direction:column;padding:17px}
.cw-e-category{font-size:10px;text-transform:uppercase;letter-spacing:.1em;font-weight:850;color:#668196}
.cw-e-card h3{font-size:16px;letter-spacing:-.45px;line-height:1.25;margin:8px 0 8px}
.cw-e-card p{font-size:12px;line-height:1.62;color:#647687;margin:0 0 12px}
.cw-e-tip{margin-top:auto;border-top:1px solid #edf1f5;padding-top:10px;color:#405e70;font-size:11px;line-height:1.5}
.cw-e-tip strong{color:#0f5678}
.cw-e-buy{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:15px;background:var(--cw-blue);color:#fff!important;padding:11px 12px;border-radius:9px;font-weight:800;font-size:12px;min-height:42px}
.cw-e-buy:hover{background:#0053c0}
.cw-e-paid{margin-top:7px;text-align:center;font-size:10px;color:#8593a1}
.cw-e-empty{background:#fff;border:1px dashed #d2e1eb;border-radius:15px;padding:35px;text-align:center;color:#5b7184;margin-top:18px}
.cw-e-bottom{margin-top:36px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cw-e-guide{padding:25px;background:#f5f9fc;border:1px solid #e1ebf1;border-radius:16px}
.cw-e-guide h2{margin:0 0 11px;font-size:20px;letter-spacing:-.5px}
.cw-e-guide p,.cw-e-guide li{font-size:13px;line-height:1.75;color:#526f82}
.cw-e-guide ul{padding-left:18px;margin:9px 0 0}
.cw-e-guide p{margin:7px 0 0}
.cw-e-guide a{color:#056ab0;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.cw-e-safety-links{display:flex;flex-wrap:wrap;gap:13px;margin-top:12px}
.cw-e-safety-links a{font-size:12px}
.cw-e-credit{font-size:12px;color:#768b9d;margin:23px 0 0;text-align:center;line-height:1.65}
.cw-e-sprite{position:absolute;width:0;height:0;overflow:hidden}
@media(max-width:1000px){.cw-e-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.cr-pagehead:has(+ .cr-pagebody .cw-essentials){padding:40px 20px}.cw-essentials{padding:24px 16px 50px}.cw-e-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cw-e-bottom{grid-template-columns:1fr}.cw-e-card h3{font-size:15px}.cw-e-body{padding:13px}.cw-e-search{min-width:100%;max-width:none}.cw-e-rule{flex-basis:100%}}
@media(max-width:430px){.cw-e-grid{grid-template-columns:1fr}.cw-e-visual{height:130px}.cw-e-filters{gap:7px}.cw-e-filter{padding:9px 12px}.cw-e-card{display:grid;grid-template-columns:110px 1fr}.cw-e-card .cw-e-visual{height:100%;min-height:210px}.cw-e-card .cw-e-visual svg{width:48px;height:48px}.cw-e-card .cw-e-body{min-width:0}}
@media(prefers-reduced-motion:reduce){.cw-e-card,.cw-e-filter{transition:none}}

/* This older page still contains a hidden prototype shell after its real nav.
   Hide the duplicate header and footer only on the Essentials page. */
body:has(.cw-essentials)>header.top,
body:has(.cw-essentials)>footer.footer {display:none!important}
body:has(.cw-essentials)>.cr-pagebody {margin-top:0;margin-bottom:0;max-width:none;padding:0}
body:has(.cw-essentials) .cw-essentials {max-width:1150px}
