/* ============================================================
   Widgety Cruise Detail Page — wcs-detail.css
   Updated to match new UI design
   ============================================================ */

.wcs-detail {
	--wcs-navy:     #0d1b2a;
	--wcs-navy-mid: #1a2d42;
	--wcs-red:      #c8102e;
	--wcs-white:    #ffffff;
	--wcs-light:    #f6f8fa;
	--wcs-border:   #e2e8f0;
	--wcs-text:     #1a2332;
	--wcs-muted:    #64748b;
	--wcs-bg-card:  #f0f2f5;
	--wcs-font:     "Figtree", Open Sans, Helvetica, Arial, Sans-Serif;;

	font-family:    var(--wcs-font);
	font-size:      15px;
	color:          var(--wcs-text);
	line-height:    1.6;
	margin:         0 auto;
	padding:        0 20px 60px;
	display:        flex;
	flex-direction: column;
}


/* ── Section visual order: Cruise Line Info → Ship Widget → Cabin → Other Dates ── */
.wcs-detail > .wcs-banner            { order: 1; }
.wcs-detail__map-section             { order: 2; }
.wcs-detail__overview                { order: 3; }
.wcs-detail__itinerary-section       { order: 4; }
.wcs-detail__about-section           { order: 6; }
.wcs-detail__rooms-section           { order: 7; }
.wcs-detail__operator-brand          { order: 5; }
.wcs-detail__dates-section           { order: 8; }

@media (min-width: 576px) {
    .page-header .entry-title,
    .site-footer .footer-inner,
    .site-footer:not(.dynamic-footer),
    .site-header .header-inner,
    .site-header:not(.dynamic-header),
    body:not([class*=elementor-page-]) .site-main {
        max-width: 500px !important;
    }
}

@media (min-width: 768px) {
    .page-header .entry-title, .site-footer .footer-inner, .site-footer:not(.dynamic-footer), .site-header .header-inner, .site-header:not(.dynamic-header), body:not([class*=elementor-page-]) .site-main {
        max-width: 600px !important;
    }
}

@media (min-width: 1200px) {
    .page-header .entry-title,
    .site-footer .footer-inner,
    .site-footer:not(.dynamic-footer),
    .site-header .header-inner,
    .site-header:not(.dynamic-header),
    body:not([class*=elementor-page-]) .site-main {
        max-width: 1140px !important;
    }
}

@media (min-width: 1400px) {
    .page-header .entry-title,
    .site-footer .footer-inner,
    .site-footer:not(.dynamic-footer),
    .site-header .header-inner,
    .site-header:not(.dynamic-header),
    body:not([class*=elementor-page-]) .site-main {
        max-width: 1380px !important;
    }
}

/* ── Back button ─────────────────────────────────────────── */
.wcs-detail__back-wrap {
	    padding: 0px 0 25px;
    margin-top: -20px;
}

.page-header{
	display: none;
}

.wcs-detail__back {
    background-color: #53596B;
	font-size: 13px;
    font-weight: 600 !important;
    border-radius: 5px 5px 5px 5px;
    padding: 11px 14px 10px 14px;
    color: #fff !important;
    text-decoration: none !important;
}

.wcs-detail__back:hover { color: var(--wcs-red); }

.wcs-banner {
	margin-bottom: 64px;
}

/* ── Hero ─────────────────────────────────────────────────── */
.wcs-detail__hero {
	display:        grid;
	grid-template-columns: 1fr 50%;
	min-height:     500px;
	border-radius:  6px;
	overflow:       hidden;
	box-shadow:     0 4px 24px rgba(0,0,0,0.12);
}

.wcs-detail__hero-image {
	position:   relative;
	overflow:   hidden;
	background: var(--wcs-navy);
}

.wcs-detail__hero-image img {
	width:       100%;
	height:      100%;
	object-fit:  cover;
	display:     block;
	transition:  transform 6s ease;
}

.wcs-detail__hero-image:hover img { transform: scale(1.04); }

.wcs-detail__hero-placeholder {
	width:      100%;
	height:     100%;
	background: linear-gradient(135deg, var(--wcs-navy-mid), var(--wcs-navy));
}

.wcs-detail__hero-info {
	display:        flex;
	flex-direction: column;
	background:     var(--wcs-white);
}

/* Operator header (dark band) */
.wcs-detail__op-header {
	background: transparent;
	padding:    24px 28px 0;
	display:    flex;
	align-items: center;
}

