/* Main table container */
.cdc-reservation-table {
  font-family: Arial, sans-serif !important;
  width: 100% !important;
  border-collapse: collapse !important;
  max-height: 517px !important;
  overflow-y: auto !important;
  margin-top: 40px;
}

/* Table styling */
.cdc-reservation-table table {
  width: 100% !important;
  border: 1px solid #ddd !important;
  border-collapse: collapse !important;
  table-layout: auto !important;
}

.cdc-reservation-table .cdc-table-row  .cdc-category-name{
	font-family: SangBleuSunrise-Medium, sans-serif;
  font-size: 18px;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: 0;
}

.cdc-reservation-table .table-responsive{
  overflow-x: visible !important;
}

/* .cdc-reservation-table .table-responsive>table {
  width: 1296px !important;
} */

/* Header styling - dark blue background */
.cdc-reservation-table thead th {
  background-color: #003849 !important;
  color: #fff !important;
  font-weight: bold !important;
  padding: 8px 12px !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 1 !important;
}

/* Main header row - NO HOVER EFFECTS */
.cdc-reservation-table .header-row--main th,
.cdc-reservation-table .header-row--main td {
  background-color: #003849 !important;
  color: #fff !important;
}

/* Price title cell */
.cdc-reservation-table .header-row--price-title td {
  font-size: 1.1em !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,0.3) !important;
}

/* Category row - with white right borders */
.cdc-reservation-table .header-row--categories td {
  padding: 0 !important;
 /* border-right: 1px solid #fff !important;
  border-bottom: 1px solid #fff !important;*/
  line-height: 36px !important;
}

.cdc-reservation-table .header-row--categories td.cdc-category-parent {
  /* border-top: 0 !important; */
  border-bottom: 0 !important;
}

.cdc-reservation-table .header-row--categories td.cdc-subcategory {
  /* border-top: 0 !important; */
  border-bottom: 0 !important;
}

/* Default width for most columns */
/* .cdc-reservation-table .header-row--categories td.cdc-category-parent:not(:last-child) .cdc-category-name,
.cdc-reservation-table .header-row--categories td.cdc-subcategory:not(:last-child),
.cdc-price-value:not(.prestige-cell) {
  width: 200px !important;
} */

/* Special narrower width for Privilege column (last child) */
/* .cdc-reservation-table .header-row--categories td.cdc-category-parent:last-child .cdc-category-name,
.cdc-reservation-table .header-row--categories td.cdc-subcategory:last-child,
.cdc-price-value.prestige-cell {
  width: 150px !important;
} */

/*
.cdc-reservation-table .header-row--categories td:last-child {
  border-right: none !important;
}*/

/* Sub-category row - with subtle right borders */
.cdc-reservation-table .header-row--sub-categories td {
  padding: 8px 4px !important;
  border-right: 1px solid rgba(255,255,255,0.3) !important;
  background-color: rgba(0,56,73,0.9) !important;
}

.cdc-reservation-table .header-row--sub-categories td:last-child {
  border-right: none !important;
}

/* Body styling - no padding in data cells */
.cdc-reservation-table tbody td {
  padding: 0 !important;
  border: 1px solid #ddd !important;
}

/* Nested tables styling */
.cdc-reservation-table table table {
  border: none !important;
  width: 100% !important;
}

/* Category group borders */
.cdc-reservation-table .header-row--categories > td > table {
  border-right: 1px solid #fff !important;
}

.cdc-reservation-table .header-row--categories > td:last-child > table {
  border-right: none !important;
}

/* Data cell tables */
.cdc-reservation-table tbody td > table {
  height: 100% !important;
}

.cdc-reservation-table tbody td > table td {
  padding: 8px 4px !important;
  border-right: 1px solid #ddd !important;
  width: 50% !important;
}

.cdc-reservation-table tbody td > table td:last-child {
  border-right: none !important;
}

/* Column widths */
.cdc-reservation-table th:nth-child(2) {
  min-width: auto !important;
  border-left: 1px solid #ddd !important;
  border-right: 1px solid #ddd !important;
}

.cdc-reservation-table td:nth-child(2) {
  min-width: auto !important;
}

