.ck-container {
  max-width: 1200px;
  margin: auto;
  padding: 20px;
  display: flex;
  gap: 20px;
  color: #333;
  font-family: Arial, sans-serif;
}

/* PANIER */
.ck-cart {
  width: 35%;
  background: #fff;
  padding:15px;
}

.ck-cart-toggle {
  width: 100%;
  background: none;
  border: none;
  font-size: 16px;
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  color: #333;
}

.ck-cart-content {
  display: block;
  margin-top: 15px;
}


.ck-cart-product {
  display: flex;
  gap: 12px;
  margin-top:10px;
}


.ck-cart-image {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
  border-radius: 6px;
  overflow: hidden;
  background: #f5f5f5;
  position: relative;
}

.ck-cart-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;      /* remplit le carré sans déformation */
  object-position: center;
  display: block;
}


.ck-cart-qty {
  position: absolute;
  top: 0px;
  right: 0px;
  background: #666;
  color: #fff;
  font-size: 12px;
  padding: 2px 6px;
  border:1px solid #fff;
  border-radius: 4px;
}

.ck-cart-info {
  display: flex;
  flex-direction: column;
}

.ck-cart-info small {
  color: #777;
}

.ck-cart-price {
  margin-left: auto;
  font-weight: 600;
}

.ck-cart-total {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #ddd;
  margin-top: 15px;
  padding-top: 10px;
}

/* CONTENU */
.ck-main {
  width: 65%;
  padding: 20px;
}

/* SECTIONS */
.ck-section {
  margin-bottom: 30px;
}

.ck-section h2 {
	margin:10px;
	}

.ck-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* FORM */
.ck-field {
  position: relative;
  margin-bottom: 20px;
}

.ck-field .email-complement {
	margin-top:10px;
	display:flex;
	}

.ck-field .email-complement.surbrillance {
	background-color:#a4ffa4;
	border:1px solid #000;
	border-radius: 4px;
	}

.ck-field .email-complement div {
	flex: 1;
	justify-content: center;
	text-align:center;
	}

.ck-field .email-complement .fastLoginMsg {
	display:flex;
	align-items:center;
	padding:5px;
	justify-content: center;
	text-align:center;
	}

.ck-field .email-complement input[type="text"] {
	text-align:center;
	}

.ck-field .email-complement button:hover {
	background-color:#eee;
	}


.ck-field input, .ck-field button, .ck-message-row input {
  width: 100%;
  padding: 14px 10px;
  border: 1px solid #ccc;
  color: #333;
}

.ck-field button:hover {
	background-color:#ddd;
	cursor:pointer;
	}

.ck-field label {
  position: absolute;
  top: -6px;
  left: 10px;
  font-size: 12px;
  background: #fff;
  padding: 0 5px;
  color: #666;
}

.ck-form-row {
  display: flex;
  gap: 10px;
}

.ck-form-row > .ck-field {
  flex: 1;
}

/* TOOLTIP */
.ck-tooltip {
  position: absolute;
  right: 10px;
  top: 14px;
  cursor: help;
  color: #777;
}

.ck-tooltip-text {
  display: none;
  position: absolute;
  right: 0;
  top: 22px;
  background: #444;
  color: #fff;
  padding: 6px;
  width: 200px;
}

.ck-tooltip:hover .ck-tooltip-text {
  display: block;
}


/* GROUPE */
.ck-choice-group {
  position: relative;
  border: 1px solid #ddd;
  border-radius: 14px;
  background: #fff;
}

/* CARTE */
.ck-choice-card {
  display: block;
  position: relative;
  cursor: pointer;
}

.ck-choice-card:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: #e6e6e6;
}

.ck-choice-card:not(:last-child) {
  border-bottom: 1px solid #e6e6e6;
}

.ck-choice-card input[type="radio"] {
  display: none;
}

/* CONTENU */
.ck-choice-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  background: #fff;
}

/* ---- SÉLECTION ---- */

/* Couleur de sélection */
.ck-choice-card input[type="radio"]:checked + .ck-choice-content {
  background: #FFE4D9;
  border:1px solid red;
  position: relative;
  z-index: 1;
}


/* Bord haut si première carte */
.ck-choice-card:first-child .ck-choice-content {
  border-top-left-radius: 14px;
  border-top-right-radius: 14px;
}

/* Bord bas si dernière carte */
.ck-choice-card:last-child .ck-choice-content {
  border-bottom-left-radius: 14px;
  border-bottom-right-radius: 14px;
}

/* TITRES */
.ck-choice-title {
  font-weight: 600;
  font-size: 15px;
  color: #111;
}

.ck-choice-sub {
  font-size: 13px;
  color: #666;
}

/* MÉTA */
.ck-choice-meta {
  display: flex;
  align-items: center;
  gap: 14px;
}

.ck-choice-price {
  font-weight: 600;
  white-space: nowrap;
}

/* INFO */
.ck-choice-info {
  position: relative;
  z-index: 10;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 1px solid #bbb;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: help;
}

/* TOOLTIP */
.ck-choice-tooltip {
  position: absolute;
  top: 30px;
  right: 0;

  min-width: 220px;       /* largeur minimale confortable */
  max-width: 320px;       /* évite que ça prenne toute la page */
  width: max-content;     /* s'adapte au contenu */

  background: #111;
  color: #fff;
  font-size: 13px;
  padding: 10px 12px;
  border-radius: 6px;

  display: none;
  white-space: normal;
  line-height: 1.4;
  box-shadow: 0 6px 20px rgba(0,0,0,0.25);
}