.wcs-detail__op-badge {
background-color: #E7EDF1;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 2px;
    fill: #0c0a29;
    color: #0c0a29;
    border-radius: 5px 5px 5px 5px;
    padding: 15px 11px 14px 11px;
}

/* Info body */
.wcs-detail__hero-body {
	flex:           1;
    padding: 15px 28px 25px;
	display:        flex;
	flex-direction: column;
	gap:            16px;
}

.wcs-detail__title {
    font-size: 30px;
    font-weight: 700 !important;
    line-height: 36px;
    margin: 0;
}

/* Operator icon bar */
.wcs-detail__op-bar {
	display:       flex;
	align-items:   center;
	gap:           10px;
}

.wcs-detail__op-icon {
	display:         flex;
	align-items:     center;
	justify-content: center;
	width:           32px;
	height:          32px;
	background:      var(--wcs-red);
	color:           var(--wcs-white);
	font-size:       14px;
	font-weight:     700;
	border-radius:   50%;
	flex-shrink:     0;
}

.wcs-detail__op-logo {
	height:     32px;
	width:      auto;
	max-width:  160px;
	object-fit: contain;
	object-position: left center;
	flex-shrink: 0;
}

.wcs-detail__op-name {
	font-size:      12px;
	font-weight:    700;
	letter-spacing: 0.1em;
	color:          var(--wcs-navy);
}

/* Specs list */
.wcs-detail__specs {
	list-style: none;
	margin:     0;
	padding:    0;
	display:    flex;
	flex-direction: column;
	gap:        8px;
}

.wcs-detail__specs li {
	display:        flex;
	flex-direction: column;
	gap:            1px;
}

.wcs-detail__spec-inline {
	flex-direction: row !important;
	align-items:    center;
	gap:            8px !important;
}

.wcs-detail__spec-icon {
	font-size: 14px;
}

.wcs-detail__spec-label {
font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: #0c0a29;
}

.wcs-detail__spec-value {
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    color: #0c0a29;
}

.wcs-detail__spec-inline .wcs-detail__spec-value {
    font-size: 16px !important;
}

.wcs-detail__specs li.wcs-detail__spec-inline:nth-of-type(3) {
    margin-top: 10px;
}

/* Price block */
.wcs-detail__price-block {
	display:        flex;
	flex-direction: column;
	gap:            2px;
	margin-top:     4px;
	align-self:     flex-end;
	text-align:     right;
}

.wcs-detail__price-from {
	font-size:      14px;
	font-weight:    600;
	letter-spacing: 0.08em;
	color:          var(--wcs-muted);
	text-transform: uppercase;
}

.wcs-detail__price-val {
    font-size: 40px;
    font-weight: 600;
    text-transform: uppercase;
    color: #171e21;
    line-height: 1;
}

.wcs-detail__price-note {
    font-size: 12px;
    color: #53596b;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.book-now-wrapper{
	    display: flex;
    gap: 2px;
    margin-top: 4px;
    text-align: right;
    justify-content: space-between;
    align-items: flex-end;
}

/* Book button */
.wcs-detail__book-btn {
	display:         inline-block;
	background:      #131042;
    color: var(--wcs-white) !important;
    text-decoration: none !important;
	font-size:       13px;
	font-weight:     700;
	letter-spacing:  0.07em;
	text-transform:  uppercase;
	text-decoration: none;
	padding:         14px 24px;
	border-radius:   4px;
	transition:      background 0.15s, transform 0.1s;
}



/* ── Overview ────────────────────────────────────────────── */
.wcs-detail__overview {
	display:      grid;
	grid-template-columns: 1fr 1fr;
	gap:          52px;
	margin-bottom: 64px;
	align-items: center;
}

.wcs-detail__overview-label {
	font-size:      11px;
	font-weight:    700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color:          var(--wcs-muted);
	display:        block;
	margin-bottom:  6px;
}

/* Video / image wrapper */
.wcs-detail__video-wrap {
	position:       relative;
	padding-bottom: 56.25%;
	height:         0;
	overflow:       hidden;
	border-radius:  6px;
	background:     #000;
	box-shadow:     0 2px 16px rgba(0,0,0,0.15);
}

.wcs-detail__video-wrap iframe,
.wcs-detail__video-wrap img {
	position: absolute;
	top:      0;
	left:     0;
	width:    100%;
	height:   100%;
	border:   0;
}

.wcs-detail__video-wrap--img img { object-fit: cover; }

/* Tags */
.wcs-detail__tags {
	display:       flex;
	flex-wrap:     wrap;
	gap:           8px;
	margin-bottom: 18px;
}