/* Ensure proper table row display */
.cdc-reservation-table table tr {
  display: table-row !important;
}

/* Price header full width */
.cdc-reservation-table .price-header {
  width: 85% !important;
  border: 0 !important;
  padding: 0 !important;
}

.cdc-reservation-table .price-header .cdc-price-title {
  border-top: 0 !important;
}

/* Remove nested table cell borders */
.cdc-reservation-table table table td {
  border-left: none !important;
  border-right: none !important;
  padding: 0 !important;
}

.offer {
    color: #003849;
}

.strike {
    text-decoration: line-through;
	color: #f16846;
}

.cdc-category-name,
.cdc-subcategory,
.cdc-price-value {
  cursor: pointer;
}

.cdc-price-value:hover,
.cdc-price-value:hover span.price,
.cdc-price-value:hover span.strike,
.cdc-price-value:hover span.sold-out {
  cursor: pointer;
  background-color: #003849;
  color: #fff !important;
}

td.cdc-table-cell.cdc-price-data.empty-cell {
  background: #fff;
}

.quote-request-wrapper {
  margin-top: 50px;
}

.quote-request {
  z-index: 1 !important;
  position: relative !important;
  font-family: SangBleuSunrise-Medium, sans-serif !important;
  border: none !important;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  padding: 14px 25px 12px 25px !important;
  border-radius: 50px !important;
  background-color: #f16846 !important;
  cursor: pointer !important;
  margin-top: 10px;
  display: block;
  width: 230px;
  text-align: center;
}

.notes {
  margin-bottom: 20px;
}

.toggle-reservation-table-wrapper {
  text-align: center;
  margin-top: 20px;
}

#toggle-reservation-table-full {
  background-color: #003849c4;
  padding: 10px 40px;
  border-radius: 40px;
  line-height: 16px;
  font-weight: 400;
}

#toggle-reservation-table-full span {
  color: #fff;
}

.payment-failed-wrapper,
.payment-success-wrapper {
  text-align: center;
  padding: 100px 0;
  min-height: 400px;
}

.payment-failed-wrapper p {
  color: red !important;
  font-weight: 500 !important;
}

.payment-success-wrapper p {
  color: green !important;
  font-weight: 500 !important;
}

.payment-failed-wrapper .back-to-cruise-page-wrapper,
.payment-success-wrapper .back-to-home-page-wrapper {
  margin-top: 20px;
  display: flex;
  justify-content: space-between;
  width: 500px;
  margin: auto;
}

.payment-failed-wrapper .back-to-cruise-page-wrapper a,
.payment-success-wrapper .back-to-home-page-wrapper a {
  padding: 20px 26px !important;
  border: 1px solid red;
}

/* Static first 2 columns */
/* .cdc-main-table .cdc-table-header > tr > th:first-child,
.cdc-main-table .cdc-table-body > tr > td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #fff;
  box-shadow: 2px 0 0 #ccc;
}

.cdc-main-table .cdc-table-header > tr > th:nth-child(2),
.cdc-main-table .cdc-table-body > tr > td:nth-child(2) {
  position: sticky;
  left: 97px;
  z-index: 2;
  background: #fff;
  box-shadow: 2px 0 0 #ccc;
} */

/* Mobile css start */
@media (max-width: 375px) {
  .cdc-reservation-table .price-header {
    width: 74% !important;
  }

  .cdc-reservation-table tbody td.cdc-day-date-data span {
    line-height: 12px;
  }

  .cdc-reservation-table tbody td.cdc-day-date-data span {
    display: block !important;
  }
}

@media (min-width: 376px) and (max-width: 768px) {
  .cdc-reservation-table .price-header {
    width: 65% !important;
  }
}

