/* custom.css : tiroir panier façon UpCart, d'après la capture du tiroir ouvert. Couleurs : variables posées par config.js. */
:root {
  --ct-fond: #ffffff; --ct-accent: #f6f6f7; --ct-texte: #0e0e0e;
  --ct-bouton: #0e0e0e; --ct-bouton-texte: #ffffff; --ct-arrondi: 25px; --ct-largeur: 440px;
  --ct-minuteur-fond: #fffaf4; --ct-minuteur-bord: #ded8d1; --ct-economie: #2ea818;
}
#ct-racine { position: relative; z-index: 2147483000; font-family: Poppins, sans-serif; }
#ct-racine .ct-fond { position: fixed; inset: 0; background: rgba(0,0,0,.4); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
#ct-racine .ct-tiroir { position: fixed; top: 0; right: 0; height: 100%; height: 100dvh; width: var(--ct-largeur); max-width: 100vw;
  background: var(--ct-fond); color: var(--ct-texte); display: flex; flex-direction: column;
  transform: translateX(100%); transition: transform .3s ease; }
#ct-racine.ct-ouvert .ct-fond { opacity: 1; visibility: visible; }
#ct-racine.ct-ouvert .ct-tiroir { transform: none; }
html.ct-bloque { overflow: hidden; }
.ct-entete { display: flex; align-items: center; justify-content: space-between; padding: 26px 30px 26px 30px; }
.ct-entete h2 { margin: 0; font-size: 16px; font-weight: 700; letter-spacing: 0; text-transform: none; line-height: 1.3; font-family: inherit; color: inherit; }
.ct-fermer { background: #0000000c; border: 0; width: 30px; height: 30px; border-radius: 50%; cursor: pointer; color: #637381;
  display: flex; align-items: center; justify-content: center; }
.ct-fermer:hover { background: #00000014; }
.ct-minuteur { background: var(--ct-minuteur-fond); border-top: 1px solid var(--ct-minuteur-bord); border-bottom: 1px solid var(--ct-minuteur-bord);
  text-align: center; font-size: 15px; padding: 9px 12px; }
.ct-corps { flex: 1; overflow-y: auto; }
.ct-lignes { list-style: none; margin: 0; padding: 0 30px; }
.ct-ligne { display: grid; grid-template-columns: 88px 1fr; column-gap: 20px; padding: 24px 0 26px; border-bottom: 1px solid #0000001a; }
.ct-ligne__img { grid-row: span 1; width: 88px; height: 88px; background: var(--ct-accent); overflow: hidden; }
.ct-ligne__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ct-ligne__info { min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.ct-ligne__haut { display: flex; justify-content: space-between; gap: 8px; }
.ct-ligne__titre { font-weight: 700; font-size: 15px; color: inherit; text-decoration: none; line-height: 1.4; }
.ct-ligne__suppr { background: none; border: 0; padding: 2px; cursor: pointer; color: #637381; align-self: flex-start; }
.ct-ligne__option { font-size: 14px; color: #637381; line-height: 1.85; }
.ct-qte { display: inline-flex; align-items: center; align-self: flex-start; margin-top: 6px; border: 1px solid #0000001f; border-radius: 15px; height: 28px; }
.ct-qte button { background: none; border: 0; width: 28px; height: 28px; cursor: pointer; font-size: 13px; color: #637381; }
.ct-qte span { min-width: 44px; text-align: center; font-size: 13px; border-left: 1px solid #0000001f; border-right: 1px solid #0000001f; line-height: 26px; }
.ct-ligne__prix { grid-column: 1 / -1; display: flex; gap: 10px; justify-content: flex-end; align-items: baseline; font-size: 15px; margin-top: 16px; }
.ct-ligne__barre { color: #9a9a9a; font-weight: 400; }
.ct-ligne__economie { grid-column: 1 / -1; text-align: right; color: var(--ct-economie); font-weight: 700; font-size: 15px; }
.ct-vide { padding: 48px 20px; text-align: center; }
.ct-vide p { margin: 0 0 16px; font-size: 16px; }
.ct-continuer { color: inherit; text-decoration: underline; }
.ct-pied { padding: 24px 24px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid #0000001a; background: var(--ct-accent); }
.ct-livraison { text-align: center; font-size: 14px; margin-bottom: 12px; }
.ct-livraison p { margin: 0; }
.ct-commander { width: 100%; padding: 15px; border: 0; border-radius: var(--ct-arrondi); background: var(--ct-bouton);
  color: var(--ct-bouton-texte); font: inherit; font-weight: 600; font-size: 15px; cursor: pointer; }
.ct-commander:hover { color: #e9e9e9; }
.ct-badge { display: block; width: 317px; max-width: 100%; margin: 14px auto 0; }
@media (max-width: 740px) {
  #ct-racine .ct-tiroir { width: 100vw; }
  .ct-entete { padding: 20px; } .ct-lignes { padding: 0 20px; } .ct-pied { padding: 20px 22px calc(12px + env(safe-area-inset-bottom)); }
  .ct-ligne { column-gap: 20px; grid-template-columns: 70px 1fr; } .ct-ligne__img { width: 70px; height: 70px; }
  .ct-badge { width: 274px; }
}
/* page /cart, rendu de secours */
#main.ct-page-active > .shopify-section { display: none; }
.ct-page { max-width: 720px; margin: 40px auto; padding: 0 20px; color: var(--ct-texte); }
.ct-page .ct-entete { padding: 0 0 16px; }
.ct-page .ct-entete h2 { font-size: 24px; }
.ct-page .ct-lignes { padding: 0; }
.ct-page .ct-pied { padding: 20px 0; background: none; }

/* avis Judge.me sans leur script : pas de rond de chargement qui tourne sans fin */
.jdgm-rev-widg__paginate-spinner-wrapper, .jdgm-paginate .jdgm-spinner, .jdgm-rev-widg .jdgm-spinner { display: none !important; }