.wcs-detail__tag {
	display:        inline-block;
	background:     var(--wcs-light);
	border:         1px solid var(--wcs-border);
	color:          var(--wcs-navy);
	font-size:      11px;
	font-weight:    700;
	letter-spacing: 0.09em;
	padding:        4px 12px;
	border-radius:  20px;
}

.wcs-detail__overview-text {
    color: #53596b;
    margin-bottom: 24px;
    font-family: "Figtree", Open Sans, Helvetica, Arial, Sans-Serif;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
}

.wcs-detail__overview-text p:first-child { margin-top: 0; }

.wcs-detail__read-more {
	color:           var(--wcs-navy);
	font-weight:     600;
	text-decoration: underline;
	cursor:          pointer;
}

.wcs-detail__read-more:hover {
	color: var(--wcs-red);
}

/* Ship facts — inline layout matching PNG */
.wcs-detail__ship-facts {
	display:        flex;
	flex-wrap:      wrap;
	gap:            8px 32px;
	margin-bottom:  22px;
}

.wcs-detail__fact {
	display:     flex;
	align-items: center;
	gap:         6px;
}

.wcs-detail__fact-val {
    font-family: "Figtree", Open Sans, Helvetica, Arial, Sans-Serif;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 16px;
}

.wcs-detail__fact-label {
    font-family: "Figtree", Open Sans, Helvetica, Arial, Sans-Serif;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 16px;
}

/* Deck plan / link button */
.wcs-detail__link-btn {
	display:         inline-flex;
	align-items:     center;
	gap:             6px;
	color:           var(--wcs-white);
	background:      var(--wcs-navy);
	font-size:       12px;
	font-weight:     700;
	letter-spacing:  0.07em;
	text-transform:  uppercase;
	text-decoration: none;
	padding:         12px 22px;
	border-radius:   4px;
	transition:      background 0.15s;
}

.wcs-detail__link-btn:hover {
	background: var(--wcs-red);
	color:      var(--wcs-white);
}

/* ── Full-width breakout (escapes theme max-width) ───────── */
.wcs-detail__full-bleed {
	width:          100vw;
	position:       relative;
	left:           49%;
	transform:      translateX(-50%);
	padding-left:   calc((100vw - 100%) / 2);
	padding-right:  calc((100vw - 100%) / 2);
	box-sizing:     border-box;
	background-color: #E6ECF0;
	    padding-top: 60px;
    padding-bottom: 60px;
}

/* ── Operator branding section ───────────────────────────── */
.wcs-detail__operator-brand {
	padding-top:       48px;
	padding-bottom:    48px;
	margin-bottom: 64px;
	text-align:    center;
}


.wcs-detail__operator-brand-logo {
	height:        40px;
	max-height:    40px;
	width:         auto;
	max-width:     200px;
	object-fit:    contain;
	object-position: left center;
	margin-bottom: 20px;
}

.wcs-detail__operator-brand-icon {
	display:         inline-flex;
	align-items:     center;
	justify-content: center;
	width:           48px;
	height:          48px;
	background:      var(--wcs-navy);
	color:           var(--wcs-white);
	font-size:       20px;
	font-weight:     700;
	border-radius:   8px;
	margin-bottom:   20px;
}

.wcs-detail__operator-brand-text {
	font-size:   14px;
	color:       var(--wcs-muted);
	line-height: 1.7;
	margin:      0;
}

/* Read more / read less toggle */
.wcs-detail__readmore-toggle {
	color:           var(--wcs-navy);
	font-weight:     600;
	font-size:       13px;
	text-decoration: underline;
	cursor:          pointer;
	display:         inline;
}

.wcs-detail__readmore-toggle:hover {
	color: var(--wcs-red);
}

.wcs-detail__readmore-toggle--room {
	display:    block;
	padding:    0 15px 15px;
	font-size:  13px;
}

/* Room desc clamped state */
.wcs-detail__room-desc--clamped {
	display:            -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow:           hidden;
	padding-bottom:     5px !important;
}

.wcs-detail__room-desc--expanded {
	-webkit-line-clamp: unset;
	overflow:           visible;
}

/* ── Section heading shared by itinerary / rooms / dates ─── */
.wcs-detail__section-heading {
    color: var(--wcs-navy);
    margin: 0 0 24px;
    padding-bottom: 14px;
    display: inline-block;
    font-family: "argent-cf", Open Sans, Helvetica, Arial, Sans-Serif !important;
    font-size: 32px;
    font-weight: 600;
    line-height: 38px;
}

