/* Regent annual calendars: scoped to preserve the rest of the original theme. */
.rwc-calendar { --rwc-ink:#17283c; --rwc-muted:#57616b; --rwc-gold:#8a6a2d; --rwc-line:#dfddd5; background:#f7f5ef; color:var(--rwc-ink); padding-top:100px; font-family:Arial,Helvetica,sans-serif; font-size:15px; line-height:1.6; }
.rwc-calendar *, .rwc-calendar *::before, .rwc-calendar *::after { box-sizing:border-box; }
.rwc-calendar [hidden] { display:none!important; }
.rwc-calendar a, .rwc-calendar button, .rwc-calendar select, .rwc-calendar input, .rwc-calendar summary { -webkit-tap-highlight-color:transparent; }
.rwc-calendar :focus-visible { outline:3px solid #ac7920; outline-offset:4px; }
.rwc-calendar h1,.rwc-calendar h2,.rwc-calendar h3 { font-family:'Playfair Display',Georgia,serif; color:var(--rwc-ink); }
.rwc-calendar p { font-family:inherit; color:var(--rwc-muted); font-size:14px; line-height:1.7; }
.rwc-calendar strong { color:inherit; }
.rwc-shell { width:min(1200px,100% - 72px); margin-inline:auto; }
.rwc-hero { position:relative; overflow:hidden; background:#0a1628; color:#f8f4ed; padding:62px 0 55px; border-bottom:3px solid #b49859; }
.rwc-hero-image { position:absolute; inset:0 0 0 auto; width:56%; height:100%; object-fit:cover; opacity:.46; }
.rwc-hero::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,#0a1628 20%,rgba(10,22,40,.84) 49%,rgba(10,22,40,.2)); pointer-events:none; }
.rwc-hero>.rwc-shell { position:relative; z-index:1; }
.rwc-eyebrow { display:block; color:#dac18a!important; font:500 10px/1.5 'Montserrat',Arial,sans-serif!important; text-transform:uppercase; letter-spacing:.22em; margin:0 0 18px; }
.rwc-hero h1 { color:#fffaf0; font-weight:400; font-size:clamp(32px,4.1vw,57px); line-height:1.16; max-width:800px; margin:0 0 21px; letter-spacing:-.025em; }
.rwc-hero h1 span { color:#e0cba0; }
.rwc-hero .rwc-lead { color:#e3e5e6; font-size:16px; line-height:1.8; max-width:610px; margin-bottom:16px; }
.rwc-hero .rwc-source-note { color:#c2c9d0; font-size:12px; max-width:680px; }
.rwc-source-note a, .rwc-calendar .rwc-notice a, .rwc-source-footer a { text-decoration:underline; text-underline-offset:3px; }
.rwc-stats { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--rwc-line); padding:28px 0; margin:0 0 34px; gap:24px; }
.rwc-stat { padding-right:20px; border-right:1px solid var(--rwc-line); }
.rwc-stat:last-child { border:0; }
.rwc-stat strong { display:block; font:400 31px/1.25 'Playfair Display',Georgia,serif; color:var(--rwc-ink); }
.rwc-stat span, .rwc-stat small { display:block; color:var(--rwc-muted); font-size:11px; letter-spacing:.035em; margin-top:6px; }
.rwc-controls { display:flex; gap:22px; align-items:flex-end; flex-wrap:wrap; padding:0 0 22px; }
.rwc-controls label, .rwc-search label { display:block; font-size:11px; color:#344455; font-weight:700; letter-spacing:.06em; margin:0 0 7px; }
.rwc-controls select { border:1px solid #bfc2bd; border-radius:3px; background:#fffefa; color:var(--rwc-ink); font:14px Arial,sans-serif; min-height:46px; max-width:100%; padding:10px 36px 10px 14px; }
.rwc-controls form { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; }
.rwc-year-nav { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-bottom:26px; }
.rwc-year-nav a { padding:9px 19px; border:1px solid #d6d5cc; color:#405160; border-radius:2px; font-size:13px; min-height:42px; display:inline-flex; align-items:center; }
.rwc-year-nav a:hover { border-color:var(--rwc-gold); color:#56421b; }
.rwc-year-nav a[aria-current] { background:#182c41; border-color:#182c41; color:#fff; }
.rwc-search { padding:23px 26px; background:#eeece4; border:1px solid #e2dfd4; margin:0 0 23px; border-radius:3px; }
.rwc-search input { min-height:48px; width:calc(100% - 142px); background:#fffefa; border:1px solid #b5bab8; padding:12px 16px; border-radius:2px; font:15px Arial,sans-serif; color:var(--rwc-ink); }
.rwc-search button, .rwc-controls button, #rwc-no-results button { border:1px solid #a79b7e; background:transparent; border-radius:2px; padding:11px 15px; color:#384655; min-height:47px; font:12px Arial,sans-serif; cursor:pointer; margin-left:9px; }
.rwc-search button:hover, .rwc-controls button:hover { background:#fffefa; }
#rwc-results { margin-top:9px; font-size:12px; color:#535e64; }
.rwc-month-nav { display:flex; flex-wrap:wrap; gap:7px; padding:0 0 24px; border-bottom:1px solid var(--rwc-line); margin-bottom:27px; }
.rwc-month-nav a { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:39px; padding:7px 11px; font-size:11px; border:1px solid #dedcd3; background:#fffefa; border-radius:2px; color:#46515c; }
.rwc-month-nav a:hover { background:#e8e2d2; border-color:#b9a376; }
.rwc-month-nav a span { color:#6e715f; font-size:10px; }
.rwc-month { scroll-margin-top:125px; padding-bottom:24px; }
.rwc-month-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:8px 0 14px; }
.rwc-month-heading h2 { font-size:26px; font-weight:400; }
.rwc-month-heading span { font:11px Arial,sans-serif; color:#68716f; }
.rwc-sailing { background:#fffefa; border:1px solid #dedcd3; border-left:3px solid #b79854; margin-bottom:12px; border-radius:2px; box-shadow:0 2px 4px rgba(21,37,50,.025); }
.rwc-sailing-summary { display:grid; grid-template-columns:82px minmax(0,1fr) 95px 125px; align-items:center; gap:22px; padding:23px 27px 18px; }
.rwc-departure { display:block; padding-right:20px; border-right:1px solid #e5e1d8; color:#263b4d; text-align:center; font:500 13px/1.3 Arial,sans-serif; }
.rwc-departure span, .rwc-departure strong { display:block; font:400 31px/1.1 'Playfair Display',Georgia,serif; color:#253d51; }
.rwc-departure small { display:block; margin-top:6px; text-transform:uppercase; letter-spacing:.08em; font-size:10px; }
.rwc-route { font-size:21px; line-height:1.45!important; font-weight:400; overflow-wrap:anywhere; }
.rwc-route a:hover { color:#8a6a2d; text-decoration:underline; text-underline-offset:4px; }
.rwc-date-range { display:block; color:#66706f; font-size:11px; margin-top:5px; }
.rwc-duration, .rwc-voyage { font-size:12px; color:#35495a; line-height:1.5; }
.rwc-duration strong,.rwc-voyage strong { display:block; font-size:14px; font-weight:500; }
.rwc-duration span,.rwc-voyage span,.rwc-duration small,.rwc-voyage small { display:block; font-size:10px; color:#677170; margin-bottom:3px; }
.rwc-sailing-actions { padding:0 27px 0 131px; }
.rwc-sailing-actions>a { display:inline-block; color:#826226; font-size:11px; margin:0 0 13px; text-decoration:underline; text-underline-offset:4px; padding:3px 0; }
.rwc-itinerary { border-top:1px solid #e8e4dc; }
.rwc-itinerary>summary { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 0; color:#384f61; font-size:12px; font-weight:600; cursor:pointer; list-style:none; }
.rwc-itinerary>summary::-webkit-details-marker { display:none; }
.rwc-itinerary>summary::after { content:'+'; font-size:23px; font-weight:400; color:#8a6a2d; line-height:1; }
.rwc-itinerary[open]>summary::after { content:'−'; }
.rwc-itinerary>summary:hover { color:#8a6a2d; }
.rwc-itinerary .rwc-notice { margin:0 0 12px; }
.rwc-table-wrap { overflow:auto; margin:0 0 20px; max-width:100%; border:1px solid #dddcd3; }
.rwc-itinerary-table { width:100%; border-collapse:collapse; min-width:650px; font-size:12px; line-height:1.55; }
.rwc-itinerary-table caption { text-align:left; padding:12px; color:#50616c; font-size:11px; background:#f1efe6; }
.rwc-itinerary-table th { padding:11px 12px; text-align:left; font-weight:600; font-size:10px; color:#586068; letter-spacing:.04em; background:#eeece3; border-bottom:1px solid #dad8ce; }
.rwc-itinerary-table td { padding:12px; border-bottom:1px solid #ebe8de; color:#334755; vertical-align:top; }
.rwc-itinerary-table td:first-child { white-space:nowrap; }
.rwc-itinerary-table tr:nth-child(even) td { background:#faf9f3; }
.rwc-itinerary-table tr:last-child td { border-bottom:0; }
.rwc-itinerary-table td small { display:block; color:#696d61; }
.rwc-table-hint { margin-bottom:10px; font-size:11px!important; }
.rwc-notice { background:#efe9dc; border-left:3px solid #a2854e; padding:15px 18px; color:#57564b!important; font-size:12px!important; margin:0 0 24px; }
.rwc-sailing>.rwc-notice { margin:0 25px 18px; }
#rwc-no-results { text-align:center; padding:40px 20px; background:#fffefa; border:1px solid #dddcd3; margin:20px 0 40px; }
#rwc-no-results h2 { font-size:27px; margin-bottom:12px; }
.rwc-source-footer { border-top:1px solid var(--rwc-line); padding:26px 0 45px; margin-top:10px; }
.rwc-source-footer p { font-size:12px; margin-bottom:8px; }
.rwc-source-footer a { color:#705726; }
.rwc-calendar .rwc-cta { background:#152b41; padding:34px; margin:10px 0 44px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.rwc-cta h2 { color:#fff7e7; font-size:27px; margin-bottom:9px; }
.rwc-cta p { color:#d1d7db; }
.rwc-cta a { color:#ebd6a4; border:1px solid #ac9562; padding:13px 20px; font-size:12px; white-space:nowrap; }
@media(min-width:1100px) { .rwc-search { display:grid; grid-template-columns:1fr; } }
@media(max-width:850px) {
 .rwc-shell { width:calc(100% - 40px); }
 .rwc-sailing-summary { grid-template-columns:66px minmax(0,1fr) 96px; gap:15px; padding:20px; }
 .rwc-voyage { grid-column:2 / -1; }
 .rwc-sailing-actions { padding:0 20px 0 101px; }
 .rwc-stats { gap:14px; }
 .rwc-stat strong { font-size:26px; }
}
@media(max-width:600px) {
 .rwc-calendar { padding-top:94px; }
 .rwc-shell { width:calc(100% - 32px); }
 .rwc-hero { padding:35px 0 30px; }
 .rwc-hero-image { width:100%; opacity:.23; }
 .rwc-hero::after { background:linear-gradient(90deg,rgba(10,22,40,.87),rgba(10,22,40,.35)); }
 .rwc-hero h1 { font-size:34px; max-width:440px; }
 .rwc-hero .rwc-lead { font-size:14px; }
 .rwc-eyebrow { font-size:9px!important; letter-spacing:.15em; }
 .rwc-stats { grid-template-columns:1fr 1fr; gap:21px 16px; padding:23px 0; margin-bottom:24px; }
 .rwc-stat:nth-child(2) { border:0; }
 .rwc-stat strong { font-size:27px; }
 .rwc-stat span { font-size:10px; }
 .rwc-controls { gap:13px; }
 .rwc-controls>div { min-width:0; flex:1 1 150px; }
 .rwc-controls select { width:100%; font-size:13px; }
 .rwc-year-nav { gap:6px; margin-bottom:18px; }
 .rwc-year-nav a { padding:8px 12px; font-size:12px; }
 .rwc-search { padding:16px; margin-bottom:18px; }
 .rwc-search input { width:100%; font-size:14px; }
 .rwc-search button { margin:10px 0 0; min-height:42px; }
 .rwc-month-nav { gap:6px; }
 .rwc-month-nav a { min-height:38px; padding:7px 9px; font-size:11px; }
 .rwc-month-heading h2 { font-size:24px; }
 .rwc-sailing-summary { grid-template-columns:48px minmax(0,1fr); gap:13px; padding:19px 15px 13px; }
 .rwc-departure { padding-right:10px; grid-row:1 / 3; align-self:start; }
 .rwc-departure span { font-size:27px; }
 .rwc-departure small { font-size:9px; }
 .rwc-route { font-size:19px; }
 .rwc-duration { grid-column:2; }
 .rwc-duration strong, .rwc-duration small, .rwc-duration span { display:inline; margin-right:7px; }
 .rwc-voyage { grid-column:2; margin-top:-7px; }
 .rwc-voyage strong, .rwc-voyage span, .rwc-voyage small { display:inline; margin-right:7px; }
 .rwc-sailing-actions { padding:0 15px; }
 .rwc-sailing-actions>a { min-height:34px; margin-bottom:3px; }
 .rwc-itinerary>summary { min-height:49px; font-size:11px; }
 .rwc-notice { padding:13px; }
 .rwc-sailing>.rwc-notice { margin-inline:15px; }
 .rwc-calendar .rwc-cta { flex-direction:column; align-items:flex-start; gap:17px; padding:24px; }
 .rwc-cta h2 { font-size:24px; }
 .rwc-cta a { white-space:normal; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .rwc-calendar * { transition:none!important; } }
@media print { .regent-header,.regent-footer,.rwc-controls,.rwc-year-nav,.rwc-search,.rwc-month-nav { display:none!important; } .rwc-calendar { padding-top:0; } .rwc-hero { background:white; padding:10px 0; } .rwc-hero-image,.rwc-hero::after { display:none; } .rwc-hero h1,.rwc-hero p { color:#111!important; } .rwc-shell { width:100%; } .rwc-sailing { break-inside:avoid; box-shadow:none; } }

/* Semantic definition lists and complete standalone itinerary disclosures. */
.rwc-calendar { padding-top:var(--rwc-header-height,100px); }
.rwc-month { scroll-margin-top:calc(var(--rwc-header-height,100px) + 20px); }
.rwc-hero { background-size:cover; background-position:center 48%; }
.rwc-hero .rwc-hero-lead { color:#e3e5e6; font-size:16px; line-height:1.8; max-width:620px; margin-bottom:16px; }
.rwc-stat { display:flex; flex-direction:column-reverse; justify-content:flex-end; }
.rwc-stat dt { color:var(--rwc-muted); font-size:11px; margin-top:6px; }
.rwc-stat dd { color:var(--rwc-ink); font:400 32px/1.2 'Playfair Display',Georgia,serif; }
.rwc-stat dd span { display:inline; font:13px Arial,sans-serif; }
.rwc-sailing-summary { grid-template-columns:82px minmax(0,1fr) 170px; }
.rwc-calendar .rwc-sailing-kicker { color:#8a6a2d; font-size:9px; letter-spacing:.1em; text-transform:uppercase; margin:0 0 4px; }
.rwc-sailing-meta { text-align:right; }
.rwc-sailing-meta>span { display:block; }
.rwc-sailing-meta .rwc-duration { font-size:16px; margin-bottom:4px; }
.rwc-sailing-meta .rwc-voyage { font-size:10px; color:#657073; }
.rwc-sailing>.rwc-itinerary { margin:0 27px 0 131px; }
.rwc-itinerary-status { margin-left:auto; font-size:10px; font-weight:400; color:#69746d; }
.rwc-expand-icon { display:none; }
.rwc-availability-note { border-left:2px solid #b49859; padding:2px 0 2px 17px; margin:0 0 25px; }
.rwc-availability-note strong { font-size:12px; }
.rwc-availability-note p { margin-top:5px; font-size:11px; }
.rwc-sailing-note { padding:12px 16px; margin:0 27px 16px 131px; background:#f3eee2; border-left:2px solid #b09a65; }
.rwc-sailing-note p { font-size:11px; }
.rwc-calendar .rwc-table-help { font-size:11px; margin-bottom:10px; }
.rwc-calendar #rwc-search-help { font-size:11px; margin-top:7px; }
.rwc-results { padding-bottom:14px; }
.rwc-itinerary-table tbody th { font-size:11px; font-weight:400; background:transparent; white-space:nowrap; border-bottom:1px solid #ebe8de; letter-spacing:0; }
.rwc-itinerary-table tbody tr:nth-child(even) th { background:#faf9f3; }
.rwc-source-footer h2 { font-size:23px; margin-bottom:13px; }
.rwc-empty { background:#fffefa; padding:35px; margin:0 0 35px; border:1px solid #e1ded3; }
.rwc-empty h2 { font-size:28px; margin-bottom:20px; }
.rwc-empty p { margin-bottom:15px; }
.rwc-contact-link { display:inline-block; border:1px solid #9e874e; padding:11px 15px; font-size:12px; }
.rwc-noscript-nav a { display:inline-block; padding:8px; text-decoration:underline; }
@media(max-width:850px) {
 .rwc-sailing-summary { grid-template-columns:66px minmax(0,1fr) 150px; }
 .rwc-sailing>.rwc-itinerary { margin:0 20px 0 101px; }
 .rwc-sailing-note { margin:0 20px 15px 101px; }
}
@media(max-width:600px) {
 .rwc-calendar { padding-top:var(--rwc-header-height,134px); }
 .rwc-hero .rwc-hero-lead { font-size:14px; }
 .rwc-stat dd { font-size:28px; }
 .rwc-stat dt { font-size:10px; }
 .rwc-sailing-summary { grid-template-columns:48px minmax(0,1fr); }
 .rwc-sailing-meta { text-align:left; grid-column:2; }
 .rwc-sailing-meta .rwc-duration { font-size:13px; }
 .rwc-sailing-meta .rwc-voyage { margin:0; font-size:10px; }
 .rwc-sailing>.rwc-itinerary { margin:0 15px; }
 .rwc-sailing-note { margin:0 15px 12px; padding:11px; }
 .rwc-itinerary-status { font-size:9px; }
 .rwc-empty { padding:23px; }
 .rwc-empty h2 { font-size:26px; }
}
.rwc-preserved-records { border:1px solid #cfcbbd; margin:10px 0 32px; background:#eeebe2; }
.rwc-preserved-records>summary { padding:20px; cursor:pointer; font:500 17px/1.5 'Playfair Display',Georgia,serif; color:#334353; }
.rwc-preserved-content { padding:0 20px 20px; }
.rwc-preserved-content>p { margin:0 0 15px; font-size:12px; }
.rwc-preserved-record { border-top:1px solid #cfccc0; }
.rwc-preserved-record>summary { padding:15px 0; cursor:pointer; font-size:12px; color:#465461; }
.rwc-preserved-record p { margin:5px 0 12px; font-size:12px; }
.rwc-preserved-record a { display:inline-block; text-decoration:underline; color:#705726; padding:8px 0; }