/* Affichage */
.ck-choice-info:hover .ck-choice-tooltip {
  display: block;
}
/* RESPONSIVE */
@media (max-width: 600px) {
  .ck-choice-content {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }

  .ck-choice-meta {
    width: 100%;
    justify-content: space-between;
  }

  .ck-choice-tooltip {
    left: 0;
    transform: translateX(-90%);
    width: 90vw;        /* max 90% écran */
    max-width: 320px;
  }
}

/* panneau caché par défaut */
.ck-choice-options {
  display: none;
  padding: 14px 16px;
  background: #FFE4D9;
  border-top: 1px solid #e1e5ee;
  font-size: 14px;
}

/* affichage uniquement si la carte est sélectionnée */
.ck-choice-card input[type="radio"]:checked ~ .ck-choice-options {
  display: block;
}

/* cartes avec options : curseur plus clair */
.ck-has-options .ck-choice-content {
  cursor: pointer;
}

/* options internes */
.ck-choice-options label {
  display: block;
  padding: 8px 0;
  cursor: pointer;
}

.ck-choice-options input[type="radio"] {
  margin-right: 8px;
}

/* mobile */
@media (max-width: 600px) {
  .ck-choice-options {
    padding: 12px;
  }
}

.options_transport {
  width: 100%;
  padding: 10px;
  font-size: 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  margin:20px 0 20px;
}

.relais-wrapper {
  display: flex;
  gap: 8px; /* espace entre input et bouton */
  width: 100%; /* prend toute la largeur du parent */
}

/* Champ texte */
.relais-wrapper input[type="text"] {
  flex: 1; /* prend tout l'espace restant */
  padding: 10px;
  font-size: 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  box-sizing: border-box;
}

/* Bouton */
.relais-wrapper input[type="button"].choix_relais {
  padding: 10px 14px;
  font-size: 14px;
  border-radius: 6px;
  border: 1px solid #ccc;
  background-color: #1a73e8;
  color: #fff;
  cursor: pointer;
  flex-shrink: 0; /* ne rétrécit pas */
}

/* Effet hover */
.relais-wrapper input[type="button"].choix_relais:hover {
  background-color: #155ab6;
}

/* Responsive (petits écrans) */
@media (max-width: 480px) {
  .relais-wrapper {
    flex-direction: column;
  }
  .relais-wrapper input[type="text"],
  .relais-wrapper input[type="button"].choix_relais {
    width: 100%;
  }
}

/* Champ en erreur */
.ck-field input.error {
  border-color: #e74c3c;
  background: #fff6f6;
}

/* Message d’erreur */
.ck-error {
  font-size: 12px;
  color: #e74c3c;
  margin-top: 5px;
}


/* PROMO */
.ck-promo-toggle {
  background: none;
  border: none;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}

.ck-promo-row {
  display: none;
  gap: 10px;
  margin-top: 10px;
}

.ck-promo-row.ck-show {
  display: flex;
}


/* MESSAGE */
.ck-message-toggle {
  background: none;
  border: none;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}

.ck-message-row {
  display: none;
  gap: 10px;
  margin-top: 10px;
}

.ck-message-row input { width:100%; }

.ck-message-row.ck-show {
  display: flex;
}


/* ADRESSE FACTURATION */
.ck-invoice-address-toggle {
  background: none;
  border: none;
  font-size: 14px;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
}

.ck-invoice-address-row {
  display: none;
  gap: 10px;
  margin-top: 10px;
}


.ck-invoice-address-row.ck-show {
  display: block;
}

/* BUTTON */
.ck-submit {
  width: 100%;
  padding: 15px;
  background: #444;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 16px;
}

/* RESPONSIVE */
.ck-mobile-only {
  display: none;
}

@media (max-width: 900px) {
  .ck-container {
    flex-direction: column;
  }

  .ck-cart,
  .ck-main {
    width: 100%;
  }

  .ck-mobile-only {
    display: flex;
  }

  .ck-cart-content {
    display: none;
  }

  .ck-cart-content.ck-open {
    display: block;
  }

  .ck-form-row {
    flex-direction: column;
  }
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.modal-overlay.active {
  display: flex;
}

.modal {
  background: #fff;
  width: 90%;
  max-width: 600px;
  padding: 20px;
  border-radius: 8px;
  position: relative;
}

.modal-close {
  position: absolute;
  top: 10px;
  right: 12px;
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
}

.modal-loader {
  display: none;
  text-align: center;
  padding: 40px 0;
}

.modal-loader.active {
  display: block;
}

.spinner {
  width: 36px;
  height: 36px;
  border: 4px solid #ddd;
  border-top-color: #333;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.mobile-call-banner {
	display: none;
	}
@media (max-width: 768px) {
		.checkout-bottom-banner {
		  position: fixed;
		  bottom: 0;
		  left: 0;
		  width: 100%;
		  background-color: #0078D7; /* Bleu du bandeau */
		  color: white;
		  text-align: center;
		  padding: 12px 0;
		  font-size: 1rem;
		  font-weight: bold;
		  z-index: 99999;
		  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2);
		}
	}

@media (min-width: 1024px) {
  .checkout-bottom-banner {
    display: none; /* Masqué sur tablette et desktop */
  }
}