@media (max-width: 768px) {
  .cdc-reservation-table>table {
    width: 100% !important;
  }

  .cdc-reservation-table .table-responsive>table {
    width: 100% !important;
  }

  .cdc-mobile-table td {
    background: #ddd;
  }

  .cdc-mobile-table td.active {
    background: #003849;
    color: #fff !important;
  }

  .cdc-reservation-table .header-row--main th,
  .cdc-reservation-table .header-row--main td {
    font-size: 10px !important;
  }

  .cdc-day-header,
  .cdc-date-header {
    display: none !important;
  }

  .cdc-day-data,
  .cdc-date-data {
    display: none !important;
  }

  .cdc-day-date-header {
    /* display: block !important; */
    min-height: 75px;
    align-content: center;
    border-top: 0 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
  }

  .cdc-reservation-table tbody td.cdc-day-date-data {
    font-size: 12px;
    display: block!important;
    height: 36px;
    align-content: center;
    border:none!important;
   opacity: 1 !important;
  }

  .cdc-category-parent,
  .cdc-price-data {
    width: 70% !important;
  }

  .cdc-reservation-table .cdc-price-data {
    border: 0 !important;
  }

  .cdc-reservation-table .cdc-price-data td {
    border-bottom: 0 !important;
  }

  .cdc-reservation-table .header-row--categories td.cdc-category-parent,
  .cdc-reservation-table .header-row--categories td.cdc-category-parent td {
    border-top: 0 !important;
  }

  .quote-request-wrapper .form-actions {
    margin-left: auto;
    margin-right: auto;
  }

  form.cdc-booking-form .form-actions input[type=submit] {
    height: 44px;
  }

  .quote-request-demandeDevis-wrapper {
    margin: auto
  }

  .cdc-tooltip-icon {
    display: none !important;
  }
  
  .cdc-reservation-table td.confort-price-data {
	width:37.5%!important;
padding-right:20px!important;
padding-left:20px!important;
}

div.cdc-reservation-table table.cdc-price-table {
  border-spacing: 5px !important;
  border-collapse: separate !important;
  border: none !important;
}


.cdc-reservation table.cdc-mobile-table{
border-spacing: 10px !important;
 border-collapse: separate!important;
 border:none!important;
}

.cdc-reservation-table  table.cdc-table.cdc-inner-table{
border-spacing: 2px !important;
 border-collapse: separate!important;
 border:none!important;
}

.cdc-reservation-table .,
.cdc-reservation-table table.cdc-table {
  border-spacing: 5px !important;
  border-collapse: separate !important;
  border: none !important;
}

.cdc-mobile-table .category-parent-mobile{
background:#2e7d8f;	
border-radius:10px;
border:none!important;
}

.cdc-mobile-table .category-parent-mobile td.cdc-category-name{
color:#fff!important;
}

div.table-responsive td.confort-price-data {
	padding-left: 0px !important;
}



.cdc-mobile-table .category-parent-mobile td.cdc-category-name.active{
color:#f16846!important;
}

.table-responsive .cdc-price-header .cdc-table-cell.cdc-category-name{
	font-size:12px!important;
}

.cdc-reservation-table th.cdc-day-date-header{
	background-color: #fff !important;
  color: #003849 !important;
  border:none;
  vertical-align: bottom;
  font-size: 18px !important;
  padding: 8px 0px !important;
}

 .cdc-reservation-table .cdc-price-value .offer{
	 display:inline-block;
 }

  
}
/* Mobile css end */

.cdc-day-date-header,
.cdc-day-date-data {
  /* display: none; */
  opacity: 0;
}

.cdc-day-date-header.not-visible,
.cdc-day-date-data.not-visible {
  display: none !important;
}

form.cdc-booking-form .form-actions input[type=submit] {
  width: 230px;
  text-align: center !important;
}

.quote-request-demandeDevis-wrapper {
  position: relative;
  width: 230px;
}

.quote-request-demandeDevis-wrapper::before {
  content: '';
  background: #f16846;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  transition: all .3s cubic-bezier(.16, .01, .77, 1);
  border-radius: 30px;
  cursor: pointer;
}

.quote-request-demandeDevis-wrapper:hover::before {
  transform: scale(1.05);
}

.cdc-tooltip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  border-radius: 50%;
  background-color: #fff9ef; 
  color: #003849;
  font-size: 12px;
  font-weight: normal;
  font-family: "Arial", sans-serif;
  text-transform: none;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s;
}

