.cruisecan-public-search{max-width:1240px;margin:32px auto;padding:0 16px;font-family:inherit}.cruisecan-search-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px}.cruisecan-search-hero h2{margin:4px 0 8px;font-size:32px;line-height:1.1}.cruisecan-search-hero p{margin:0;font-size:16px;color:#667085}.cruisecan-kicker{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.cruisecan-search-note{max-width:360px;padding:12px 14px;border:1px solid #e4e7ec;border-radius:10px;background:#f8fafc;color:#475467;font-size:13px}.cruisecan-public-search-form{background:#fff;border:1px solid #e4e7ec;border-radius:16px;padding:20px;box-shadow:0 8px 28px rgba(16,24,40,.05)}.cruisecan-search-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.cruisecan-field{display:flex;flex-direction:column;gap:7px;font-size:13px;font-weight:700;color:#344054}.cruisecan-field-wide{grid-column:span 2}.cruisecan-field input,.cruisecan-field select,.cruisecan-search-toolbar select{width:100%;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid #d0d5dd;border-radius:9px;background:#fff;color:#101828;font:inherit;font-weight:400}.cruisecan-primary-button{margin-top:16px;min-height:46px;padding:11px 22px;border:0;border-radius:9px;cursor:pointer;font:inherit;font-weight:800}.cruisecan-primary-button:disabled{opacity:.6;cursor:wait}.cruisecan-child-ages-wrap{grid-column:span 2}.cruisecan-child-ages{display:flex;gap:10px;flex-wrap:wrap}.cruisecan-child-age{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}.cruisecan-child-age select{min-width:110px}.cruisecan-child-ages-wrap small{font-weight:400;color:#667085}.cruisecan-search-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 10px;color:#475467}.cruisecan-search-toolbar label{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700}.cruisecan-search-toolbar select{width:auto;min-width:160px;min-height:38px}.cruisecan-search-message.is-error{margin:10px 0;padding:12px 14px;border:1px solid #fecdca;border-radius:9px;background:#fef3f2;color:#b42318}.cruisecan-loading,.cruisecan-empty{padding:24px;border:1px dashed #d0d5dd;border-radius:12px;background:#fff;color:#667085}.cruisecan-public-results{display:grid;gap:12px}.cruisecan-result-card{display:flex;justify-content:space-between;gap:24px;padding:20px;background:#fff;border:1px solid #e4e7ec;border-radius:14px;cursor:pointer;transition:box-shadow .18s ease,transform .18s ease,border-color .18s ease}.cruisecan-result-card:hover,.cruisecan-result-card:focus{border-color:#98a2b3;box-shadow:0 10px 28px rgba(16,24,40,.08);transform:translateY(-1px);outline:none}.cruisecan-result-main{min-width:0}.cruisecan-result-card h3{margin:5px 0 9px;font-size:22px}.cruisecan-result-card p{margin:6px 0;color:#475467}.cruisecan-provider-badge{display:inline-block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.cruisecan-route{font-size:15px}.cruisecan-fare-desc{font-weight:700;color:#101828!important}.cruisecan-muted{font-size:13px}.cruisecan-result-price{min-width:250px;display:flex;flex-direction:column;justify-content:center;align-items:flex-end;text-align:right}.cruisecan-result-price small{color:#667085;font-size:12px;line-height:1.4}.cruisecan-result-price strong{font-size:26px;color:#101828;margin:4px 0 10px}.cruisecan-view-button{border:0;border-radius:9px;padding:10px 14px;cursor:pointer;font:inherit;font-weight:800}.cruisecan-cabins-modal[hidden]{display:none}.cruisecan-cabins-modal{position:fixed;inset:0;z-index:99999}.cruisecan-modal-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.55)}.cruisecan-modal-panel{position:relative;z-index:2;max-width:900px;max-height:80vh;overflow:auto;margin:8vh auto;background:#fff;border-radius:16px;padding:24px;box-shadow:0 24px 80px rgba(0,0,0,.22)}.cruisecan-modal-close{position:absolute;right:12px;top:8px;background:transparent;border:0;font-size:30px;cursor:pointer}.cruisecan-cabin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.cruisecan-cabin-card{padding:13px;border:1px solid #e4e7ec;border-radius:10px;display:flex;flex-direction:column;gap:4px}.cruisecan-live-note{margin:12px 0;color:#667085;font-size:13px}@media(max-width:900px){.cruisecan-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cruisecan-field-wide,.cruisecan-child-ages-wrap{grid-column:span 2}.cruisecan-search-hero{align-items:flex-start;flex-direction:column}.cruisecan-search-note{max-width:none}.cruisecan-result-card{flex-direction:column}.cruisecan-result-price{min-width:0;align-items:flex-start;text-align:left}.cruisecan-cabin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.cruisecan-search-grid{grid-template-columns:1fr}.cruisecan-field-wide,.cruisecan-child-ages-wrap{grid-column:span 1}.cruisecan-search-toolbar{align-items:flex-start;flex-direction:column}.cruisecan-search-toolbar label{width:100%;justify-content:space-between}.cruisecan-search-toolbar select{width:160px}.cruisecan-search-hero h2{font-size:27px}.cruisecan-cabin-grid{grid-template-columns:1fr}.cruisecan-modal-panel{margin:3vh 12px;max-height:88vh}}
.cruisecan-pagination{display:flex;align-items:center;justify-content:center;gap:12px;margin:20px 0}.cruisecan-pagination[hidden]{display:none}.cruisecan-pagination button{border:1px solid #c7ced6;background:#fff;color:#1d2939;border-radius:6px;padding:9px 14px;font:inherit;cursor:pointer}.cruisecan-pagination button:disabled{opacity:.45;cursor:not-allowed}.cruisecan-pagination span{font-size:.95rem;color:#475467}.cruisecan-result-price strong{display:block}.cruisecan-live-note{font-size:.9rem;color:#475467}

.cruisecan-cabin-select{margin-top:8px;min-height:40px;padding:9px 12px;border:1px solid #175cd3;border-radius:8px;background:#175cd3;color:#fff;font:inherit;font-weight:700;cursor:pointer}.cruisecan-cabin-select:hover{background:#1849a9}.cruisecan-cabin-select:disabled{opacity:.6;cursor:wait}
.cruisecan-detail-summary{padding:14px 16px;border-radius:10px;background:#f8fafc;margin-bottom:18px}.cruisecan-detail-summary h4,.cruisecan-modal-panel h4{margin:0 0 8px;font-size:19px}.cruisecan-detail-summary p{margin:6px 0}.cruisecan-fare-options{display:grid;gap:10px}.cruisecan-fare-option{display:flex;justify-content:space-between;gap:20px;padding:16px;border:1px solid #d0d5dd;border-radius:11px;background:#fff}.cruisecan-fare-option.is-selected{border-color:#175cd3;box-shadow:0 0 0 2px rgba(23,92,211,.12)}.cruisecan-fare-option p{margin:5px 0;color:#475467}.cruisecan-fare-option small{display:block;margin-top:8px;max-width:560px;color:#667085}.cruisecan-fare-option-price{min-width:180px;display:flex;flex-direction:column;align-items:flex-end;gap:9px}.cruisecan-fare-option-price>strong{font-size:18px}.cruisecan-fare-option-price button{border:1px solid #175cd3;border-radius:8px;background:#175cd3;color:#fff;padding:9px 12px;font:inherit;font-weight:700;cursor:pointer}.cruisecan-fare-option-price button:disabled{opacity:.65;cursor:default}.cruisecan-selection-status{margin-top:16px;padding:13px 15px;border:1px solid #a6f4c5;border-radius:10px;background:#ecfdf3;color:#05603a}.cruisecan-selection-status p{margin:5px 0 0}@media(max-width:560px){.cruisecan-fare-option{display:block}.cruisecan-fare-option-price{align-items:flex-start;margin-top:12px}}
.cruisecan-price-comparison{margin:12px 0;padding:13px 15px;border:1px solid #d0d5dd;border-radius:9px;background:#f8fafc;color:#344054}.cruisecan-price-comparison p{margin:6px 0 0}.cruisecan-match-badge{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:999px;background:#ecfdf3;color:#05603a;font-size:11px;font-weight:700}.cruisecan-price-warning{color:#b42318!important;font-weight:700}.cruisecan-modal-panel form[data-passenger-form]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cruisecan-modal-panel form[data-passenger-form]>label{display:flex;flex-direction:column;gap:5px;font-weight:700}.cruisecan-modal-panel form[data-passenger-form] input{min-height:40px;padding:8px 10px;border:1px solid #d0d5dd;border-radius:7px;font:inherit}.cruisecan-traveler{grid-column:span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid #d0d5dd;border-radius:9px;padding:12px}.cruisecan-traveler legend{font-weight:800}.cruisecan-traveler label{display:flex;flex-direction:column;gap:5px;font-size:13px}.cruisecan-modal-panel form[data-passenger-form]>.cruisecan-primary-button{grid-column:span 2}.cruisecan-secondary-button{border:1px solid #98a2b3;border-radius:8px;background:#fff;color:#344054;padding:8px 12px;font:inherit;font-weight:700;cursor:pointer}@media(max-width:560px){.cruisecan-modal-panel form[data-passenger-form],.cruisecan-traveler{grid-template-columns:1fr}.cruisecan-traveler,.cruisecan-modal-panel form[data-passenger-form]>.cruisecan-primary-button{grid-column:span 1}}
.cruisecan-traveler select{min-height:40px;padding:8px 10px;border:1px solid #d0d5dd;border-radius:7px;background:#fff;font:inherit}.cruisecan-document-fields{grid-column:span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cruisecan-document-fields[hidden]{display:none}@media(max-width:560px){.cruisecan-document-fields{grid-template-columns:1fr;grid-column:span 1}}
.cruisecan-fare-wizard{margin:16px 0;padding:16px;border:1px solid #d0d5dd;border-radius:12px;background:#fcfcfd}.cruisecan-fare-wizard h5{margin:14px 0 7px;font-size:16px}.cruisecan-fare-wizard>p{margin:6px 0 12px;color:#667085;font-size:13px}.cruisecan-fare-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.cruisecan-choice-card{display:flex;min-height:76px;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px;padding:14px;border:1px solid #d0d5dd;border-radius:10px;background:#fff;color:#1d2939;text-align:left;font:inherit;cursor:pointer}.cruisecan-choice-card:hover,.cruisecan-choice-card:focus{border-color:#175cd3;box-shadow:0 0 0 2px rgba(23,92,211,.1);outline:none}.cruisecan-choice-card small{color:#667085}@media(max-width:560px){.cruisecan-fare-groups{grid-template-columns:1fr}}

/* Detailed route overview, independent of live MSC booking access. */
.cruisecan-itinerary-overview{margin:16px 0 22px;padding:16px;background:#fff;border:1px solid #d0d5dd;border-radius:12px}.cruisecan-route-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr);gap:18px;margin-top:12px}.cruisecan-route-map svg{display:block;width:100%;height:270px;background:#dcecf8;border:1px solid #d0d5dd;border-radius:10px}.cruisecan-route-map small{font-size:11px;line-height:1.5;display:block;color:#475467;margin:7px 0}.cruisecan-port-call-list{padding-left:22px;max-height:290px;overflow:auto;margin:9px 0}.cruisecan-port-call-list li{padding:6px 4px;border-bottom:1px solid #eaecf0;line-height:1.45}.cruisecan-port-call-list time{display:block;font-size:12px;color:#667085}.cruisecan-port-stop{font-weight:600}.cruisecan-map-unavailable{min-height:165px;display:flex;align-items:center;padding:18px;color:#475467;background:#f8fafc;border:1px dashed #d0d5dd;border-radius:10px}@media(max-width:760px){.cruisecan-route-grid{grid-template-columns:1fr}.cruisecan-route-map svg{height:235px}}


/* CruiseCan / Nilfam branded search and fare wizard.
   Scoped specificity deliberately overrides theme-wide WordPress button rules. */
.cruisecan-public-search{
  --cc-blue:#1e5aa8;
  --cc-blue-hover:#174a8a;
  --cc-blue-pale:#eaf2ff;
  --cc-text:#16324f;
  --cc-muted:#42566b;
  --cc-border:#b8d0e9;
  --cc-white:#ffffff;
  color:var(--cc-text);
}
.cruisecan-public-search button,
.cruisecan-public-search input,
.cruisecan-public-search select{
  font-family:inherit;
}
.cruisecan-public-search .cruisecan-primary-button,
.cruisecan-public-search .cruisecan-view-button,
.cruisecan-public-search .cruisecan-fare-option-price button:not(:disabled),
.cruisecan-public-search button.cruisecan-cabin-select:not(:disabled){
  background:var(--cc-blue)!important;
  border:1px solid var(--cc-blue)!important;
  color:var(--cc-white)!important;
  font-weight:700;
}
.cruisecan-public-search .cruisecan-primary-button:not(:disabled):hover,
.cruisecan-public-search .cruisecan-view-button:not(:disabled):hover,
.cruisecan-public-search .cruisecan-fare-option-price button:not(:disabled):hover{
  background:var(--cc-blue-hover)!important;
  border-color:var(--cc-blue-hover)!important;
}
.cruisecan-public-search button.cruisecan-choice-card{
  background:var(--cc-white)!important;
  border:1px solid var(--cc-border)!important;
  color:var(--cc-text)!important;
  font-weight:500;
  text-transform:none;
  letter-spacing:normal;
  box-shadow:none;
  opacity:1;
}
.cruisecan-public-search button.cruisecan-choice-card strong{
  color:var(--cc-text)!important;
  font-weight:750;
  font-size:15px;
  line-height:1.45;
}
.cruisecan-public-search button.cruisecan-choice-card small{
  color:var(--cc-muted)!important;
  opacity:1!important;
  font-size:12px;
  line-height:1.45;
  font-weight:500;
}
.cruisecan-public-search button.cruisecan-choice-card:hover,
.cruisecan-public-search button.cruisecan-choice-card:focus-visible{
  background:var(--cc-blue-pale)!important;
  border-color:var(--cc-blue)!important;
  box-shadow:0 0 0 2px rgba(30,90,168,.14);
  outline:none;
}
.cruisecan-public-search button.cruisecan-secondary-button{
  background:var(--cc-white)!important;
  border:1px solid var(--cc-border)!important;
  color:var(--cc-blue)!important;
  font-weight:700;
  text-transform:none;
  margin:4px 6px 4px 0;
}
.cruisecan-public-search button.cruisecan-secondary-button:hover{
  background:var(--cc-blue-pale)!important;
  border-color:var(--cc-blue)!important;
}
.cruisecan-public-search button:focus-visible,
.cruisecan-public-search select:focus-visible,
.cruisecan-public-search input:focus-visible{
  outline:3px solid var(--cc-blue)!important;
  outline-offset:2px;
}
.cruisecan-public-search .cruisecan-fare-wizard{
  background:#f9fbfe;
  border-color:var(--cc-border);
}
.cruisecan-public-search .cruisecan-wizard-context{
  background:var(--cc-blue-pale);
  border-left:3px solid var(--cc-blue);
  border-radius:6px;
  padding:10px 12px;
  color:var(--cc-text);
  line-height:1.6;
  margin-bottom:12px;
}
.cruisecan-public-search .cruisecan-fare-wizard h5,
.cruisecan-public-search .cruisecan-detail-summary h4,
.cruisecan-public-search .cruisecan-modal-panel h3,
.cruisecan-public-search .cruisecan-modal-panel h4{
  color:var(--cc-text);
}
.cruisecan-public-search .cruisecan-fare-wizard > p,
.cruisecan-public-search .cruisecan-fare-option small,
.cruisecan-public-search .cruisecan-modal-panel .cruisecan-muted,
.cruisecan-public-search .cruisecan-live-note{
  color:var(--cc-muted);
}
.cruisecan-public-search .cruisecan-price-comparison{
  border-color:var(--cc-border);
  background:#f4f8fd;
  color:var(--cc-text);
}
.cruisecan-public-search .cruisecan-fare-option.is-selected{
  border-color:var(--cc-blue);
  box-shadow:0 0 0 2px rgba(30,90,168,.16);
  background:#f4f8fd;
}
.cruisecan-public-search .cruisecan-match-badge{
  background:var(--cc-blue-pale);
  color:var(--cc-blue);
}
.cruisecan-public-search .cruisecan-fare-option-price button:disabled{
  background:#e3e9f0!important;
  border:1px solid #bfcbd9!important;
  color:#31475f!important;
  cursor:default;
  opacity:1;
}
.cruisecan-public-search .cruisecan-selection-status{
  background:#f0f6ff;
  border-color:var(--cc-border);
  color:var(--cc-text);
}
.cruisecan-public-search .cruisecan-selection-status p{color:var(--cc-muted);}
.cruisecan-public-search .cruisecan-modal-panel{
  box-sizing:border-box;
  width:calc(100% - 32px);
  max-height:calc(100dvh - 40px);
  margin:20px auto;
  border-radius:16px;
  color:var(--cc-text);
}
.cruisecan-public-search button.cruisecan-modal-close{
  top:12px;
  right:12px;
  width:42px;
  height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  background:var(--cc-white)!important;
  color:var(--cc-blue)!important;
  border:1px solid var(--cc-border)!important;
  line-height:1;
  padding:0;
  font-size:25px;
}
.cruisecan-public-search button.cruisecan-modal-close:hover{
  background:var(--cc-blue-pale)!important;
}
@media(max-width:560px){
  .cruisecan-public-search .cruisecan-modal-panel{padding:18px 14px;max-height:calc(100dvh - 24px);margin:12px auto;}
  .cruisecan-public-search .cruisecan-modal-panel > h3{padding-right:50px;}
}

/* WordPress/theme display:flex must not override the hidden region field. */
.cruisecan-public-search [data-region-wrap][hidden]{display:none!important}

/* Reset dialog UA sizing. showModal() places this above theme headers even when
   the shortcode is inside a transformed/clipped page-builder container. */
.cruisecan-public-search dialog.cruisecan-cabins-modal{
  position:fixed;
  inset:0;
  box-sizing:border-box;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  color:var(--cc-text);
  overflow:hidden;
}
.cruisecan-public-search dialog.cruisecan-cabins-modal[hidden]{display:none!important;}
.cruisecan-public-search dialog.cruisecan-cabins-modal::backdrop{background:transparent;}

/* RC17: truthful cache-only cabin number step; no synthetic cabin inventory. */
.cruisecan-public-search .cruisecan-cabin-number-step{
  margin-top:14px;
  border:1px solid #b8d0e9;
  background:#f9fbfe;
  border-radius:12px;
  padding:18px;
  color:#16324f;
}
.cruisecan-public-search .cruisecan-cabin-number-step h4{color:#16324f;}
.cruisecan-public-search .cruisecan-cabin-number-unavailable{
  background:#fff;
  border:1px solid #adc5df;
  border-left:4px solid #1e5aa8;
  border-radius:8px;
  padding:14px;
  margin:12px 0;
  color:#16324f;
}
.cruisecan-public-search .cruisecan-cabin-number-unavailable p{
  color:#42566b;
  line-height:1.6;
}
.cruisecan-public-search .cruisecan-cabin-number-unavailable select:disabled{
  display:block;
  width:100%;
  margin-top:8px;
  padding:10px;
  border:1px solid #aebdca;
  color:#31475f!important;
  opacity:1;
  background:#edf1f5!important;
}
.cruisecan-public-search .cruisecan-cabin-number-step button{
  margin-top:8px;
}

/* Port-of-call chronology: only verified MSC leg dates, never guessed hours. */
.cruisecan-public-search .cruisecan-port-call-dates{
  display:block;
  margin-top:3px;
  font-size:12px;
  font-weight:500;
  line-height:1.5;
  color:#42566b;
}
.cruisecan-public-search .cruisecan-port-call-dates time{
  color:#16324f;
  font-weight:600;
}


/* Full source-backed MSC daily schedule. This table is shown ONLY with actual
   imported itinerary legs, never fabricated from fare country descriptions. */
.cruisecan-public-search .cruisecan-timetable-scroll{width:100%;overflow-x:auto;overscroll-behavior-x:contain;margin:10px 0 16px}
.cruisecan-public-search .cruisecan-itinerary-table{width:100%;border-collapse:collapse;min-width:440px;font-size:13px;color:#173652}
.cruisecan-public-search .cruisecan-itinerary-table caption{text-align:left;font-size:12px;color:#586779;padding:8px 0}
.cruisecan-public-search .cruisecan-itinerary-table th,.cruisecan-public-search .cruisecan-itinerary-table td{padding:9px 8px;border-bottom:1px solid #e2e9f0;text-align:left;white-space:normal}
.cruisecan-public-search .cruisecan-itinerary-table thead th{background:#f2f6fc;color:#183a58;font-weight:700;white-space:nowrap}
.cruisecan-public-search .cruisecan-itinerary-table tbody th{font-weight:700;min-width:32px}
.cruisecan-public-search .cruisecan-itinerary-table tbody tr:nth-child(even){background:#f7f9fd}
.cruisecan-public-search .cruisecan-itinerary-table time{font-weight:500;color:#173652;white-space:nowrap}
.cruisecan-public-search .cruisecan-itinerary-table small{font-size:11px;color:#a24f15}
@media(max-width:760px){.cruisecan-public-search .cruisecan-itinerary-table{font-size:12px;min-width:410px}.cruisecan-public-search .cruisecan-itinerary-table th,.cruisecan-public-search .cruisecan-itinerary-table td{padding:7px 5px}}


/* Customer consent and agency request are distinct blocks; prevent theme button
   floats or inline label text from overlaying the booking disclaimer. */
.cruisecan-public-search .cruisecan-modal-panel form[data-request-form]{
  display:block;clear:both;max-width:100%;
}
.cruisecan-public-search .cruisecan-modal-panel form[data-request-form] .cruisecan-request-consent{
  display:block;line-height:1.55;overflow-wrap:anywhere;margin:12px 0;
}
.cruisecan-public-search .cruisecan-modal-panel form[data-request-form] .cruisecan-request-consent input{
  display:inline-block;width:auto;min-width:unset;margin:0 8px 0 0;vertical-align:middle;
}
.cruisecan-public-search .cruisecan-modal-panel form[data-request-form]>.cruisecan-primary-button{
  display:block;float:none;clear:both;position:static;margin:14px 0 18px;max-width:100%;
}

/* Direct travel-document date entry; ISO value remains in the existing form field. */
.cruisecan-date-parts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,.8fr);gap:6px}
.cruisecan-date-parts select{min-width:0;width:100%}


/* Phase 1 customer search refinement — CC-03. Advance controls remain
   available, but no longer bury the month/party/search CTA on mobile. */
.cruisecan-public-search .cruisecan-search-hero{
  padding:20px 22px 16px;border-radius:18px;
  background:linear-gradient(117deg,#eef6ff 0%,#fff 74%);
  border:1px solid #d8e6f6;align-items:center;
}
.cruisecan-public-search .cruisecan-search-hero h2{
  font-size:clamp(25px,3vw,36px);letter-spacing:-.025em;
  color:#13365c;
}
.cruisecan-public-search .cruisecan-search-hero p{color:#445973;line-height:1.5}
.cruisecan-public-search .cruisecan-search-note{
  background:#fff;border-color:#c9dbef;color:#36516e;line-height:1.5;
}
.cruisecan-public-search .cruisecan-public-search-form{
  border:1px solid #cad9e9;border-radius:19px;padding:22px;
  background:#fff;box-shadow:0 16px 36px rgba(18,50,86,.08);
}
.cruisecan-public-search .cruisecan-field select,
.cruisecan-public-search .cruisecan-field input{
  border-radius:11px;min-height:48px;border-color:#c3d1df;
  transition:border-color .15s,box-shadow .15s;
}
.cruisecan-public-search .cruisecan-field select:hover,
.cruisecan-public-search .cruisecan-field input:hover{border-color:#3779ba}
.cruisecan-public-search .cruisecan-search-submit{
  width:min(100%,340px);min-height:52px;font-size:16px;
  letter-spacing:.015em;border-radius:11px;margin-top:18px;
}
.cruisecan-public-search .cruisecan-advanced-filters{
  grid-column:1/-1;min-width:0;padding:11px 13px 13px;
  border:1px solid #e0e9f3;border-radius:12px;background:#f9fbff;
}
.cruisecan-public-search .cruisecan-advanced-filters>summary{
  cursor:pointer;list-style:none;color:#19476e;font-size:14px;
  font-weight:750;min-height:28px;display:flex;align-items:center;
  gap:12px;justify-content:space-between;
}
.cruisecan-public-search .cruisecan-advanced-filters>summary::-webkit-details-marker{display:none}
.cruisecan-public-search .cruisecan-advanced-filters>summary:after{
  content:"⌄";font-size:21px;line-height:1;color:#1e5aa8;
}
.cruisecan-public-search .cruisecan-advanced-filters[open]>summary:after{content:"⌃"}
.cruisecan-public-search .cruisecan-filter-hint{font-size:12px;font-weight:400;color:#637891}
.cruisecan-public-search .cruisecan-advanced-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;margin-top:16px;
}
.cruisecan-public-search .cruisecan-advanced-grid>.cruisecan-field{min-width:0}
.cruisecan-public-search .cruisecan-advanced-grid small{color:#52677f;line-height:1.4}
.cruisecan-public-search .cruisecan-result-card{border-radius:15px}
.cruisecan-public-search .cruisecan-search-submit,
.cruisecan-public-search .cruisecan-choice-card{transition:background .15s,transform .15s,box-shadow .15s}
.cruisecan-public-search .cruisecan-search-submit:not(:disabled):hover{transform:translateY(-1px)}
@media(max-width:900px){
  .cruisecan-public-search .cruisecan-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .cruisecan-public-search{padding:0 12px}
  .cruisecan-public-search .cruisecan-search-hero{padding:18px;gap:10px}
  .cruisecan-public-search .cruisecan-public-search-form{padding:16px}
  .cruisecan-public-search .cruisecan-search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .cruisecan-public-search .cruisecan-search-grid>.cruisecan-field:first-child,
  .cruisecan-public-search .cruisecan-search-grid>.cruisecan-field:nth-child(2),
  .cruisecan-public-search .cruisecan-advanced-filters{grid-column:1/-1}
  .cruisecan-public-search .cruisecan-search-submit{width:100%;margin-top:14px}
  .cruisecan-public-search .cruisecan-filter-hint{display:none}
  .cruisecan-public-search .cruisecan-advanced-grid{grid-template-columns:1fr;gap:12px}
  .cruisecan-public-search .cruisecan-search-hero h2{font-size:26px}
  .cruisecan-public-search .cruisecan-search-note{font-size:12px}
}
@media(max-width:380px){
  .cruisecan-public-search .cruisecan-search-grid{grid-template-columns:1fr}
  .cruisecan-public-search .cruisecan-search-grid>.cruisecan-field{grid-column:1/-1}
}


/* Phase 1 fare/package cards and official ship deck-plan viewing. */
.cruisecan-public-search .cruisecan-package-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cruisecan-public-search .cruisecan-package-card{justify-content:flex-start;min-height:205px;padding:18px;gap:11px}
.cruisecan-public-search .cruisecan-package-price{display:block;font-size:22px;font-weight:800;color:#143f73;line-height:1.25}
.cruisecan-public-search .cruisecan-package-card ul{margin:5px 0 12px;padding-left:20px;line-height:1.5}
.cruisecan-public-search .cruisecan-package-card li{margin-bottom:6px;font-size:13px}
.cruisecan-public-search .cruisecan-package-select{display:block;padding:9px 14px;margin-top:auto;background:#1e5aa8;color:#fff;font-size:13px;font-weight:750;border-radius:8px}
.cruisecan-public-search .cruisecan-cabin-deckplan{margin:16px 0;padding:16px;border:1px solid #c8d9ea;border-radius:12px;background:#fff}
.cruisecan-public-search .cruisecan-cabin-deckplan h5{font-size:17px;margin:0 0 8px}
.cruisecan-public-search .cruisecan-cabin-deckplan p{color:#42566b;margin:7px 0 13px;line-height:1.5}
.cruisecan-public-search .cruisecan-cabin-deckplan iframe{width:100%;height:410px;border:1px solid #b6c9dd;border-radius:9px;background:#f5f8fc}
.cruisecan-public-search .cruisecan-cabin-deckplan a{display:inline-block;margin-top:12px;color:#1e5aa8;font-weight:700}
@media(max-width:760px){
 .cruisecan-public-search .cruisecan-package-grid{grid-template-columns:1fr}
 .cruisecan-public-search .cruisecan-package-card{min-height:0}
 .cruisecan-public-search .cruisecan-cabin-deckplan{padding:12px}
 .cruisecan-public-search .cruisecan-cabin-deckplan iframe{height:340px}
}


/* Phase 1 visual room preference: actual MSC-returned cabin numbers only.
   PDF reference is ship-backed; room position is not fabricated. */
.cruisecan-public-search .cruisecan-visual-room-picker{
  border:1px solid #c7d9ea;border-radius:12px;padding:15px;
  background:#fff;margin:14px 0;
}
.cruisecan-public-search .cruisecan-visual-room-picker>label{
  display:flex;align-items:center;gap:12px;font-weight:700;flex-wrap:wrap;
}
.cruisecan-public-search .cruisecan-visual-room-picker [data-visual-deck-filter]{
  min-height:42px;border:1px solid #a9c4db;border-radius:9px;
  padding:8px 12px;background:#fff;color:#173652;max-width:220px;
}
.cruisecan-public-search .cruisecan-cabin-choice-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));
  gap:10px;margin:15px 0;
}
.cruisecan-public-search .cruisecan-cabin-choice-tile{
  display:flex;flex-direction:column;align-items:flex-start;
  gap:5px;padding:14px 12px;min-height:79px;
  border:2px solid #cedfeb;border-radius:12px;
  color:#173652;background:#f9fcff;text-align:left;
  cursor:pointer;font:inherit;
}
.cruisecan-public-search .cruisecan-cabin-choice-tile:hover,
.cruisecan-public-search .cruisecan-cabin-choice-tile:focus-visible{
  border-color:#1e5aa8;background:#eef6ff;
}
.cruisecan-public-search .cruisecan-cabin-choice-tile.is-selected,
.cruisecan-public-search .cruisecan-cabin-choice-tile[aria-pressed="true"]{
  border-color:#1e5aa8;background:#e8f2ff;
  box-shadow:0 0 0 2px rgba(30,90,168,.15);
}
.cruisecan-public-search .cruisecan-cabin-choice-tile[hidden]{display:none!important}
.cruisecan-public-search .cruisecan-cabin-choice-tile strong{font-size:15px}
.cruisecan-public-search .cruisecan-cabin-choice-tile span,
.cruisecan-public-search .cruisecan-cabin-choice-tile small{
  color:#52677f;font-size:12px;line-height:1.4;
}
.cruisecan-public-search .cruisecan-room-selection-status{
  padding:11px;border-radius:8px;color:#294b68;
  background:#f0f6fc;font-size:13px;line-height:1.55;
}
.cruisecan-public-search .cruisecan-room-value-accessible{
  position:absolute!important;width:1px!important;height:1px!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;opacity:0!important;pointer-events:none!important;
}
.cruisecan-public-search .cruisecan-cabin-deckplan{
  margin:14px 0;border:1px solid #cadced;border-radius:11px;padding:14px;background:#fff;
}
.cruisecan-public-search .cruisecan-cabin-deckplan iframe{
  display:block;width:100%;height:min(64vh,530px);
  border:1px solid #c9d9e8;border-radius:8px;background:#f8fbff;
  margin:12px 0;
}
.cruisecan-public-search .cruisecan-cabin-deckplan a{
  display:inline-block;color:#1e5aa8;text-decoration:underline;
  margin:8px 0;font-weight:700;
}
@media(max-width:560px){
  .cruisecan-public-search .cruisecan-cabin-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cruisecan-public-search .cruisecan-cabin-deckplan iframe{height:380px}
  .cruisecan-public-search .cruisecan-visual-room-picker{padding:12px}
}


/* Phase 1 MSC fare package comparison cards: source-backed inclusions only. */
.cruisecan-public-search .cruisecan-package-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;align-items:stretch;
}
.cruisecan-public-search button.cruisecan-package-card{
  display:flex;flex-direction:column;align-items:stretch;
  justify-content:flex-start;min-height:245px;padding:21px 18px 18px;
  text-align:center;gap:11px;background:#fff!important;
  border:1px solid #bbd1e7!important;border-radius:15px;
  box-shadow:0 8px 24px rgba(20,62,107,.06);
}
.cruisecan-public-search button.cruisecan-package-card strong{
  font-size:18px!important;line-height:1.35;min-height:50px;
  display:flex;align-items:center;justify-content:center;
}
.cruisecan-public-search .cruisecan-package-price{
  display:block;padding:15px 0;border-top:3px solid #f4792b;
  border-bottom:1px solid #e8eef6;
  font-size:21px;line-height:1.4;font-weight:800;color:#103f76;
}
.cruisecan-public-search button.cruisecan-package-card>small{
  line-height:1.5;font-size:12px;
}
.cruisecan-public-search button.cruisecan-package-card ul{
  margin:6px 0 0;padding:10px 0 0 19px;text-align:left;
  border-top:1px solid #e0e9f3;display:grid;gap:7px;
  color:#345270;font-size:13px;
}
.cruisecan-public-search .cruisecan-package-select{
  display:block;margin-top:auto;padding:11px 13px;border-radius:9px;
  background:#1e5aa8;color:#fff;font-weight:800;font-size:14px;
}
.cruisecan-public-search button.cruisecan-package-card:hover .cruisecan-package-select,
.cruisecan-public-search button.cruisecan-package-card:focus-visible .cruisecan-package-select{
  background:#164779;
}
@media(max-width:920px){
  .cruisecan-public-search .cruisecan-package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .cruisecan-public-search .cruisecan-package-grid{grid-template-columns:1fr}
  .cruisecan-public-search button.cruisecan-package-card{min-height:0;padding:18px}
  .cruisecan-public-search button.cruisecan-package-card strong{min-height:0}
}


/* Phase 1: readable customer confirmation before a contact-only agency request. */
.cruisecan-manual-enquiry .cruisecan-enquiry-summary{margin:18px 0;padding:15px 17px;border:1px solid #c9dbee;background:#f7fbff;border-radius:14px}
.cruisecan-manual-enquiry .cruisecan-enquiry-summary h5{margin:0 0 12px;color:#183c66;font-size:18px}
.cruisecan-manual-enquiry .cruisecan-enquiry-summary dl{margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.cruisecan-manual-enquiry .cruisecan-enquiry-summary dl>div{min-width:0;padding:0 0 9px;border-bottom:1px solid #deebf7}
.cruisecan-manual-enquiry .cruisecan-enquiry-summary dt{font-size:12px;font-weight:700;color:#59718c;margin-bottom:4px}
.cruisecan-manual-enquiry .cruisecan-enquiry-summary dd{margin:0;color:#203b5b;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.cruisecan-manual-enquiry .cruisecan-enquiry-summary dd ul{padding-left:18px;margin:3px 0;line-height:1.6}
.cruisecan-manual-enquiry .cruisecan-enquiry-summary p{margin:10px 0 0;color:#425d78;font-size:13px}
@media(max-width:760px){
 .cruisecan-manual-enquiry .cruisecan-enquiry-summary{padding:12px}
 .cruisecan-manual-enquiry .cruisecan-enquiry-summary dl{grid-template-columns:1fr;gap:9px}
}
/* Honor native hidden state even when theme/field layout uses display:flex. */
.cruisecan-public-search [data-child-ages-wrap][hidden]{display:none!important}

/* Phase 1 journey: shared typography, progression, intentional document card and contact layout. */
.cruisecan-public-search{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17344f}
.cruisecan-journey-progress{margin:0 0 24px;border-bottom:1px solid #dce5ee;padding:0 0 16px}
.cruisecan-journey-progress ol{display:flex;gap:12px;justify-content:space-between;list-style:none;margin:0;padding:0}
.cruisecan-journey-progress li{font-size:12px;color:#52677b;display:flex;align-items:center;gap:6px}
.cruisecan-journey-progress li span{display:inline-grid;place-items:center;border:1px solid #c6d3e0;border-radius:50%;width:26px;height:26px;flex-shrink:0}
.cruisecan-journey-progress [aria-current=step]{color:#075ab7;font-weight:750}
.cruisecan-journey-progress [aria-current=step] span{background:#075ab7;border-color:#075ab7;color:#fff}
.cruisecan-journey-summary{background:#edf5ff;padding:14px 16px;border-radius:10px;font-size:14px;line-height:1.65;margin-bottom:20px}
.cruisecan-category-card{position:relative;gap:12px;justify-content:flex-start;text-align:left}
.cruisecan-category-card .cruisecan-category-facts{margin:0;padding-left:18px;line-height:1.6;font-size:14px;flex:1}
.cruisecan-availability-badge{align-self:flex-start;font-size:12px;background:#eef4fa;color:#395573;border-radius:20px;padding:5px 9px}
.cruisecan-category-card[data-category-evidence=available] .cruisecan-availability-badge{color:#135e48;background:#e8f5ed}
.cruisecan-public-search .cruisecan-cabin-deckplan{margin:20px 0;padding:18px;background:#f0f6fc;border:1px solid #cedfec;border-radius:12px;min-height:0}
.cruisecan-cabin-deckplan h5{margin:0 0 8px;font-size:17px}
.cruisecan-cabin-deckplan a{display:inline-block;padding:10px 0;color:#075ab7;font-weight:650}
.cruisecan-deck-document{font-weight:600}
.cruisecan-manual-enquiry h4{font-size:25px;line-height:1.3;margin:20px 0}
.cruisecan-manual-enquiry h5{font-size:19px;line-height:1.4;margin:22px 0 12px}
.cruisecan-price-review{border:1px solid #cbddef;border-radius:12px;padding:20px;margin:22px 0;background:#f8fbff}
.cruisecan-price-review h5{margin:0 0 16px}
.cruisecan-price-review dl{margin:0;display:grid;gap:12px}
.cruisecan-price-review dl>div{display:flex;justify-content:space-between;gap:16px;font-size:14px;line-height:1.5}
.cruisecan-price-review dd{margin:0;text-align:right;font-weight:650}
.cruisecan-price-subtotal{border-top:1px solid #cbddef;padding-top:12px;font-size:17px!important}
.cruisecan-price-review p{font-size:13px;line-height:1.65;color:#45617a;margin:16px 0 0}
.cruisecan-manual-enquiry form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:20px 0 0}
.cruisecan-manual-enquiry form>label{display:flex;flex-direction:column;gap:8px;font-size:14px;font-weight:600;min-width:0;line-height:1.6}
.cruisecan-manual-enquiry form>label:first-child{grid-column:1/-1}
.cruisecan-manual-enquiry input:not([type=checkbox]){box-sizing:border-box;width:100%;min-height:46px;border:1px solid #a8bacb;border-radius:8px;padding:10px 12px;font:inherit;font-weight:400;background:#fff;color:#18344f}
.cruisecan-manual-enquiry input:focus-visible{outline:3px solid #b9d8f8;outline-offset:2px}
.cruisecan-manual-enquiry form>.cruisecan-request-consent{grid-column:1/-1;display:grid;grid-template-columns:22px 1fr;align-items:start;font-size:13px;font-weight:400;line-height:1.7;gap:10px}
.cruisecan-manual-enquiry input[type=checkbox]{width:20px;height:20px;margin:2px 0;accent-color:#075ab7}
.cruisecan-manual-enquiry form>p,.cruisecan-manual-enquiry form>button{grid-column:1/-1;margin:0}
.cruisecan-manual-enquiry form>button{min-height:48px;justify-self:start;padding:12px 24px}
.cruisecan-enquiry-receipt{padding:28px;background:#f1f8f6;border:1px solid #bee1d6;border-radius:16px;line-height:1.8}
.cruisecan-enquiry-receipt strong{display:block;font-size:20px;overflow-wrap:anywhere;color:#12523f}
.cruisecan-staff-entry{margin-top:24px;border-top:1px solid #dce5ee;padding-top:16px}
.cruisecan-staff-workspace{padding:12px;border:2px solid #9a681a;background:#fff8e9;margin:0 0 20px}
@media(max-width:760px){.cruisecan-journey-progress ol{gap:6px}.cruisecan-journey-progress li{flex-direction:column;text-align:center;font-size:10px;flex:1}.cruisecan-manual-enquiry form{grid-template-columns:1fr}.cruisecan-manual-enquiry form>button{width:100%}.cruisecan-price-review{padding:16px}.cruisecan-enquiry-receipt{padding:18px}}

/* Owner RC82 feedback: one concise cabin preference decision, no dummy input. */
.cruisecan-public-search .cruisecan-cabin-number-unavailable{
  margin:16px 0;padding:18px 20px;
  border:1px solid #c8dceb;border-left:4px solid #2767a8;
  border-radius:12px;background:#f5f9fd;
}
.cruisecan-public-search .cruisecan-cabin-number-unavailable h5{
  margin:0 0 7px;font-size:17px;line-height:1.4;color:#183b62;
}
.cruisecan-public-search .cruisecan-cabin-number-unavailable p{
  margin:0;font-size:14px;line-height:1.6;color:#425d78;
}
@media(max-width:560px){
  .cruisecan-public-search .cruisecan-cabin-number-unavailable{padding:14px}
}

/* RC84 commercial theme: Nilfam/CruiseCan navy, ocean-blue and orange.
   Scoped to public widget so the WordPress theme and staff admin stay intact. */
.cruisecan-public-search{
  --cc-navy:#153a64;--cc-blue:#1767b1;--cc-orange:#f17825;
  --cc-ink:#183752;--cc-soft:#f2f8fe;--cc-line:#d0e0ef;
  color:var(--cc-ink);
}
.cruisecan-public-search .cruisecan-search-hero{
  padding:24px 26px;border:1px solid #d5e5f5;border-radius:22px;
  background:linear-gradient(115deg,#e8f4ff 0%,#f5faff 56%,#fff 100%);
}
.cruisecan-public-search .cruisecan-search-hero h2{
  color:var(--cc-navy);letter-spacing:-.035em;font-weight:850;
}
.cruisecan-public-search .cruisecan-search-note{
  background:#fff;border-color:#c4dbed;border-radius:14px;
}
.cruisecan-public-search .cruisecan-public-search-form{
  border-color:var(--cc-line);border-radius:20px;
  box-shadow:0 12px 32px rgba(21,58,100,.07);
}
.cruisecan-public-search .cruisecan-primary-button,
.cruisecan-public-search .cruisecan-view-button,
.cruisecan-public-search button.cruisecan-package-card .cruisecan-package-select{
  background:var(--cc-blue);color:#fff;
  box-shadow:0 4px 10px rgba(23,103,177,.12);
}
.cruisecan-public-search .cruisecan-primary-button:hover:not(:disabled),
.cruisecan-public-search .cruisecan-view-button:hover,
.cruisecan-public-search button.cruisecan-package-card:hover .cruisecan-package-select{
  background:#0b4d8f;box-shadow:0 8px 18px rgba(23,103,177,.2);
}
.cruisecan-public-search .cruisecan-search-submit{
  min-width:250px;font-size:16px;letter-spacing:.02em;
}
.cruisecan-public-search .cruisecan-result-card{
  border-color:var(--cc-line);border-radius:18px;
  box-shadow:0 5px 18px rgba(21,58,100,.04);
}
.cruisecan-public-search .cruisecan-result-card:hover,
.cruisecan-public-search .cruisecan-result-card:focus-visible{
  border-color:var(--cc-blue);box-shadow:0 16px 35px rgba(21,58,100,.14);
}
.cruisecan-public-search .cruisecan-result-card h3,
.cruisecan-public-search .cruisecan-result-price strong{
  color:var(--cc-navy);
}
.cruisecan-public-search .cruisecan-provider-badge{
  color:var(--cc-orange);letter-spacing:.075em;
}
.cruisecan-public-search .cruisecan-package-grid .cruisecan-choice-card{
  background:#fff;border:1px solid #d5e2ef;border-top:4px solid var(--cc-orange);
  border-radius:17px;box-shadow:0 7px 22px rgba(21,58,100,.06);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.cruisecan-public-search .cruisecan-package-grid .cruisecan-choice-card:hover,
.cruisecan-public-search .cruisecan-package-grid .cruisecan-choice-card:focus-visible{
  border-color:#ef8a40;box-shadow:0 16px 30px rgba(21,58,100,.15);
  transform:translateY(-3px);
}
.cruisecan-public-search .cruisecan-package-benefits-title{
  display:block;text-align:left;font-weight:800;color:#173a63;
  margin:14px 0 4px;font-size:14px;
}
.cruisecan-public-search .cruisecan-package-benefits-pending{
  display:block;text-align:left;font-size:13px;line-height:1.65;
  color:#526e86;background:#f3f8fd;padding:11px;border-radius:9px;
}
.cruisecan-public-search .cruisecan-package-grid ul.cruisecan-package-benefits{
  list-style:none;padding:0;margin:8px 0 16px;border:0;
}
.cruisecan-public-search .cruisecan-package-benefits li{
  position:relative;padding-left:22px;line-height:1.55;
}
.cruisecan-public-search .cruisecan-package-benefits li:before{
  content:"✓";position:absolute;left:0;color:#146aa1;font-weight:900;
}
.cruisecan-public-search .cruisecan-fare-groups .cruisecan-choice-card:focus-visible,
.cruisecan-public-search button:focus-visible{
  outline:3px solid #f1a367;outline-offset:3px;
}
.cruisecan-public-search .cruisecan-journey-progress [aria-current=step] span{
  background:var(--cc-blue);border-color:var(--cc-blue);
}
.cruisecan-public-search .cruisecan-price-review{
  border-color:var(--cc-line);background:#f5faff;border-radius:18px;
}
@media(max-width:760px){
  .cruisecan-public-search .cruisecan-search-hero{padding:18px}
  .cruisecan-public-search .cruisecan-search-submit{width:100%;min-width:0}
  .cruisecan-public-search .cruisecan-result-card{padding:16px}
}

/* RC95: cabin-code and MSC-experience hierarchy in the existing customer steps. */
.cruisecan-public-search .cruisecan-experience-label {
  display:block;
  font-weight:750;
  color:var(--cc-navy,#153a64);
  background:#eef6fd;
  border-left:3px solid var(--cc-blue,#1767b1);
  padding:7px 10px;
  margin:9px 0;
  border-radius:5px;
  line-height:1.45;
}
.cruisecan-public-search .cruisecan-experience-benefits {
  margin:8px 0 12px;
  padding-left:22px;
  line-height:1.6;
  color:var(--cc-ink,#183752);
}
.cruisecan-public-search .cruisecan-experience-benefits li {margin:4px 0}
.cruisecan-public-search .cruisecan-category-card .cruisecan-experience-label {
  font-size:13px;text-align:left;
}

/* RC85 passenger enquiry: readable adults/children, optional documents and privacy. */
.cruisecan-public-search .cruisecan-passengers-step{max-width:100%;min-width:0}
.cruisecan-public-search .cruisecan-traveler{border:1px solid var(--cc-line,#d0e0ef);border-radius:16px;background:#f7fbff;padding:20px;margin:10px 0 6px;min-width:0}
.cruisecan-public-search .cruisecan-traveler legend{font-size:19px;font-weight:750;color:var(--cc-navy,#153a64);padding:0 8px}
.cruisecan-public-search .cruisecan-traveler label{font-weight:600;color:var(--cc-ink,#183752);min-width:0}
.cruisecan-public-search .cruisecan-traveler input,.cruisecan-public-search .cruisecan-traveler select{width:100%;min-width:0;max-width:100%;background:#fff}
.cruisecan-public-search .cruisecan-optional-traveler{grid-column:1/-1;border-top:1px solid var(--cc-line,#d0e0ef);padding:12px 0;margin-top:8px}
.cruisecan-public-search .cruisecan-optional-traveler summary{cursor:pointer;color:var(--cc-blue,#1767b1);font-weight:750;padding:6px 0}
.cruisecan-public-search .cruisecan-optional-traveler[open]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cruisecan-public-search .cruisecan-optional-traveler[open] summary{grid-column:1/-1}
.cruisecan-public-search form[data-passenger-form]>.cruisecan-request-consent{grid-column:1/-1;display:flex;flex-direction:row;align-items:flex-start;gap:10px;padding:14px;border-radius:11px;background:#f2f8fe}
.cruisecan-public-search form[data-passenger-form]>.cruisecan-request-consent input{width:20px;min-width:20px;min-height:20px;padding:0;accent-color:var(--cc-blue,#1767b1)}
.cruisecan-public-search form[data-passenger-form]>.cruisecan-secondary-button{justify-self:start}
.cruisecan-public-search form[data-passenger-form]>.cruisecan-primary-button{justify-self:start}
@media(max-width:620px){
 .cruisecan-public-search .cruisecan-traveler{padding:14px;grid-template-columns:minmax(0,1fr)}
 .cruisecan-public-search .cruisecan-optional-traveler[open]{grid-template-columns:minmax(0,1fr)}
 .cruisecan-public-search form[data-passenger-form]>.cruisecan-secondary-button,
 .cruisecan-public-search form[data-passenger-form]>.cruisecan-primary-button{width:100%;grid-column:1/-1}
}

/* Primary booking contact appears only beneath Passenger 1. */
.cruisecan-public-search .cruisecan-primary-passenger-contact{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border-top:1px solid var(--cc-line,#d0e0ef);margin-top:8px;padding-top:14px}
.cruisecan-public-search .cruisecan-primary-passenger-contact h5{grid-column:1/-1;margin:0;color:var(--cc-navy,#153a64);font-size:16px}
.cruisecan-public-search .cruisecan-primary-passenger-contact label{display:flex;flex-direction:column;gap:5px;min-width:0}
@media(max-width:620px){.cruisecan-public-search .cruisecan-primary-passenger-contact{grid-template-columns:minmax(0,1fr)}}

/* On-demand official MSC deck PDF inside the cabin step (no fictitious cabin pin). */
.cruisecan-public-search .cruisecan-deckplan-view-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:14px 0}
.cruisecan-public-search .cruisecan-deckplan-embed{width:100%;min-width:0;overflow:auto;border:1px solid #bfcee0;border-radius:12px;background:white;margin:12px 0}
.cruisecan-public-search .cruisecan-deckplan-embed[hidden]{display:none}
.cruisecan-public-search .cruisecan-deckplan-embed iframe{max-width:none;width:100%;min-height:490px;height:min(68vh,760px);border:0;display:block}
.cruisecan-public-search .cruisecan-deckplan-position-note{font-size:13px;color:#4b627f;margin:9px 0 0}
@media(max-width:620px){.cruisecan-public-search .cruisecan-deckplan-view-actions>*{width:100%;text-align:center}.cruisecan-public-search .cruisecan-deckplan-embed iframe{min-height:380px;height:60vh}}

/* Optional cabin-number wish: never presented as MSC-confirmed availability. */
.cruisecan-public-search .cruisecan-manual-room-preference{margin:14px 0;padding:16px;border:1px solid #bdcfe1;border-radius:12px;background:#f3f8fd}
.cruisecan-public-search .cruisecan-manual-room-preference label{display:flex;flex-direction:column;gap:7px;font-weight:700;color:#1e446a}
.cruisecan-public-search .cruisecan-manual-room-preference input{display:block;width:100%;max-width:290px;padding:10px 12px;border:1px solid #91b3d1;border-radius:8px;background:#fff}
.cruisecan-public-search .cruisecan-manual-room-preference p{margin:10px 0 0;font-size:13px;line-height:1.5;color:#38566f}
@media(max-width:620px){.cruisecan-public-search .cruisecan-manual-room-preference input{max-width:100%}}

/* RC88: source-listed MSC numbers remain visible while individually unverified. */
.cruisecan-public-search .cruisecan-cabin-verify{margin:14px 0;padding:16px;border:1px solid #a8c8de;border-radius:12px;background:#f0f7fc}
.cruisecan-public-search .cruisecan-cabin-verify p{margin:0 0 12px;line-height:1.5;color:#234960}
.cruisecan-public-search .cruisecan-cabin-verify label{display:flex;flex-direction:column;gap:8px;font-weight:650;color:#16476b}
.cruisecan-public-search .cruisecan-cabin-verify select{display:block;width:100%;max-width:550px;min-height:44px;padding:10px;border:1px solid #8ab8d4;border-radius:8px;background:#fff;color:#18334c}
.cruisecan-public-search .cruisecan-cabin-verify .cruisecan-primary-button{margin-top:12px}
.cruisecan-public-search .cruisecan-owner-cabin-entry{margin:14px 0;padding:8px 0}
@media(max-width:620px){.cruisecan-public-search .cruisecan-cabin-verify{padding:12px}.cruisecan-public-search .cruisecan-cabin-verify select{max-width:100%}}

/* Fare changes chosen intentionally by the customer are not price-integrity errors. */
.cruisecan-selection-status .cruisecan-selection-comparison-note{color:#344054;font-weight:400;line-height:1.5}

/* Source-bound party totals stay readable alongside rounded per-person prices. */
.cruisecan-party-total,.cruisecan-party-price-pending {display:block;margin:10px 0;line-height:1.45;}
.cruisecan-selected-party-total {padding:14px;margin:12px 0;background:#eef5ff;border-left:4px solid #1865ad;border-radius:6px;}
.cruisecan-cabin-choice-tile[hidden] {display:none!important;}

/* Official local SVG plans; no PDF iframe or guessed room coordinates. */
.cruisecan-interactive-deck-plan{margin:1rem 0;border:1px solid #cbd5e1;border-radius:12px;padding:12px;max-width:100%;overflow:hidden}
.cruisecan-interactive-plan-viewport{width:100%;max-height:430px;overflow:auto;overscroll-behavior:contain;border:1px solid #cbd5e1;background:#fff;touch-action:pan-x pan-y}
.cruisecan-interactive-plan-viewport svg{display:block;flex:none}
.cruisecan-plan-controls{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.cruisecan-interactive-plan-viewport [data-selectable-cabin]:focus{outline:none;stroke:#ed5a13!important;stroke-width:4!important}

/* Drag the plan without selecting labels; native touch scrolling remains. */
.cruisecan-interactive-plan-viewport {cursor:grab;user-select:none;-webkit-user-select:none;}
.cruisecan-interactive-plan-viewport.is-panning,.cruisecan-interactive-plan-viewport.is-panning * {cursor:grabbing!important;}

/* Journey rendering owns anchoring; the deck-map viewport remains independent. */
.cruisecan-public-search [data-cabins-content]{overflow-anchor:none}
.cruisecan-public-search .cruisecan-cabin-confirmation{color:#b42318;font-size:14px;line-height:1.5;margin:12px 0}

/* Guests belong to the selected sailing, not the discovery filter form. */
.cruisecan-guest-step fieldset{margin:1rem 0;padding:1rem;border:1px solid #bfd0e3;border-radius:12px;display:flex;align-items:center;flex-wrap:wrap;gap:1rem}
.cruisecan-guest-step legend{font-weight:700}
.cruisecan-guest-step label{display:flex;flex-direction:column;gap:.35rem}
.cruisecan-guest-step select{min-height:44px;max-width:100%;font-size:1rem}
.cruisecan-guest-step [data-guest-status]{color:#9c2424}
@media(max-width:600px){.cruisecan-guest-step fieldset{align-items:stretch;flex-direction:column}.cruisecan-guest-step button{min-height:44px}.cruisecan-journey-progress ol{flex-wrap:wrap}}

/* Exact-sailing itinerary: disclosure stays in the existing dialog, no overlay. */
.cruisecan-route-panel{margin:16px 0;min-width:0}
.cruisecan-route-panel summary{color:#174879;font-weight:700;cursor:pointer;padding:12px 16px;border:1px solid #bdd1e6;border-radius:8px;background:#fff}
.cruisecan-route-content{padding:16px;background:#fff;border:1px solid #d0d5dd;border-radius:8px;min-width:0}
.cruisecan-route-content .cruisecan-daily-grid{grid-template-columns:minmax(230px,.85fr) minmax(0,1.35fr)}
.cruisecan-route-summary{font-size:14px;line-height:1.5;margin:16px 0}.cruisecan-route-summary dt{font-weight:700;color:#173652}.cruisecan-route-summary dd{margin:0 0 8px}
.cruisecan-route-tools{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px}.cruisecan-route-tools button{min-height:42px;min-width:42px}
.cruisecan-route-viewport{overflow:hidden;cursor:grab;touch-action:pan-y;user-select:none}.cruisecan-route-viewport:active{cursor:grabbing}
.cruisecan-public-search .cruisecan-route-content .cruisecan-itinerary-table{min-width:0;font-size:13px;table-layout:auto}
.cruisecan-day-badge{display:inline-block;background:#15385b;color:#fff;border-radius:5px;padding:2px 8px}.cruisecan-call-role{display:block;color:#586779}
.cruisecan-schedule-notice{font-size:12px;color:#586779;line-height:1.5}
.cruisecan-route-content [data-route-close]{margin-top:12px;min-height:44px}
@media(max-width:1050px){.cruisecan-route-content .cruisecan-daily-grid{grid-template-columns:1fr}}
@media(max-width:600px){
 .cruisecan-route-content{padding:10px}.cruisecan-route-content .cruisecan-timetable-scroll{overflow:visible}
 .cruisecan-route-content .cruisecan-itinerary-table thead{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
 .cruisecan-route-content .cruisecan-itinerary-table,.cruisecan-route-content .cruisecan-itinerary-table tbody{display:block;width:100%}
 .cruisecan-route-content .cruisecan-itinerary-table tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d0d5dd;border-radius:8px;margin:8px 0;padding:8px;gap:4px}
 .cruisecan-route-content .cruisecan-itinerary-table th,.cruisecan-route-content .cruisecan-itinerary-table td{display:block;min-width:0;border:0;padding:4px;overflow-wrap:anywhere}
 .cruisecan-route-content .cruisecan-itinerary-table td[data-label="Port"]{grid-column:1/-1}
 .cruisecan-route-content .cruisecan-itinerary-table td[data-label="Arrival"]:before,.cruisecan-route-content .cruisecan-itinerary-table td[data-label="Departure"]:before{content:attr(data-label);display:block;font-size:12px;color:#586779}
}

.cruisecan-route-content button{background:#fff;color:#174879;border:1px solid #bdd1e6;border-radius:6px;padding:8px 12px;font:inherit;font-weight:600;cursor:pointer}
.cruisecan-route-content button:hover{background:#eef5fc}
.cruisecan-route-content button:focus-visible,.cruisecan-route-panel summary:focus-visible,.cruisecan-route-viewport:focus-visible{outline:3px solid #1967b1;outline-offset:2px}

/* RC119: one category step, locally hosted media and concise search cards. */
.cruisecan-public-search{--cc-navy:#153a64;--cc-blue:#1769aa;--cc-text:#243e58;--cc-line:#c4d5e6;color:var(--cc-text)}
.cruisecan-public-search .cruisecan-result-main{min-width:0}
.cruisecan-public-search .cruisecan-ship-photo{float:left;width:132px;margin:0 18px 8px 0}
.cruisecan-public-search .cruisecan-ship-photo img{display:block;width:100%;height:108px;object-fit:contain;border-radius:10px;background:#edf5fa}
.cruisecan-public-search .cruisecan-result-price{max-width:380px;gap:8px}
.cruisecan-public-search .cruisecan-result-price>strong{font-size:clamp(21px,2.3vw,28px);line-height:1.25}
.cruisecan-public-search .cruisecan-result-price small{font-size:13px;line-height:1.45;color:#425b73}
.cruisecan-public-search .cruisecan-fare-groups{align-items:start}
.cruisecan-public-search article.cruisecan-category-card{padding:0;background:#fff;border:1px solid var(--cc-line);border-radius:14px;overflow:hidden;min-width:0}
.cruisecan-public-search article.cruisecan-category-card.is-selected{border:2px solid #1769aa;box-shadow:0 0 0 2px #d9eafb}
.cruisecan-public-search article.cruisecan-category-card>.cruisecan-choice-card{border:0;box-shadow:none;border-radius:0;width:100%;min-width:0;text-align:left;padding:18px;display:flex;flex-direction:column;gap:12px;background:transparent;color:var(--cc-text)}
.cruisecan-public-search article.cruisecan-category-card>.cruisecan-choice-card:disabled{opacity:1}
.cruisecan-public-search article.cruisecan-category-card .cruisecan-package-price{font-size:22px}
.cruisecan-public-search .cruisecan-cabin-photo{margin:0;background:#f1f5f8}
.cruisecan-public-search .cruisecan-cabin-photo img{display:block;width:100%;height:200px;object-fit:contain}
.cruisecan-public-search .cruisecan-cabin-photo figcaption{font-size:12px;line-height:1.4;padding:6px 12px;color:#425b73;background:#f8fbfd}
.cruisecan-public-search .cruisecan-category-details{padding:0 18px 18px}
.cruisecan-public-search .cruisecan-category-details summary,.cruisecan-public-search .cruisecan-local-plan summary{cursor:pointer;padding:10px 0;font-weight:700;min-height:44px;color:#14568d}
.cruisecan-public-search .cruisecan-category-details p,.cruisecan-public-search .cruisecan-category-details li{font-size:14px;line-height:1.55}
.cruisecan-public-search .cruisecan-local-plan-frame{width:100%;height:480px;border:1px solid var(--cc-line);margin-top:12px;background:#fff}
.cruisecan-public-search .cruisecan-choice-card:focus-visible,.cruisecan-public-search summary:focus-visible{outline:3px solid #153a64;outline-offset:3px}
.cruisecan-public-search .cruisecan-journey-progress li{word-break:normal;overflow-wrap:normal;min-width:0}
.cruisecan-public-search .cruisecan-journey-progress li[aria-current=step]{font-weight:800}
.cruisecan-public-search [data-remove-guest]{background:transparent;color:#425b73;border:1px solid var(--cc-line);padding:8px 12px;min-height:44px}
.cruisecan-public-search .cruisecan-empty button{margin:12px 12px 0 0}
@media(max-width:620px){
 .cruisecan-public-search .cruisecan-ship-photo{width:96px;margin-right:12px}
 .cruisecan-public-search .cruisecan-ship-photo img{height:84px}
 .cruisecan-public-search .cruisecan-result-price{width:100%;max-width:none;align-items:flex-start;border-top:1px solid var(--cc-line);padding-top:12px}
 .cruisecan-public-search .cruisecan-result-main{width:100%}
 .cruisecan-public-search .cruisecan-result-main:after{content:"";display:block;clear:both}
 .cruisecan-public-search .cruisecan-journey-progress ol{display:block}
 .cruisecan-public-search .cruisecan-journey-progress li:not([aria-current=step]){display:none}
 .cruisecan-public-search .cruisecan-journey-progress li[aria-current=step]{display:flex;gap:8px;align-items:center}
 .cruisecan-public-search .cruisecan-journey-progress li[aria-current=step]:after{content:"of 7";font-size:13px;font-weight:400;margin-left:auto}
 .cruisecan-public-search .cruisecan-fare-groups,.cruisecan-public-search .cruisecan-package-grid{grid-template-columns:minmax(0,1fr)}
 .cruisecan-public-search .cruisecan-cabin-photo img{height:180px}
 .cruisecan-public-search .cruisecan-local-plan-frame{height:360px}
}
.cruisecan-public-search .cruisecan-result-main{flex:1}
.cruisecan-public-search article.cruisecan-category-card .cruisecan-choice-card:not(:hover):not(:focus-visible){background:white}
.cruisecan-public-search article.cruisecan-category-card.is-selected .cruisecan-choice-card{background:#eff6ff}
.cruisecan-public-search .cruisecan-search-note{display:none}

.cruisecan-public-search .cruisecan-ship-photo figcaption{font-size:11px;line-height:1.4;color:#425b73;margin-top:4px}

/* RC120: approved design proposal applied to the functional WordPress journey.
   Kept in this enqueued stylesheet so production and all offline fixtures use
   identical rules. Scoping isolates theme overrides and preserves map geometry. */
.cruisecan-public-search.cruisecan-design {
 --cc-navy:#16324f;--cc-text:#16324f;--cc-blue:#1e5aa8;--cc-blue-hover:#174a8a;
 --cc-muted:#42566b;--cc-border:#ccd7e3;--cc-line:#ccd7e3;--cc-blue-pale:#eaf2ff;
 --cc-page:#f5f8fc;--cc-control:#6b7e93;--cc-error:#b42318;
 max-width:1200px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.5;color:var(--cc-text);
}
.cruisecan-design *, .cruisecan-design *:before,.cruisecan-design *:after{box-sizing:border-box}
.cruisecan-public-search.cruisecan-design h2{font-size:32px;line-height:1.2}
.cruisecan-public-search.cruisecan-design h3{font-size:22px;line-height:1.3}
.cruisecan-public-search.cruisecan-design h4,.cruisecan-public-search.cruisecan-design .cruisecan-fare-wizard h5{font-size:24px;line-height:1.3;margin:0 0 12px;font-weight:750}
.cruisecan-public-search.cruisecan-design p{line-height:1.5}
.cruisecan-public-search.cruisecan-design small{font-size:14px;line-height:1.5;color:var(--cc-muted)}
.cruisecan-public-search.cruisecan-design button{min-height:44px;border-radius:8px;padding:10px 16px;font-family:inherit;font-size:16px;font-weight:650;line-height:1.4;text-transform:none;letter-spacing:normal;white-space:normal}
.cruisecan-public-search.cruisecan-design a{color:var(--cc-blue)}
.cruisecan-public-search.cruisecan-design :is(button,a,summary,input,select,textarea):focus-visible{outline:3px solid var(--cc-blue)!important;outline-offset:3px}
.cruisecan-public-search.cruisecan-design :is(input,select,textarea){font-family:inherit;font-size:16px;line-height:1.4;min-height:44px;border:1px solid var(--cc-control);border-radius:8px;padding:10px;color:var(--cc-text);background:#fff;max-width:100%}
.cruisecan-public-search.cruisecan-design input[type=checkbox]{min-height:20px;width:20px;height:20px;flex-shrink:0;padding:0}
.cruisecan-public-search.cruisecan-design :is(.cruisecan-primary-button,.cruisecan-view-button){box-shadow:none;margin-top:12px}
.cruisecan-public-search.cruisecan-design .cruisecan-search-hero{margin-bottom:24px}
.cruisecan-public-search.cruisecan-design .cruisecan-search-hero p{color:var(--cc-muted)}
.cruisecan-public-search.cruisecan-design .cruisecan-public-search-form{padding:24px;border:1px solid var(--cc-line);border-radius:12px;box-shadow:none}
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:end}
.cruisecan-public-search.cruisecan-design .cruisecan-search-submit{margin:0;min-width:150px;width:auto}
.cruisecan-public-search.cruisecan-design [data-region-wrap]{grid-column:auto;order:0}
.cruisecan-public-search.cruisecan-design [data-region-wrap][hidden]{display:none}
.cruisecan-public-search.cruisecan-design .cruisecan-advanced-filters{grid-column:1/-1;order:2;padding:0;border:0;background:transparent;margin:0}
.cruisecan-public-search.cruisecan-design .cruisecan-advanced-filters summary{padding:8px 0;min-height:44px}
.cruisecan-public-search.cruisecan-design .cruisecan-field{font-size:14px;font-weight:600;gap:6px}
.cruisecan-public-search.cruisecan-design .cruisecan-search-toolbar{margin:24px 0 8px}
.cruisecan-public-search.cruisecan-design .cruisecan-search-message{font-size:14px;color:var(--cc-muted);margin-bottom:16px}
.cruisecan-public-search.cruisecan-design .cruisecan-public-results{gap:16px}
.cruisecan-public-search.cruisecan-design .cruisecan-result-card{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;padding:24px;border:1px solid var(--cc-line);border-radius:12px;box-shadow:none;transform:none}
.cruisecan-public-search.cruisecan-design .cruisecan-result-card:focus-visible{outline:3px solid var(--cc-blue);outline-offset:3px}
.cruisecan-public-search.cruisecan-design .cruisecan-result-main p{color:var(--cc-muted);margin:8px 0}
.cruisecan-public-search.cruisecan-design .cruisecan-result-main .cruisecan-route{color:var(--cc-text);font-size:18px;clear:both;padding-top:8px}
.cruisecan-public-search.cruisecan-design .cruisecan-provider-badge{color:var(--cc-muted);font-size:12px;letter-spacing:.08em}
.cruisecan-public-search.cruisecan-design .cruisecan-fare-desc{display:inline-block;background:var(--cc-blue-pale);padding:4px 8px;border-radius:5px;font-size:14px;color:var(--cc-text)!important}
.cruisecan-public-search.cruisecan-design .cruisecan-result-price{border-left:1px solid var(--cc-line);padding-left:24px;align-items:flex-start;text-align:left;min-width:0;max-width:none;gap:8px;justify-content:start}
.cruisecan-public-search.cruisecan-design .cruisecan-result-price>strong{font-size:28px;line-height:1.25;letter-spacing:-.025em;margin:0;color:var(--cc-text)}
.cruisecan-public-search.cruisecan-design .cruisecan-result-total{font-size:14px;margin:0}
.cruisecan-public-search.cruisecan-design .cruisecan-result-total strong{display:inline;font-size:16px;color:var(--cc-text);margin:0}
.cruisecan-public-search.cruisecan-design .cruisecan-view-button{width:100%;margin-top:auto}
.cruisecan-public-search.cruisecan-design .cruisecan-modal-panel{max-width:1200px;background:var(--cc-page);padding:24px;border-radius:12px}
.cruisecan-public-search.cruisecan-design .cruisecan-modal-panel>h3{padding:0 48px 16px 0;margin:0 0 20px;border-bottom:1px solid var(--cc-line)}
.cruisecan-public-search.cruisecan-design .cruisecan-modal-close{width:44px;height:44px;padding:0;font-size:28px;background:#fff;z-index:10}
.cruisecan-public-search.cruisecan-design .cruisecan-journey-progress{margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid var(--cc-line);background:var(--cc-page)}
.cruisecan-public-search.cruisecan-design .cruisecan-journey-progress ol{gap:12px}
.cruisecan-public-search.cruisecan-design .cruisecan-journey-progress li{font-size:14px;gap:6px;color:var(--cc-muted)}
.cruisecan-public-search.cruisecan-design .cruisecan-journey-progress li[aria-current=step]{color:var(--cc-blue)}
.cruisecan-design-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px;align-items:start}
.cruisecan-design-layout>*{min-width:0}
.cruisecan-design-main>*{max-width:100%}
.cruisecan-public-search.cruisecan-design .cruisecan-request-summary{position:sticky;top:16px;align-self:start;border:1px solid var(--cc-line);border-radius:12px;padding:20px;background:#fff;margin:0}
.cruisecan-request-summary>summary{font-size:18px;font-weight:700;cursor:pointer;min-height:44px;list-style:none}
.cruisecan-summary-hint{display:block;font-size:13px;font-weight:400;color:var(--cc-blue);margin-top:4px}
.cruisecan-request-summary-body{margin-top:16px}
.cruisecan-request-summary dl{margin:0}
.cruisecan-request-summary dt{font-size:13px;color:var(--cc-muted)}
.cruisecan-request-summary dd{font-weight:600;margin:2px 0 16px;overflow-wrap:anywhere}
.cruisecan-request-summary ol{padding-left:20px;margin:0}
.cruisecan-request-summary li{margin-bottom:12px}
.cruisecan-summary-price{border-top:1px solid var(--cc-line);padding-top:16px}
.cruisecan-summary-total{display:block;margin-bottom:8px}
.cruisecan-summary-price small{display:block;margin-top:8px}
.cruisecan-summary-note{border-left:3px solid var(--cc-control);padding:10px 12px;background:var(--cc-page);font-size:14px;margin:16px 0 0}
.cruisecan-public-search.cruisecan-design .cruisecan-detail-summary{background:transparent;padding:0 0 16px;margin:16px 0;border-bottom:1px solid var(--cc-line);border-radius:0}
.cruisecan-public-search.cruisecan-design .cruisecan-detail-summary h4{font-size:22px}
.cruisecan-public-search.cruisecan-design .cruisecan-detail-summary p{font-size:14px;color:var(--cc-muted)}
.cruisecan-public-search.cruisecan-design .cruisecan-confirmed-guests{font-size:14px;margin:8px 0}
.cruisecan-public-search.cruisecan-design .cruisecan-fare-wizard{padding:0;border:0;background:transparent;margin:24px 0}
.cruisecan-public-search.cruisecan-design .cruisecan-fare-wizard>p{font-size:16px;margin-bottom:20px}
.cruisecan-public-search.cruisecan-design .cruisecan-fare-wizard h5{margin-top:20px}
.cruisecan-public-search.cruisecan-design .cruisecan-fare-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
.cruisecan-public-search.cruisecan-design button.cruisecan-choice-card{padding:24px;border:1px solid var(--cc-line)!important;border-radius:12px;gap:12px;text-align:left;align-items:stretch;justify-content:flex-start}
.cruisecan-public-search.cruisecan-design button.cruisecan-choice-card>strong{font-size:18px;line-height:1.3;min-height:0}
.cruisecan-public-search.cruisecan-design button.cruisecan-choice-card small{font-size:14px;font-weight:400}
.cruisecan-public-search.cruisecan-design .cruisecan-package-price{border:0;margin:0;padding:8px 0 0;font-size:28px!important;line-height:1.25;font-weight:750;letter-spacing:-.025em;color:var(--cc-text)}
.cruisecan-public-search.cruisecan-design .cruisecan-party-total{border-top:1px solid var(--cc-line);padding-top:12px;margin:0}
.cruisecan-public-search.cruisecan-design .cruisecan-party-total strong{font-size:16px!important;line-height:1.5}
.cruisecan-public-search.cruisecan-design .cruisecan-package-select{display:block;border-radius:8px;min-height:44px;padding:10px 12px;background:var(--cc-blue);color:#fff;text-align:center;font-size:16px;margin-top:auto}
.cruisecan-public-search.cruisecan-design .cruisecan-category-card{border-radius:12px;display:flex;flex-direction:column}
.cruisecan-public-search.cruisecan-design article.cruisecan-category-card>.cruisecan-choice-card{border:0!important;border-radius:0;flex:1}
.cruisecan-public-search.cruisecan-design article.cruisecan-category-card.is-selected{border:2px solid var(--cc-blue);box-shadow:none}
.cruisecan-public-search.cruisecan-design article.cruisecan-category-card.is-selected>.cruisecan-choice-card{background:var(--cc-blue-pale)!important}
.cruisecan-public-search.cruisecan-design article.cruisecan-category-card.is-selected .cruisecan-package-select{background:transparent;color:var(--cc-blue)}
.cruisecan-public-search.cruisecan-design .cruisecan-category-details{padding:0 24px 16px}
.cruisecan-public-search.cruisecan-design .cruisecan-experience-label{border:0;background:var(--cc-blue-pale);border-radius:5px;font-size:13px;padding:4px 8px;align-self:flex-start}
.cruisecan-public-search.cruisecan-design .cruisecan-cabin-photo img{height:200px;object-fit:cover}
.cruisecan-public-search.cruisecan-design .cruisecan-cabin-photo figcaption{font-size:12px;color:var(--cc-muted)}
.cruisecan-public-search.cruisecan-design :is(.cruisecan-cabin-number-step,.cruisecan-traveler,.cruisecan-enquiry-summary,.cruisecan-price-review){border:1px solid var(--cc-line);background:#fff;border-radius:12px;padding:24px;margin:16px 0}
.cruisecan-public-search.cruisecan-design .cruisecan-wizard-context{background:var(--cc-blue-pale);border:0;padding:12px 16px;margin:0 0 16px;font-size:14px;border-radius:8px}
.cruisecan-public-search.cruisecan-design .cruisecan-wizard-context p{margin:4px 0 0}
.cruisecan-public-search.cruisecan-design .cruisecan-cabin-confirmation{color:var(--cc-error);font-size:14px;margin:12px 0 20px}
.cruisecan-public-search.cruisecan-design .cruisecan-selection-status{padding:20px;background:#fff;border:1px solid var(--cc-line);border-radius:12px}
.cruisecan-public-search.cruisecan-design .cruisecan-traveler{margin:0;min-width:0}
.cruisecan-public-search.cruisecan-design .cruisecan-traveler label{font-size:14px;font-weight:600}
.cruisecan-public-search.cruisecan-design .cruisecan-request-consent{padding:16px;border:1px solid var(--cc-line);border-radius:8px;background:#fff;font-size:14px}
.cruisecan-public-search.cruisecan-design .is-error{color:var(--cc-error)}
.cruisecan-public-search.cruisecan-design .cruisecan-route-grid{grid-template-columns:minmax(0,1fr)}
@media(max-width:1000px){
 .cruisecan-public-search.cruisecan-design .cruisecan-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cruisecan-public-search.cruisecan-design .cruisecan-search-submit{width:100%}
 .cruisecan-design-layout{grid-template-columns:minmax(0,1fr) 250px;gap:16px}
 .cruisecan-public-search.cruisecan-design .cruisecan-fare-groups{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:700px){
 .cruisecan-public-search.cruisecan-design{padding:0 16px}
 .cruisecan-public-search.cruisecan-design h2{font-size:28px}
 .cruisecan-public-search.cruisecan-design .cruisecan-search-grid{grid-template-columns:minmax(0,1fr)}
 .cruisecan-public-search.cruisecan-design .cruisecan-result-card{grid-template-columns:minmax(0,1fr);padding:16px;gap:16px}
 .cruisecan-public-search.cruisecan-design .cruisecan-public-search-form{padding:16px}
 .cruisecan-public-search.cruisecan-design .cruisecan-result-price{width:100%;border-left:0;border-top:1px solid var(--cc-line);padding:16px 0 0}
 .cruisecan-public-search.cruisecan-design .cruisecan-view-button{margin-top:12px}
 .cruisecan-public-search.cruisecan-design .cruisecan-modal-panel{padding:16px;width:calc(100% - 16px);margin:8px auto;max-height:calc(100dvh - 16px)}
 .cruisecan-design-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
 .cruisecan-public-search.cruisecan-design .cruisecan-request-summary{position:static;grid-row:1;padding:16px}
 .cruisecan-public-search.cruisecan-design .cruisecan-journey-progress ol{display:block}
 .cruisecan-public-search.cruisecan-design .cruisecan-journey-progress li:not([aria-current=step]){display:none}
 .cruisecan-public-search.cruisecan-design .cruisecan-journey-progress li[aria-current=step]{display:flex;align-items:center}
 .cruisecan-public-search.cruisecan-design .cruisecan-journey-progress li[aria-current=step]:after{content:"of 7";font-size:13px;font-weight:400;margin-left:auto}
 .cruisecan-public-search.cruisecan-design button.cruisecan-choice-card{padding:16px}
 .cruisecan-public-search.cruisecan-design .cruisecan-category-details{padding:0 16px 16px}
 .cruisecan-public-search.cruisecan-design :is(.cruisecan-cabin-number-step,.cruisecan-traveler,.cruisecan-enquiry-summary,.cruisecan-price-review){padding:16px}
 .cruisecan-public-search.cruisecan-design .cruisecan-cabin-photo img{height:180px}
 .cruisecan-public-search.cruisecan-design .cruisecan-package-price{font-size:26px!important}
}
@media(prefers-reduced-motion:reduce){.cruisecan-design *{scroll-behavior:auto!important;transition:none!important}}

.cruisecan-public-search.cruisecan-design .cruisecan-search-hero{padding:0;border:0;border-radius:0;background:transparent}
.cruisecan-public-search.cruisecan-design .cruisecan-search-hero h2{font-weight:750;letter-spacing:-.025em}
.cruisecan-public-search.cruisecan-design .cruisecan-fare-desc:empty{display:none}
.cruisecan-public-search.cruisecan-design .cruisecan-price-basis{font-size:14px;font-weight:400;letter-spacing:normal;line-height:1.5}
.cruisecan-public-search.cruisecan-design button.cruisecan-modal-close{position:sticky;float:right;top:0;right:0;margin-bottom:-44px;box-shadow:0 2px 6px #16324f18}
.cruisecan-public-search.cruisecan-design .cruisecan-party-price-pending{font-size:14px;font-weight:400;color:var(--cc-muted)}
.cruisecan-public-search.cruisecan-design .cruisecan-price-review h5,.cruisecan-public-search.cruisecan-design .cruisecan-enquiry-summary h5{font-size:18px;margin:0 0 16px}
.cruisecan-public-search.cruisecan-design .cruisecan-local-plan-frame{min-width:0}

.cruisecan-public-search.cruisecan-design button.cruisecan-package-card>strong,.cruisecan-public-search.cruisecan-design button.cruisecan-package-card .cruisecan-party-total{text-align:left}
.cruisecan-public-search.cruisecan-design button.cruisecan-package-card .cruisecan-package-select{box-shadow:none;background:var(--cc-blue)}
.cruisecan-public-search.cruisecan-design .cruisecan-modal-panel>h3{position:sticky;top:0;background:var(--cc-page);z-index:9;min-height:56px;padding-top:8px}

.cruisecan-public-search.cruisecan-design :is(.cruisecan-enquiry-summary,.cruisecan-price-review) dl>div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:16px;padding:10px 0;border-bottom:1px solid var(--cc-line)}
.cruisecan-public-search.cruisecan-design :is(.cruisecan-enquiry-summary,.cruisecan-price-review) dt{font-size:14px;font-weight:500;color:var(--cc-muted)}
.cruisecan-public-search.cruisecan-design :is(.cruisecan-enquiry-summary,.cruisecan-price-review) dd{margin:0;overflow-wrap:anywhere}
.cruisecan-public-search.cruisecan-design [data-request-form]{border:1px solid var(--cc-line);background:#fff;border-radius:12px;padding:24px;margin:16px 0}
.cruisecan-public-search.cruisecan-design [data-request-form] h5{font-size:18px;margin:0 0 16px}
@media(max-width:700px){
 .cruisecan-public-search.cruisecan-design :is(.cruisecan-enquiry-summary,.cruisecan-price-review) dl>div{grid-template-columns:minmax(0,1fr);gap:4px}
 .cruisecan-public-search.cruisecan-design [data-request-form]{padding:16px}
}

.cruisecan-public-search.cruisecan-design .cruisecan-cabin-step-price{font-size:28px;font-weight:750;line-height:1.25}
.cruisecan-public-search.cruisecan-design button.cruisecan-package-card strong{display:block;min-height:0;justify-content:flex-start}
.cruisecan-public-search.cruisecan-design .cruisecan-package-grid .cruisecan-choice-card{box-shadow:none;transform:none}
@media(min-width:701px){.cruisecan-public-search.cruisecan-design .cruisecan-request-summary{top:80px}}

/* RC124: independent photo/title columns; no float-driven gaps. */
.cruisecan-design .cruisecan-result-header{display:grid;grid-template-columns:160px minmax(0,1fr);gap:20px;align-items:center;margin-bottom:16px}
.cruisecan-design .cruisecan-result-header:not(:has(.cruisecan-ship-photo:not([hidden]))){grid-template-columns:minmax(0,1fr)}
.cruisecan-design .cruisecan-result-title{min-width:0}
.cruisecan-design .cruisecan-result-title h3{font-size:clamp(20px,2vw,26px);line-height:1.3;word-break:normal;overflow-wrap:normal;margin:4px 0}
.cruisecan-design .cruisecan-ship-photo{float:none;width:100%;margin:0;min-width:0}
.cruisecan-design .cruisecan-ship-photo img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:#f3f7fb}
.cruisecan-design .cruisecan-ship-photo figcaption{font-size:12px;line-height:1.4}
.cruisecan-design .cruisecan-route{clear:none}
.cruisecan-design .cruisecan-result-destinations{margin:10px 0;min-width:0}
.cruisecan-design .cruisecan-result-destinations summary{font-size:14px;line-height:1.5;cursor:pointer;color:#425b73}
.cruisecan-design .cruisecan-result-destinations summary span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:400}
.cruisecan-design .cruisecan-result-destinations[open] summary span{display:none}
.cruisecan-design .cruisecan-result-destinations p{font-size:14px;line-height:1.5;margin:8px 0}
.cruisecan-design .cruisecan-cabin-photo-fallback{background:#f3f7fb;text-align:center;padding:20px;min-height:120px;color:#425b73}
.cruisecan-design .cruisecan-cabin-photo-fallback>span{font-size:32px}
.cruisecan-design .cruisecan-cabin-photo-fallback p{margin:6px 0;font-size:14px}
.cruisecan-design .cruisecan-plan-legend{margin-top:16px;padding:12px;border:1px solid #c4d5e6;border-radius:8px}
.cruisecan-design .cruisecan-plan-legend summary{cursor:pointer;font-weight:700;min-height:44px}
.cruisecan-design .cruisecan-plan-legend img{display:block;width:100%;max-width:550px;height:auto}
.cruisecan-design .cruisecan-plan-legend p,.cruisecan-design .cruisecan-plan-legend li{font-size:14px;line-height:1.5}
@media(max-width:700px){
 .cruisecan-design .cruisecan-result-header{grid-template-columns:minmax(0,1fr);gap:14px}
 .cruisecan-design .cruisecan-ship-photo img{aspect-ratio:16/9;max-height:240px}
}
@media(max-width:600px){
 .cruisecan-route-content .cruisecan-itinerary-table caption{display:block;width:100%;box-sizing:border-box;white-space:normal;word-break:normal;overflow-wrap:normal;text-align:left;padding:8px 0}
 .cruisecan-route-content .cruisecan-itinerary-table tr{grid-template-columns:repeat(4,minmax(0,1fr));padding:10px;gap:8px}
 .cruisecan-route-content .cruisecan-itinerary-table th{background:transparent;color:#16324f;align-self:start}
 .cruisecan-route-content .cruisecan-itinerary-table td[data-label="Port"]{font-size:15px;color:#16324f;line-height:1.5}
 .cruisecan-route-content .cruisecan-itinerary-table td[data-label="Arrival"],.cruisecan-route-content .cruisecan-itinerary-table td[data-label="Departure"]{grid-column:span 2;display:block}
 .cruisecan-route-content .cruisecan-itinerary-table td[data-label="Date"]{text-align:right;grid-column:span 3}
}

/* RC125: primary destination + guests; scoped to the existing shortcode. */
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}
.cruisecan-public-search #cruisecan-region-status{grid-column:1/-1;color:#52677f;line-height:1.5}
.cruisecan-public-search .cruisecan-search-guests{position:relative;min-width:0;align-self:stretch}
.cruisecan-public-search .cruisecan-search-guests>summary{display:flex;flex-direction:column;gap:7px;cursor:pointer;list-style:none;font-size:14px;font-weight:700}
.cruisecan-public-search .cruisecan-search-guests>summary strong{border:1px solid #7189a5;border-radius:9px;padding:10px 12px;min-height:44px;box-sizing:border-box;font-weight:400;background:#fff;overflow-wrap:anywhere}
.cruisecan-public-search .cruisecan-search-guests>summary strong:after{content:'⌄';float:right}
.cruisecan-public-search .cruisecan-search-guest-panel{position:absolute;z-index:20;right:0;top:100%;width:300px;max-width:80vw;padding:16px;background:white;border:1px solid #b8cde5;border-radius:12px;box-shadow:0 10px 30px #18344d22;display:grid;gap:12px}
.cruisecan-public-search .cruisecan-search-guest-panel p{font-size:13px;line-height:1.5;margin:0}
.cruisecan-public-search .cruisecan-search-guest-panel [data-search-child-ages]{display:grid;gap:10px}
.cruisecan-public-search .cruisecan-search-guest-panel button{min-height:44px}
.cruisecan-public-search .cruisecan-advanced-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){
 .cruisecan-public-search.cruisecan-design .cruisecan-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cruisecan-public-search.cruisecan-design .cruisecan-search-grid>.cruisecan-field{grid-column:auto;min-width:0}
 .cruisecan-public-search .cruisecan-search-submit{grid-column:1/-1;width:100%}
 .cruisecan-public-search .cruisecan-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
 .cruisecan-public-search.cruisecan-design .cruisecan-public-search-form{padding:12px}
 .cruisecan-public-search.cruisecan-design .cruisecan-field select{padding:10px 5px;font-size:12px}
 .cruisecan-public-search .cruisecan-filter-hint{display:none}
 .cruisecan-public-search .cruisecan-search-guest-panel{width:240px;max-height:60vh;overflow-y:auto}
 .cruisecan-public-search .cruisecan-advanced-grid{grid-template-columns:1fr}
}

/* RC126: an accessible route back to uncategorized sailings. */
.cruisecan-public-search [data-all-destinations]{grid-column:1/-1;justify-self:start;max-width:100%;white-space:normal;text-align:left}
.cruisecan-public-search [data-all-destinations][hidden]{display:none!important}

/* RC127: one explicit responsive layout for the existing search form.
 * Neutralize legacy spans/order and theme label margins; keep modal styles isolated. */
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid{grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) minmax(180px,1.2fr) minmax(140px,.8fr) minmax(150px,auto);gap:18px 16px;align-items:end}
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid>.cruisecan-field,
.cruisecan-public-search.cruisecan-design .cruisecan-search-guests{grid-column:auto;order:0;margin:0;min-width:0;align-self:end}
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid>.cruisecan-field{display:flex;gap:8px;line-height:1.4}
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid select{width:100%;min-width:0;max-width:100%;height:48px;font-size:16px;padding:10px 28px 10px 12px;text-overflow:ellipsis}
.cruisecan-public-search.cruisecan-design .cruisecan-search-guests>summary{gap:8px;line-height:1.4;padding:0;margin:0}
.cruisecan-public-search.cruisecan-design .cruisecan-search-guests>summary::-webkit-details-marker{display:none}
.cruisecan-public-search.cruisecan-design .cruisecan-search-guests>summary strong{height:48px;font-size:16px;line-height:26px;padding:10px 12px;border-radius:8px}
.cruisecan-public-search.cruisecan-design .cruisecan-search-submit{grid-column:auto;order:0;margin:0;width:100%;min-width:0;height:48px;padding:10px 16px;align-self:end;white-space:nowrap}
.cruisecan-public-search.cruisecan-design #cruisecan-region-status{order:1;grid-column:1/-1;margin:0;font-size:13px}
.cruisecan-public-search.cruisecan-design [data-all-destinations]{order:2;grid-column:1/-1;margin:0}
.cruisecan-public-search.cruisecan-design .cruisecan-advanced-filters{order:3;grid-column:1/-1;margin:0;border-top:1px solid var(--cc-line);border-radius:0;padding-top:8px}
.cruisecan-public-search.cruisecan-design .cruisecan-advanced-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding-top:12px}
.cruisecan-public-search.cruisecan-design .cruisecan-advanced-grid>.cruisecan-field{margin:0;min-width:0;grid-column:auto}
.cruisecan-public-search.cruisecan-design .cruisecan-search-guest-panel{box-sizing:border-box;width:320px;max-width:calc(100vw - 48px);top:calc(100% + 8px)}
@media(max-width:1100px){
 .cruisecan-public-search.cruisecan-design .cruisecan-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cruisecan-public-search.cruisecan-design .cruisecan-search-submit{grid-column:1/-1}
 .cruisecan-public-search.cruisecan-design .cruisecan-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .cruisecan-public-search.cruisecan-design .cruisecan-search-grid,
 .cruisecan-public-search.cruisecan-design .cruisecan-advanced-grid{grid-template-columns:minmax(0,1fr)}
 .cruisecan-public-search.cruisecan-design .cruisecan-search-guest-panel{position:relative;top:auto;right:auto;width:100%;max-width:100%;margin-top:8px;max-height:60vh;overflow:auto}
 .cruisecan-public-search.cruisecan-design .cruisecan-filter-hint{display:none}
}

/* RC127 owner post-install RC124 layout restoration:
 * keep the new Destination/Guests fields but restore the three equal main
 * selectors + prominent Find Cruises control below one full-width Destination.
 * This avoids the cramped five-column RC127 row inside the real WP theme. */
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) minmax(155px,.85fr);
  column-gap:16px;row-gap:14px;align-items:end;
}
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid>[data-region-wrap]{
  grid-column:1/-1;order:0;align-self:stretch;
}
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid>.cruisecan-field,
.cruisecan-public-search.cruisecan-design .cruisecan-search-guests{
  min-width:0;
}
.cruisecan-public-search.cruisecan-design .cruisecan-search-submit{
  grid-column:auto;width:100%;min-width:0;max-width:none;
}
.cruisecan-public-search.cruisecan-design .cruisecan-search-toolbar{
  scroll-margin-top:clamp(80px,12vh,144px);
}
@media(max-width:1100px){
  .cruisecan-public-search.cruisecan-design .cruisecan-search-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .cruisecan-public-search.cruisecan-design .cruisecan-search-grid>[data-region-wrap]{
    grid-column:1/-1;
  }
  .cruisecan-public-search.cruisecan-design .cruisecan-search-submit{
    grid-column:2;
  }
}
@media(max-width:700px){
  .cruisecan-public-search.cruisecan-design .cruisecan-search-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .cruisecan-public-search.cruisecan-design .cruisecan-search-grid>[data-region-wrap],
  .cruisecan-public-search.cruisecan-design .cruisecan-search-submit{
    grid-column:1/-1;
  }
}

/* RC128: boundary paging controls stay focusable; click handlers enforce bounds. */
.cruisecan-public-search [data-page-prev][aria-disabled=true],
.cruisecan-public-search [data-page-next][aria-disabled=true]{opacity:.5;cursor:default}

/* Approved proposal wordmark; scoped to the existing search hero, no font download. */
.cruisecan-public-search .cruisecan-wordmark{display:inline-block;color:#16324f;font-size:28px;font-weight:700;line-height:1.2;letter-spacing:-1px;text-transform:none}
.cruisecan-public-search .cruisecan-wordmark>span{color:#c43d35}

/* RC131: cruise line remains a primary control; fit existing theme containers. */
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.cruisecan-public-search.cruisecan-design .cruisecan-search-grid>[data-region-wrap]{grid-column:auto;}
.cruisecan-public-search.cruisecan-design .cruisecan-advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.cruisecan-public-search [data-metadata-retry]{justify-self:start;}
@media(max-width:1100px){
 .cruisecan-public-search.cruisecan-design .cruisecan-search-grid,
 .cruisecan-public-search.cruisecan-design .cruisecan-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:700px){
 .cruisecan-public-search.cruisecan-design .cruisecan-search-grid,
 .cruisecan-public-search.cruisecan-design .cruisecan-advanced-grid{grid-template-columns:minmax(0,1fr);}
 .cruisecan-public-search.cruisecan-design .cruisecan-search-grid>[data-region-wrap]{grid-column:1;}
}

/* Keep successful metadata retry controls hidden under theme button rules. */
.cruisecan-public-search [data-metadata-retry][hidden]{display:none!important;}

/* Hide successful filter status even when the host theme styles small elements. */
.cruisecan-public-search #cruisecan-region-status[hidden]{display:none!important;}

/* Owner reference: sunset search card. Static presentation; no new assets or requests.
 * Apply before the engine loads so early discovery does not change the layout. */
.cruisecan-public-search.cruisecan-search-ref{--cc-ref-blue:#1e5dab;--cc-ref-ink:#183b5d;--cc-ref-line:#d6e1ee}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-public-search-form{padding:30px 32px 0;border:1px solid var(--cc-ref-line);border-radius:20px;background:#fff;box-shadow:0 18px 44px rgba(28,62,99,.12);overflow:visible}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:end}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-grid>.cruisecan-field,
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-guests{grid-column:auto;order:0;min-width:0;margin:0;gap:10px}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-grid>.cruisecan-field,
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-guests>summary{font-size:16px;font-weight:700;line-height:1.4;color:#40536b;gap:10px;margin:0}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-grid>.cruisecan-field select,
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-guests>summary strong{height:60px;min-height:60px;width:100%;padding:15px 42px 15px 52px;border:1px solid var(--cc-ref-line);border-radius:10px;color:var(--cc-ref-ink);background-color:#fbfcfe;font-size:18px;line-height:28px;font-weight:400;box-sizing:border-box;appearance:none;-webkit-appearance:none;box-shadow:0 1px 2px rgba(20,55,85,.02);background-repeat:no-repeat;background-position:18px center,right 17px center;background-size:24px,18px;text-overflow:ellipsis}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-guests>summary strong{white-space:nowrap;overflow:hidden}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-guests>summary strong:after{content:none}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-submit{grid-column:auto;order:0;align-self:end;display:flex;justify-content:center;align-items:center;gap:16px;width:100%;min-width:0;max-width:none;height:64px;margin:0;padding:14px 20px;background:var(--cc-ref-blue);color:white;border:1px solid #2768b6;border-radius:11px;font-size:21px;font-weight:700;line-height:1.4;box-shadow:none}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-submit:after{content:'→';font-size:30px;line-height:1;font-weight:400}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-submit:hover:not(:disabled){background:#164b8e}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-submit:disabled{opacity:.65}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-grid select:focus-visible,
.cruisecan-public-search.cruisecan-search-ref summary:focus-visible,
.cruisecan-public-search.cruisecan-search-ref button:focus-visible{outline:3px solid #1765b9;outline-offset:4px}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-filters{grid-column:1/-1;order:3;margin:0 -32px;padding:0 32px;border:0;border-top:1px solid var(--cc-ref-line);border-radius:0;background:transparent;min-width:0}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-filters>summary{position:relative;display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:12px 20px;min-height:72px;padding:18px 30px 18px 46px;box-sizing:border-box;color:var(--cc-ref-ink);font-size:18px;font-weight:700;list-style:none;cursor:pointer}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-filters>summary::-webkit-details-marker{display:none}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-filters>summary:before{content:'';position:absolute;left:0;top:50%;width:28px;height:28px;transform:translateY(-50%);background:var(--cc-ref-filters) center/contain no-repeat}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-filters>summary:after{content:'';position:absolute;right:0;top:50%;width:20px;height:20px;transform:translateY(-50%);background:var(--cc-ref-chevron) center/contain no-repeat}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-filters[open]>summary:after{transform:translateY(-50%) rotate(180deg)}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-filter-hint{display:inline;margin:0;padding-left:20px;border-left:1px solid var(--cc-ref-line);font-size:16px;font-weight:400;color:#61758d}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0 0 24px}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-guest-panel{width:340px;max-width:calc(100vw - 48px);top:calc(100% + 8px);right:0;border-color:var(--cc-ref-line);box-shadow:0 12px 30px #18344d22}
@media(max-width:900px){
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-public-search-form{padding:24px 24px 0}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-search-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-filters{margin:0 -24px;padding:0 24px}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:600px){
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-public-search-form{padding:20px 18px 0;border-radius:16px}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-search-grid,
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-search-grid>.cruisecan-field,
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-search-guests,
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-search-submit{grid-column:1}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-search-grid>.cruisecan-field select,
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-search-guests>summary strong{height:56px;min-height:56px;padding-top:13px;padding-bottom:13px;font-size:16px}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-search-submit{height:58px;font-size:19px}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-filters{margin:0 -18px;padding:0 18px}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-advanced-filters>summary{font-size:16px;min-height:68px;gap:3px;padding-left:38px}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-filter-hint{display:block;flex-basis:100%;border:0;padding:0;font-size:13px;line-height:1.5}
 .cruisecan-public-search.cruisecan-search-ref .cruisecan-search-guest-panel{position:relative;top:auto;right:auto;width:100%;max-width:100%;margin-top:8px;max-height:60vh;overflow:auto}
}

.cruisecan-public-search.cruisecan-search-ref{--cc-ref-filters:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231765b9%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%205h5m4%200h11M2%2012h11m4%200h5M2%2019h4m4%200h12%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%225%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%2215%22%20cy%3D%2212%22%20r%3D%222%22%2F%3E%3Ccircle%20cx%3D%228%22%20cy%3D%2219%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");--cc-ref-chevron:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23183b5d%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E")}
.cruisecan-public-search.cruisecan-search-ref [data-search-field="region"] select{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231765b9%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20%2010c0%206-8%2012-8%2012S4%2016%204%2010a8%208%200%201%201%2016%200Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222.5%22%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23183b5d%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E")}
.cruisecan-public-search.cruisecan-search-ref [data-search-field="month"] select{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231765b9%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Crect%20x%3D%223%22%20y%3D%225%22%20width%3D%2218%22%20height%3D%2216%22%20rx%3D%222%22%2F%3E%3Cpath%20d%3D%22M7%202v6m10-6v6M3%2010h18m-12%205h2%22%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23183b5d%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E")}
.cruisecan-public-search.cruisecan-search-ref [data-search-field="provider"] select{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231765b9%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M2%2012h20l-3%208H5l-3-8Zm3%200%202-6h10l2%206M10%206V3h4v3M9%209h1m4%200h1%22%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23183b5d%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E")}
.cruisecan-public-search.cruisecan-search-ref [data-search-field="departure"] select{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231765b9%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%225%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M12%207v15M8%2011h8M3%2014v3h3m15-3v3h-3M3%2017c3%200%203%205%209%205s6-5%209-5%22%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23183b5d%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E")}
.cruisecan-public-search.cruisecan-search-ref .cruisecan-search-guests>summary strong{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%231765b9%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%227%22%20r%3D%223%22%2F%3E%3Cpath%20d%3D%22M3%2021v-2a6%206%200%200%201%2012%200v2H3Zm14-17a3%203%200%200%201%200%206m1%204a5%205%200%200%201%203%205v2%22%2F%3E%3C%2Fsvg%3E"),url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23183b5d%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m6%209%206%206%206-6%22%2F%3E%3C%2Fsvg%3E")}