/* New v2 heading for itinerary (sentence case, serif-style) */
.wcs-detail__section-heading-v2, .wcs-detail__section-title {
    color: var(--wcs-navy);
    margin: 0 0 8px;
    font-size: 32px;
    font-weight: 600 !important;
    line-height: 38px;
    font-family: "argent-cf", Open Sans, Helvetica, Arial, Sans-Serif !important;
}

.wcs-detail__itin-subtitle {
	font-size:     14px;
	color:         var(--wcs-muted);
	line-height:   1.6;
	margin:        0 0 28px;
}

/* ── Itinerary + booking layout ──────────────────────────── */
.wcs-detail__itinerary-section {
	display:      grid;
	grid-template-columns: 1fr 340px;
	gap:          48px;
	align-items:  start;
}

/* Accordion — card-style items */
.wcs-detail__itinerary {
	display:        flex;
	flex-direction: column;
	gap:            12px;
}

.wcs-detail__itin-item {
	background:    var(--wcs-bg-card);
	overflow:      hidden;
}

.wcs-detail__itin-toggle {
    border-color: #d5d8dc !important;
    border-radius: 10px 10px 0px 0px !important;
    background: #fff !important;
    width: 100% !important;
    text-align: left !important;
	padding: 30px !important;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.wcs-detail__itin-toggle:hover:not([disabled]) {
	background: rgba(0,0,0,0.03);
}

.wcs-detail__itin-toggle[disabled] { cursor: default; }

.wcs-detail__itin-label {
    font-size: 26px;
    font-weight: 600;
    color: var(--wcs-navy);
    font-family: "argent-cf", Open Sans, Helvetica, Arial, Sans-Serif;
}

.wcs-detail__itin-icon {
	font-size:      22px;
	color:          var(--wcs-muted);
	font-weight:    300;
	flex-shrink:    0;
	transition:     transform 0.2s;
	line-height:    1;
}

.wcs-detail__itin-toggle[aria-expanded="true"] .wcs-detail__itin-icon {
	transform: rotate(45deg);
}

.wcs-detail__itin-body {
	display:     none !important;
	padding: 10px 20px 18px;
    font-size: 16px;
    color: #53596B;
    line-height: 1.75;
    background: #fff;
	font-family: "Figtree", Open Sans, Helvetica, Arial, Sans-Serif;
}

.wcs-detail__itin-body.is-open { display: block !important; }

.wcs-detail__itin-body p:first-child { margin-top: 0; }

/* Itinerary meta (date + time in toggle header) */
.wcs-detail__itin-meta {
	margin-left: auto;
	font-size: 14px;
	font-weight: 600;
	color: var(--wcs-navy);
	white-space: nowrap;
	font-family: "Figtree", Open Sans, Helvetica, Arial, Sans-Serif;
}

/* Itinerary body: image + text side by side */
.wcs-detail__itin-body.is-open {
	display: flex !important;
	gap: 20px;
	align-items: flex-start;
}

.wcs-detail__itin-img {
	flex: 0 0 180px;
	max-width: 180px;
	border-radius: 6px;
	overflow: hidden;
}

.wcs-detail__itin-img img {
	width: 100%;
	height: 130px;
	object-fit: cover;
	display: block;
}

.wcs-detail__itin-text {
	flex: 1;
	min-width: 0;
}

.wcs-detail__itin-text p:first-child { margin-top: 0; }

@media (max-width: 600px) {
	.wcs-detail__itin-body.is-open {
		flex-direction: column;
	}
	.wcs-detail__itin-img {
		flex: 0 0 auto;
		max-width: 100%;
	}
	.wcs-detail__itin-img img {
		height: 180px;
	}
	.wcs-detail__itin-meta {
		margin-left: 0;
		width: 100%;
		text-align: right;
	}
}

.wcs-detail__no-itin {
	color:       var(--wcs-muted);
	font-size:   14px;
	padding:     20px 0;
}

/* ── Booking sidebar — light theme ───────────────────────── */
.wcs-detail__book-sidebar {
	border-radius: 8px;
	overflow:      hidden;
	position:      sticky;
	top:           24px;
}

.wcs-detail__sidebar-heading-v2 {
	font-size:      20px;
	font-weight:    700;
	color:          var(--wcs-navy);
	padding:        24px 24px 0;
	margin:         0 0 12px;
}

.wcs-detail__book-intro {
	font-size:   14px;
	color:       var(--wcs-muted);
	line-height: 1.6;
}

.wcs-detail__book-intro p {
	margin: 0 0 8px;
}

.wcs-detail__book-intro p:last-child {
	margin-bottom: 0;
}

.wcs-detail__phone-link {
	color:           var(--wcs-navy);
	font-weight:     700;
	text-decoration: underline;
}

.wcs-detail__phone-link:hover {
	color: var(--wcs-red);
}

/* Stepper */
.wcs-detail__stepper {
	display:         flex;
	align-items:     center;
	justify-content: center;
	gap:             0;
	padding:         12px 24px 20px;
}

.wcs-detail__stepper-step {
	display:         flex;
	align-items:     center;
	justify-content: center;
	width:           36px;
	height:          36px;
	border-radius:   50%;
	border:          2px solid var(--wcs-border);
	background:      var(--wcs-white);
	flex-shrink:     0;
	transition:      border-color 0.2s, background 0.2s;
}

.wcs-detail__stepper-step--active {
	border-color: var(--wcs-navy);
	background:   var(--wcs-navy);
}

.wcs-detail__stepper-step--active .wcs-detail__stepper-num {
	color: var(--wcs-white);
}

.wcs-detail__stepper-num {
	font-size:   14px;
	font-weight: 700;
	color:       var(--wcs-muted);
}

.wcs-detail__stepper-line {
	flex:       1;
	height:     2px;
	background: var(--wcs-border);
	min-width:  30px;
}

/* Form */
.wcs-detail__book-form {
	display:        flex;
	flex-direction: column;
	gap:            12px;
}

.wcs-detail__form-row {
	display:        flex;
	flex-direction: column;
	gap:            6px;
}

.wcs-detail__form-input {
    background: var(--wcs-bg-card);
    border-radius: 6px;
    color: var(--wcs-muted);
    font-family: var(--wcs-font);
    cursor: pointer;
    background-color: #ffffff;
    border-width: 0px 0px 0px 0px !important;
    border-radius: 5px 5px 5px 5px !important;
    font-size: 14px;
    font-weight: 400;
    min-height: 59px;
    padding: 7px 20px !important;
}

.wcs-detail__form-input:focus {
	outline:      none;
	border-color: var(--wcs-navy);
}

.wcs-detail__form-input-wrap {
	position: relative;
}

.wcs-detail__form-input-wrap .wcs-detail__form-input {
	padding-right: 40px;
}

.wcs-detail__form-icon {
	position:    absolute;
	right:       14px;
	top:         50%;
	transform:   translateY(-50%);
	font-size:   16px;
	color:       var(--wcs-muted);
	pointer-events: none;
}

.wcs-detail__form-select-v2 {
	appearance:  none;
	cursor:      pointer;
}

.wcs-detail__form-label {
	font-size:      10px;
	font-weight:    700;
	letter-spacing: 0.09em;
	color:          var(--wcs-muted);
	text-transform: uppercase;
}

.wcs-detail__continue-btn {
    width: 100%;
    background-color: #131042 !important;
    border: none;
    padding: 14px;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    border-radius: 6px !important;
    cursor: pointer;
    font-family: var(--wcs-font);
    transition: background 0.15s;
    margin-top: 4px;
}

.wcs-detail__continue-btn:hover { background: var(--wcs-red); }

/* ── Rooms & Suites carousel ─────────────────────────────── */
.wcs-detail__rooms-section {
	padding-top:    48px;
	padding-bottom: 48px;
}

.wcs-detail__rooms-track-wrap {
	overflow: hidden;
	position: relative;
}

.wcs-detail__rooms-carousel {
	display:    flex;
	gap:        20px;
	will-change: transform;
	transition: transform 0.6s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.wcs-detail__room-card {
    flex: 0 0 calc((100% - 40px) / 3);
    border-radius: 10px;
    overflow: hidden;
    background: var(--wcs-white);
    border: none;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
}

@media (max-width: 991px) {
    .wcs-detail__room-card { flex: 0 0 calc((100% - 20px) / 2); }
}

@media (max-width: 575px) {
    .wcs-detail__room-card { flex: 0 0 100%; }
}

.wcs-detail__room-img-wrap {
	position:       relative;
	padding-bottom: 65%;
	overflow:       hidden;
}

.wcs-detail__room-img-wrap img {
	position:   absolute;
	top:        0;
	left:       0;
	width:      100%;
	height:     100%;
	object-fit: cover;
}

.wcs-detail__room-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 12px 14px;
    background: linear-gradient(transparent, rgba(0, 0, 0, 0.5));
    color: var(--wcs-white);
    text-transform: uppercase;
    font-size: 23px;
    font-weight: 700;
    line-height: 26px;
    letter-spacing: 0.05em;
}

.wcs-detail__room-desc {
    padding: 25px 15px;
    font-size: 16px;
    color: #53596B;
    line-height: 1.6;
}

.wcs-detail__room-desc p:first-child { margin-top: 0; }
.wcs-detail__room-desc p:last-child  { margin-bottom: 0; }

/* Dot navigation */
.wcs-detail__carousel-dots {
	display:         flex;
	justify-content: center;
	gap:             10px;
	margin-top:      18px;
}

.wcs-detail__carousel-dot {
    width: 8px !important;
    height: 8px;
    border-radius: 50% !important;
    border: none !important;
    background: #b5b5b5 !important;
    padding: 0 !important;
    cursor: pointer;
    transition: background 0.2s, transform 0.2s;
}

.wcs-detail__carousel-dot.is-active {
    background: #000000 !important;
    transform: scale(1.15) !important;
}

.wcs-detail__carousel-dot:hover {
	background: var(--wcs-red);
	border-color: var(--wcs-red);
}

/* ── Other Dates grid ────────────────────────────────────── */
.wcs-detail__dates-section {
	background:     #E6ECF0;
	padding-top:    48px;
	padding-bottom: 48px;
}

.wcs-detail__dates-grid {
	display:               grid;
	grid-template-columns: repeat(4, 1fr);
	gap:                   50px 20px;
}

.wcs-detail__date-card {
	background:     var(--wcs-light);
	border:         none;
	border-radius:  10px;
	padding:        0;
	display:        flex;
	flex-direction: column;
	transition:     box-shadow 0.15s;
	position: relative;
}

.wcs-detail__date-card:hover { box-shadow: 0 4px 16px rgba(0,0,0,0.08); }

.wcs-detail__date-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 35px 20px;
    gap: 4px;
    flex: 1;
    height: 100%;
}

