/* Own cruise offer cards. All rules stay on the cruise page. */
#cruise-results{container:cruise-results / inline-size;min-width:0;scroll-margin-top:135px}
#cruise-results [hidden]{display:none!important}
#cruise-results-heading:focus{outline:none}
#cruise-status{font-size:15px;line-height:1.6;margin:16px 0;padding:18px;background:#f5f8fb;border-radius:12px;color:#3e5d73}
#cruise-status.cc-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#cruise-offers{display:grid;gap:18px;margin-top:16px}
.cc-offer{border:1px solid #d5e2ec;border-radius:16px;overflow:hidden;background:#fff;box-shadow:0 3px 12px #12395709;min-width:0}
.cc-offer-title{margin:0;padding:16px 18px;background:#eaf2f9;color:#0769b2;font-size:20px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}
.cc-offer-body{display:grid;grid-template-columns:minmax(145px,34%) minmax(0,1fr);gap:18px;padding:18px}
.cc-offer-media{min-width:0}.cc-offer-image{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;background:#eff5fa;display:block}
.cc-offer-info{min-width:0}.cc-offer-description{font-size:15px;font-weight:600;line-height:1.5;color:#294c67;margin:0 0 14px}
.cc-date-label{display:block;font-size:13px;font-weight:700;color:#48677d;margin-bottom:7px}
.cc-offer-dates{width:100%;min-width:0;height:44px;border:1px solid #cbd8e2;border-radius:8px;padding:8px 10px;color:#27465f;background:#f8fafc;font:inherit;font-size:14px;text-overflow:ellipsis}
.cc-offer-route{font-size:13px;line-height:1.6;color:#587084;margin:12px 0 0;overflow-wrap:anywhere}
.cc-cabins{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0 18px 18px}
.cc-cabins>div{padding:10px 8px;background:#f5f7f9;border-radius:8px;min-width:0}.cc-cabins dt{font-size:12px;color:#587084;margin:0 0 5px}.cc-cabins dd{font-size:13px;font-weight:600;color:#294c67;margin:0;line-height:1.4}
.cc-offer-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;border-top:1px solid #e0eaf2;background:#fbfdff}
.cc-offer-price{margin:0;color:#48677d;font-size:13px;line-height:1.5}.cc-offer-price strong{display:inline-block;font-size:27px;line-height:1.2;color:#113e60;white-space:nowrap}.cc-offer-price span:last-child{display:block}
.cc-offer-link{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:11px 18px;border-radius:9px;background:#0868b8;color:#fff!important;text-decoration:none;font-size:15px;font-weight:700;text-align:center}
.cc-offer-link:hover{background:#00519e}
#cruise-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:22px 0 12px;padding-top:18px;border-top:1px solid #dce6ee}
#cruise-pages button,#cruise-retry,.cc-adjust{min-height:44px;border:1px solid #cbd8e2;border-radius:8px;background:#fff;color:#0868b8;font:inherit;font-size:14px;padding:9px 12px;cursor:pointer}
#cruise-pages button:disabled{opacity:.45;cursor:default}.cc-page-label{font-size:13px;color:#48677d;white-space:nowrap}.cc-page-label select{font:inherit;padding:8px;border:1px solid #cbd8e2;border-radius:7px;min-height:44px;color:#294c67;background:white}
#cruise-results :is(a,button,select):focus-visible{outline:2px solid #1683c9;outline-offset:3px}
#cruise-search-form .cc-sort{padding:14px 16px;background:#f5f7f9;border-radius:12px;margin-bottom:8px}
.cc-price-note{font-size:12px;line-height:1.6;color:#587084;margin:16px 0 0}
@container cruise-results (max-width:580px){.cc-offer-body{grid-template-columns:1fr}.cc-offer-image{aspect-ratio:16/9;max-height:250px}.cc-cabins{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container cruise-results (max-width:370px){.cc-offer-title{font-size:18px;padding:14px}.cc-offer-body{padding:14px;gap:14px}.cc-cabins{padding:0 14px 14px}.cc-offer-footer{align-items:stretch;flex-direction:column;padding:14px}.cc-offer-price span:last-child{display:inline}.cc-offer-price strong{font-size:25px}#cruise-pages{justify-content:center}.cc-page-label{order:-1;width:100%;text-align:center}}
@media(max-width:980px){#cruise-results{scroll-margin-top:85px}}

/* Original offer and booking flow is loaded only after selecting an offer. */
.cc-offer-link{border:0;cursor:pointer;font-family:inherit}
.cc-cabins>div{padding:10px 8px 4px}
.cc-cabin-choice{border:0;background:none;padding:0 0 8px;font:inherit;color:#0868b8;font-weight:600;text-align:left;cursor:pointer;min-height:34px;width:100%}
.cc-cabin-choice:not(:disabled):hover{text-decoration:underline;text-underline-offset:3px}.cc-cabin-choice:disabled{cursor:default;color:#587084}
.cc-booking{min-width:0;scroll-margin-top:135px}
.cruise-search-page .ro-search-grid.cc-booking-mode{grid-template-columns:minmax(0,1fr)}
.cc-booking-mode>.cc-search-column[hidden]{display:none}
#cruise-booking-retry{min-height:44px;padding:9px 12px;border:1px solid #c5d6e4;border-radius:8px;color:#0868b8;background:white;font:inherit;font-weight:600;cursor:pointer}
#cruise-booking-title{font-size:21px;line-height:1.4;color:#075d9e;margin:0 0 16px;overflow-wrap:anywhere}
#cruise-booking-title:focus{outline:none}
#cruise-booking-status{background:#f5f8fb;border-radius:10px;padding:14px;font-size:14px;color:#48677d;line-height:1.5}
#cruise-booking-frame{display:block;width:100%;border:0;min-height:400px;background:#fff}
@media(max-width:980px){.cc-booking{scroll-margin-top:85px}}
@container cruise-results (max-width:580px){#cruise-booking-title{font-size:19px}}

/* Round the outer embed only. Provider tariff cards remain in their own origin. */
#cruise-booking-mount{border:1px solid #d5e2ec;border-radius:16px;overflow:clip;background:#fff}
#cruise-booking-frame{border-radius:inherit}