.cdc-tooltip-icon2 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  margin-left: 4px;
  border-radius: 50%;
  background-color: #003849; 
  color: #fff9ef;
  font-size: 12px;
  font-weight: normal;
  font-family: "Arial", sans-serif;
  text-transform: none;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.2s;
}

.tippy-box {
  background-color: #2e7d8f !important;
  color: #fff mportant; /* facultatif : texte en noir si nécessaire */
}
/* Nouveau Design tableau des tarifs */


.cdc-reservation-table  table.cdc-table{
border-spacing: 10px !important;
 border-collapse: separate!important;
 border:none!important;
}




.cdc-reservation-table th.cdc-date-header,
.cdc-reservation-table th.cdc-day-header{
	font-family: Montserrat, sans-serif;
  font-size: 16px;
  color: #003849 !important;
  font-weight: 500 !important;
  line-height: 16px;
  letter-spacing: 0;
  background-color: #fff !important;
  border: none !important;
  vertical-align: bottom;
  
}

.cdc-reservation-table th.price-header.cdc-price-header{
	background-color:#fff!important;
}

.cdc-reservation-table th:nth-child(2){
	position:relative;
}


.cdc-reservation-table td.confort-category-parent{
		background:#2e7d8f!important;

}

.cdc-reservation-table td.élégance-category-parent{
background:#2e7d8f!important;

}

.cdc-reservation-table td.prestige-category-parent{
background:#2e7d8f!important;

}

.cdc-reservation-table .cdc-price-value .strike{
	font-size: 10px!important;
}
.cdc-reservation-table .cdc-price-value:hover .strike{
	font-size: 1px!important;
	color:#003849!important;
}

.cdc-reservation-table .cdc-price-value:hover .offer{
	font-size: 18px!important;
	color:#fff!important;
}


/*version 1*/
/*
.cdc-reservation-table .cdc-category-parent .cdc-category-name{
	background-color:transparent!important;
	border:none!important;
}*/




.cdc-reservation-table td.cdc-category-parent {
	border-right: 1px solid #fff!important;
	border-left: 1px solid #fff!important;
	border-radius: 10px;

}

.cdc-reservation-table td.prestige-category-parent {
	width:25%!important;

}


.cdc-reservation-table td.prestige-price-data {
	width:25%!important;
padding-left:20px!important;
padding-right:20px!important;
}



.cdc-reservation-table td.confort-price-data {
	width:37.5%!important;
padding-right:0px!important;
padding-left:20px!important;
}
.cdc-reservation-table td.élégance-price-data {
	width:37.5%!important;
padding-right:20px!important;
	padding-left:20px!important;
}

.cdc-reservation-table table.cdc-price-table {
  border-spacing: 10px !important;
  border-collapse: separate !important;
  border: none !important;
}






.cdc-reservation-table td.cdc-subcategory{
	border:none!important;
	background-color: rgba(0, 0, 0, 0.2)!important;
	font-size: 16px;
  font-weight: 600;
  line-height: 1;
  font-family: Montserrat, sans-serif;
  border-radius:10px;
}

.cdc-reservation-table .cdc-category-parent .cdc-category-table{
	border:none;
}

.cdc-reservation-table  td.cdc-date-data,
.cdc-reservation-table td.cdc-day-data{
 border:none!important;
 border-radius: 20px;
}

.cdc-reservation-table tr.cdc-data-row td.cdc-price-data{
	border:none!important;
}

.cdc-reservation-table .cdc-table-row .cdc-category-name{
	border:none!important;
	  background: rgba(0, 0, 0, 0.0) !important;
}

section.cdc-reservation.sectionsticky .overinfo span{
	font-weight:bold;
}

.cdc-reservation-table tr.cdc-data-row td.cdc-price-data table.cdc-price-table{
	/*padding-left:10px;*/
}



.cdc-reservation-table tr.cdc-data-row td.cdc-price-data table.cdc-price-table td.cdc-table-cell{
	border:1px solid #003849!important;
	border-radius:20px
}

.cdc-reservation-table tr.cdc-data-row td.cdc-price-data table.cdc-price-table td.empty-cell{
	opacity:0;
}