.wcs-detail__date-range {
    background: #131042;
    color: var(--wcs-white);
    font-size: 18px;
    font-weight: 400;
    border-radius: 10px 10px 0 0;
    text-align: center;
    padding: 14px 20px;
    width: 100%;
    box-sizing: border-box;
}

.wcs-detail__date-holiday {
    font-size: 16px;
    font-weight: 600;
    font-family: "argent-cf", Open Sans, Helvetica, Arial, Sans-Serif;
    line-height: 24px;
    color: #171e21;
}

.wcs-detail__dates-total {
	font-size:      13px;
	font-weight:    400;
	color:          var(--wcs-muted);
	text-transform: none;
	letter-spacing: 0;
	margin-left:    8px;
}

.wcs-detail__date-ship {
	font-size:      12px;
	color:          var(--wcs-muted);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.wcs-detail__date-price {
	font-size:   28px;
	font-weight: 800;
	color:       var(--wcs-navy);
	margin-top:  6px;
}

.wcs-detail__date-btn {
    position: absolute;
    text-align: center;
    background: #131042;
    color: var(--wcs-white) !important;
    text-decoration: none !important;
    font-size: 13px;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    padding: 7px 35px;
    margin: 0 20%;
    border-radius: 6px;
    transition: background 0.15s;
    bottom: -12px;
    font-family: "Figtree", Open Sans, Helvetica, Arial, Sans-Serif !important;
}



/* Currently-viewed date card */
.wcs-detail__date-card--current {
	border:           2px solid #131042;
	background:       var(--wcs-light);
}

.wcs-detail__date-card--current .wcs-detail__date-range {
	background: #131042;
	color:      var(--wcs-white);
}

.wcs-detail__date-btn--current{
	color: var(--wcs-white) !important;
    text-decoration: none !important;
    font-size: 13px;
    letter-spacing: 0.07em;
    text-transform: uppercase;
	padding: 7px 15px;
	background: #131042;
	margin: 0 20%;
    border-radius: 6px;
    transition: background 0.15s;
    bottom: -12px;
    font-family: "Figtree", Open Sans, Helvetica, Arial, Sans-Serif !	important;	
}

.wcs-detail__date-range--unknown {
	color:       var(--wcs-white);
	font-weight: 400;
}

/* ── Error state ─────────────────────────────────────────── */
.wcs-detail-error {
	background:    #fef2f2;
	border:        1px solid #fecaca;
	color:         #991b1b;
	padding:       14px 18px;
	border-radius: 6px;
	font-size:     14px;
}

/* ── About section accordion ─────────────────────────────── */
.wcs-detail__about-section {
	display: grid;
    grid-template-columns: 1fr 340px;
    gap: 48px;
    align-items: start;
}

.wcs-detail__accordion {
	border-top: 1px solid var(--wcs-border);
	    display: flex;
    flex-direction: column;
    gap: 12px;
}

.wcs-detail__acc-item {
	    border-bottom: 1px solid var(--wcs-border);
    border-color: #d5d8dc !important;
    border-radius: 10px 10px 0px 0px !important;
    background: #fff !important;
    width: 100% !important;
    text-align: left !important;
    padding: 30px !important;
}

.wcs-detail__acc-item > summary           { list-style: none; }
.wcs-detail__acc-item > summary::-webkit-details-marker { display: none; }

.wcs-detail__acc-header {
	display:         flex;
	align-items:     center;
	justify-content: space-between;
	gap:             16px;
	cursor:          pointer;
	user-select:     none;
}

/* .wcs-detail__acc-header:hover .wcs-detail__acc-title {
	color: var(--wcs-red);
} */

.wcs-detail__acc-title {
    text-transform: capitalize;
    letter-spacing: 0.05em;
    transition: color 0.15s;
    font-size: 24px;
    font-weight: 600;
    color: var(--wcs-navy);
    font-family: "argent-cf", Open Sans, Helvetica, Arial, Sans-Serif;
}

.wcs-detail__acc-icon {
	display:         flex;
	align-items:     center;
	justify-content: center;
	flex-shrink:     0;
	width:           28px;
	height:          28px;
	color:           var(--wcs-navy);
}

.wcs-detail__acc-icon--minus              { display: none; }
.wcs-detail__acc-icon--plus               { display: block; }
.wcs-detail__acc-item[open] .wcs-detail__acc-icon--minus { display: block; }
.wcs-detail__acc-item[open] .wcs-detail__acc-icon--plus  { display: none; }

.wcs-detail__acc-body {
	padding:     0 0 24px;
	color:       var(--wcs-text);
	font-size:   15px;
	line-height: 1.7;
}

.wcs-detail__acc-body p              { margin: 0 0 12px; }
.wcs-detail__acc-body p:last-child   { margin-bottom: 0; }
.wcs-detail__acc-body ul,
.wcs-detail__acc-body ol             { padding-left: 20px; margin: 0 0 12px; }

.wcs-detail__acc-facts {
	display:    flex;
	flex-wrap:  wrap;
	gap:        20px 48px;
	list-style: none;
	padding:    0;
	margin:     0;
}

.wcs-detail__acc-facts li {
	display:        flex;
	flex-direction: column;
	gap:            4px;
}

.wcs-detail__acc-facts__label {
	font-size:      11px;
	font-weight:    700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color:          var(--wcs-slate, #657);
}

.wcs-detail__acc-facts__val {
	font-size:  22px;
	font-weight: 800;
	color:      var(--wcs-navy);
}

.wcs-detail__acc-intro {
	margin-bottom: 16px;
	    margin-top: 20px;
}
.wcs-detail__acc-intro p { margin: 0 0 10px; }
.wcs-detail__acc-intro p:last-child { margin-bottom: 0; }

.wcs-detail__acc-subitems {
	display:        grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap:            20px;
}

.wcs-detail__acc-subitem {
	background:    var(--wcs-light, #f7f8fa);
	border-radius: 8px;
	padding:       18px 20px;
}

.wcs-detail__acc-subitem-title {
	font-size:      14px;
	font-weight:    800;
	color:          var(--wcs-navy);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin:         0 0 10px;
}

.wcs-detail__acc-subitem-body {
	font-size:   14px;
	line-height: 1.65;
	color:       var(--wcs-text);
}

.wcs-detail__acc-subitem-body p              { margin: 0 0 8px; }
.wcs-detail__acc-subitem-body p:last-child   { margin-bottom: 0; }
.wcs-detail__acc-subitem-body ul,
.wcs-detail__acc-subitem-body ol             { padding-left: 18px; margin: 0 0 8px; }
.wcs-detail__acc-subitem-body li             { margin-bottom: 4px; }

@media (max-width: 600px) {
	.wcs-detail__acc-subitems { grid-template-columns: 1fr; }
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 960px) {
	.wcs-detail__dates-grid  { grid-template-columns: repeat(2, 1fr); }

	.wcs-detail__hero {
		grid-template-columns: 1fr;
		min-height:            auto;
	}

	.wcs-detail__hero-image { height: 300px; }

	.wcs-detail__overview,
	.wcs-detail__itinerary-section {
		grid-template-columns: 1fr;
	}

	.wcs-detail__about-section {
		grid-template-columns: 1fr;
	}

	.wcs-detail__book-sidebar { position: static; }
}

@media (max-width: 600px) {

	.wcs-detail__price-block {
        align-items: flex-start;
        align-self: flex-start;
	}

	.book-now-wrapper {
		gap: 10px;
		flex-wrap: wrap;
		flex-direction: column-reverse;
		align-items: flex-start;
		}

	.wcs-detail { padding: 0 2px 40px; }

	.wcs-detail__title     { font-size: 18px; }
	.wcs-detail__price-val { font-size: 28px; }

	.wcs-detail__ship-facts  { flex-wrap: wrap; gap: 12px; }
	.wcs-detail__dates-grid  { grid-template-columns: 1fr;     gap: 35px 20px; }

	.wcs-detail__hero-body  { padding: 20px; }
	.wcs-detail__op-header  { padding: 16px 20px; }

	.wcs-detail__section-heading-v2 { font-size: 22px; }
	.wcs-detail__sidebar-heading-v2 { font-size: 18px; }

	.wcs-detail__operator-brand { padding: 32px 14px; }

		.wcs-detail__full-bleed {
		width: 100%;
		left: 0;
		transform: none;
		padding-left: 14px;
		padding-right: 14px;
	}

	.wcs-detail__itin-toggle {
		padding: 16px !important;
		gap: 6px;
	}

	.wcs-detail__itin-label {
		font-size: 16px;
		line-height: 1.3;
		word-break: break-word;
		white-space: normal;
	}

	.wcs-detail__itin-icon {
		font-size: 18px;
	}

	.wcs-detail__itinerary-section {
		gap: 24px;
	}

	.wcs-detail__section-heading {
		font-size: 22px;
		line-height: 28px;
	}
}

/* ── Hero gallery / carousel ─────────────────────────────── */
.wcs-detail__hero-gallery {
	position: relative;
}

.wcs-detail__hero-slides {
	position: relative;
	width:    100%;
	height:   100%;
}

.wcs-detail__hero-slide {
	position:   absolute;
	inset:      0;
	opacity:    0;
	transition: opacity 0.6s ease;
}

.wcs-detail__hero-slide.is-active {
	opacity: 1;
}

.wcs-detail__hero-slide img {
	width:      100%;
	height:     100%;
	object-fit: cover;
	display:    block;
}

.wcs-detail__hero-btn {
	position:        absolute;
	top:             50%;
	transform:       translateY(-50%);
	background:      rgba(0, 0, 0, 0.45);
	color:           #fff;
	border:          none;
	width:           40px;
	height:          40px;
	border-radius:   50%;
	font-size:       28px;
	line-height:     1;
	cursor:          pointer;
	z-index:         2;
	display:         flex;
	align-items:     center;
	justify-content: center;
	transition:      background 0.15s;
	padding:         0;
}

.wcs-detail__hero-btn:hover  { background: rgba(0, 0, 0, 0.7); }
.wcs-detail__hero-btn--prev  { left:  10px; }
.wcs-detail__hero-btn--next  { right: 10px; }

.wcs-detail__hero-dots {
	position:  absolute;
	bottom:    10px;
	left:      50%;
	transform: translateX(-50%);
	display:   flex;
	gap:       6px;
	z-index:   2;
}

.wcs-detail__hero-dot {
	width:         8px;
	height:        8px;
	border-radius: 50%;
	background:    rgba(255, 255, 255, 0.45);
	border:        none;
	cursor:        pointer;
	padding:       0;
	transition:    background 0.15s;
}

.wcs-detail__hero-dot.is-active { background: #fff; }

/* ── Map & About section ─────────────────────────────────── */
.wcs-detail__map-section {
	display:               grid;
	grid-template-columns: 1fr 1fr;
	gap:                   52px;
	margin-bottom:         64px;
	align-items:           start;
}

.wcs-detail__map-col img.wcs-detail__map-img {
	width:         100%;
	height:        auto;
	border-radius: 6px;
	display:       block;
	box-shadow:    0 2px 16px rgba(0, 0, 0, 0.12);
}

.wcs-detail__about-col--full {
	grid-column: 1 / -1;
}

.wcs-detail__about-text {
	color:       var(--wcs-muted);
	font-size:   15px;
	line-height: 1.7;
}

.wcs-detail__about-text p:first-child { margin-top: 0; }

@media (max-width: 767px) {
	.wcs-detail__map-section {
		grid-template-columns: 1fr;
		gap:                   32px;
	}
}
