/* Sélection des sommeliers : proportions et éléments graphiques de l'accueil d'origine. */
.tda-sommeliers {
  position: relative;
  overflow: hidden;
  padding: clamp(160px, 14vw, 260px) 0 110px;
  background: #7c5467;
  color: #fff;
}

.tda-sommeliers *, .tda-sommeliers *::before, .tda-sommeliers *::after { box-sizing: border-box; }
.tda-sommeliers__inner { position: relative; width: min(1450px, calc(100% - 40px)); margin: 0 auto; }
.tda-sommeliers .tda-sommeliers__heading {
  position: absolute;
  z-index: 4;
  left: calc(25% - 18px);
  bottom: calc(100% + clamp(36px, 4vw, 62px));
  width: 40%;
  margin: 0;
  color: #fff;
  font-family: DarbySansPoster, "Darby Sans Poster", Arial, sans-serif !important;
  font-size: clamp(30px, 2.8vw, 40px) !important;
  font-weight: 400 !important;
  line-height: 1.03 !important;
  text-align: left;
  text-transform: uppercase;
}
@media (min-width: 1200px) {
  .tda-sommeliers .tda-sommeliers__heading { font-size: 40px !important; }
}

.tda-sommeliers__stage { position: relative; height: clamp(490px, 48.3vw, 700px); outline: none; touch-action: pan-y; }
.tda-sommeliers__stage:focus-visible { outline: 2px solid #fff; outline-offset: 8px; }
.tda-sommeliers__word {
  position: absolute;
  z-index: 0;
  top: 0;
  left: calc(65% + 10px);
  width: min(27.6%, 400px);
  aspect-ratio: 399.6 / 308.6;
  background: url('../img/default/VIN.svg') center / contain no-repeat;
  pointer-events: none;
}
.tda-sommeliers__panel {
  position: absolute;
  z-index: 1;
  top: 0;
  left: calc(25% - 18px);
  width: 40%;
  height: 100%;
  background: #fff;
  color: #171417;
}
.tda-sommeliers__panel-content {
  display: flex;
  width: 82%;
  height: 100%;
  margin-left: 12%;
  align-items: center;
  justify-content: center;
  text-align: center;
  opacity: 1;
  visibility: visible;
  transition: opacity .32s ease, visibility .32s;
}
.tda-sommeliers.is-moving .tda-sommeliers__panel-content { opacity: 0; visibility: hidden; transition: none; }
.tda-sommeliers__details { width: 100%; padding: 28px 17px; }
.tda-sommeliers__details[hidden] { display: none !important; }
.tda-sommeliers .tda-sommeliers__details h3 {
  max-width: 370px;
  margin: 0 auto 12px;
  color: #171417;
  font-family: "le-monde-livre-classic-byol", Georgia, serif !important;
  font-size: clamp(17px, 1.23vw, 23px) !important;
  font-weight: 400 !important;
  line-height: 1.28 !important;
  text-transform: uppercase !important;
}
.tda-sommeliers__price {
  margin: 0 0 18px;
  color: #7c5467;
  font-family: "le-monde-livre-classic-byol", Georgia, serif;
  font-size: clamp(17px, 1.22vw, 23px);
  font-weight: 700;
  letter-spacing: .035em;
}
.tda-sommeliers__price::after {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  margin: 12px auto 18px;
  background: url('../img/default/etoile-separateur.svg') center / contain no-repeat;
}
.tda-sommeliers__description {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  max-width: 370px;
  margin: 0 auto;
  color: #171417;
  font-family: "le-monde-livre-classic-byol", Georgia, serif;
  font-size: clamp(14px, .99vw, 18px);
  line-height: 1.7;
  letter-spacing: .018em;
}
.tda-sommeliers__product-link {
  display: inline-block;
  margin: 27px auto 24px;
  border-bottom: 1px solid currentColor;
  color: #126283 !important;
  font-family: "le-monde-livre-classic-byol", Georgia, serif;
  font-size: clamp(14px, .98vw, 18px);
  line-height: 1.35;
  text-decoration: none !important;
}
.tda-sommeliers__product-link:hover, .tda-sommeliers__product-link:focus-visible { color: #7c5467 !important; }
.tda-sommeliers__cart { margin: 0; }
.tda-sommeliers__cart button,
.tda-sommeliers__cart .add-to-cart-or-refresh,
.tda-sommeliers__cart button[type=submit] {
  min-height: 45px;
  border: 0;
  border-radius: 0;
  padding: 11px 21px;
  background: #126283;
  color: #fff;
  font-family: "le-monde-livre-classic-byol", Georgia, serif;
  font-size: clamp(13px, .89vw, 17px);
  cursor: pointer;
  transition: background .25s ease, color .25s ease;
}
.tda-sommeliers__cart button:hover,
.tda-sommeliers__cart button:focus-visible,
.tda-sommeliers__cart .add-to-cart-or-refresh:hover,
.tda-sommeliers__cart button[type=submit]:hover {
  background: #7c5467;
  color: #fff;
}

.tda-sommeliers__bottles { position: absolute; z-index: 3; inset: 0; pointer-events: none; }
.tda-sommeliers__bottle {
  position: absolute;
  top: 50%;
  left: 100%;
  width: min(25%, 360px);
  aspect-ratio: 1;
  opacity: 0;
  transform: translate(-50%, -50%) scale(1);
  transition: left 1000ms cubic-bezier(.25, .1, .25, 1), transform 1000ms cubic-bezier(.25, .1, .25, 1), opacity 650ms ease;
  will-change: left, transform;
}
.tda-sommeliers.is-initializing .tda-sommeliers__bottle { transition: none; }
.tda-sommeliers__bottle img { display: block; width: 100%; height: 100%; object-fit: contain; }
.tda-sommeliers__bottle[data-slot="-3"] { left: -12%; opacity: 0; }
.tda-sommeliers__bottle[data-slot="-2"] { left: calc(3% - 18px); opacity: 0; }
.tda-sommeliers__bottle[data-slot="-1"] { left: calc(12% - 18px); opacity: 1; }
.tda-sommeliers__bottle[data-slot="0"] { left: calc(25% - 18px); z-index: 2; opacity: 1; transform: translate(-50%, -50%) scale(1.48); }
.tda-sommeliers__bottle[data-slot="1"] { left: calc(75% - 18px); opacity: 1; }
.tda-sommeliers__bottle[data-slot="2"] { left: calc(87% - 18px); opacity: 1; }
.tda-sommeliers__bottle[data-slot="3"] { left: 106%; opacity: 0; }

.tda-sommeliers__arrow {
  position: absolute;
  z-index: 5;
  top: 50%;
  width: 61px;
  height: 61px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent center / 61px 61px no-repeat;
  cursor: pointer;
  transform: translateY(-50%);
  transition: opacity .2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .tda-sommeliers__arrow:hover { opacity: .65; }
}
.tda-sommeliers__arrow:focus { outline: none; }
.tda-sommeliers__arrow:focus:not(:focus-visible) { opacity: 1; }
.tda-sommeliers__arrow:focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
.tda-sommeliers__arrow:active { opacity: .65; }
.tda-sommeliers__arrow--prev { left: 0; background-image: url('../img/default/arrow-left.svg'); }
.tda-sommeliers__arrow--next { right: 0; background-image: url('../img/default/arrow-right.svg'); }
.tda-sommeliers--empty { padding: 80px 20px; text-align: center; }
.tda-sommeliers--empty .tda-sommeliers__heading { position: static; width: auto; text-align: center; }

/* Desktop: centre the white card (and related bottles) in the stage. */
@media (min-width: 1051px) {
  .tda-sommeliers .tda-sommeliers__heading {
    left: 30%;
  }
  .tda-sommeliers__panel {
    left: 30%;
  }
  .tda-sommeliers__bottle[data-slot="-2"] { left: calc(8% - 18px); }
  .tda-sommeliers__bottle[data-slot="-1"] { left: calc(17% - 18px); }
  .tda-sommeliers__bottle[data-slot="0"] { left: 30%; }
  .tda-sommeliers__bottle[data-slot="1"] { left: calc(80% - 18px); }
  .tda-sommeliers__bottle[data-slot="2"] { left: calc(92% - 18px); }
  .tda-sommeliers__word { left: calc(70% + 10px); }
}

@media (max-width: 1050px) {
  .tda-sommeliers { padding-top: 170px; padding-bottom: 85px; }
  .tda-sommeliers__stage { height: min(52vw, 530px); min-height: 450px; }
  .tda-sommeliers .tda-sommeliers__heading { bottom: calc(100% + 36px); font-size: clamp(30px, 3.2vw, 40px) !important; }
  .tda-sommeliers__bottle { width: min(29%, 320px); }
  .tda-sommeliers__arrow { width: 48px; height: 48px; background-size: 48px; }
  .tda-sommeliers__details { padding: 15px 9px; }
  .tda-sommeliers__details h3 { font-size: 16px !important; }
  .tda-sommeliers__price { font-size: 16px; margin-bottom: 8px; }
  .tda-sommeliers__price::after { margin: 8px auto 11px; }
  .tda-sommeliers__description { font-size: 13px; line-height: 1.5; }
  .tda-sommeliers__product-link { margin: 16px auto 12px; font-size: 13px; }
  .tda-sommeliers__cart button { min-height: 38px; padding: 8px 12px; font-size: 12px; }
}

@media (max-width: 700px) {
  .tda-sommeliers { padding: 56px 0 92px; }
  .tda-sommeliers__inner { width: 100%; }
  .tda-sommeliers .tda-sommeliers__heading {
    position: static;
    width: calc(100% - 36px);
    margin: 0 auto 30px;
    font-size: clamp(29px, 7vw, 38px) !important;
    text-align: center;
  }
  .tda-sommeliers__stage { height: min(100vw, 380px); min-height: 320px; }
  .tda-sommeliers__panel { left: 12.5%; width: 75%; }
  .tda-sommeliers__panel-content { width: 78%; margin-left: 14%; }
  .tda-sommeliers__details { padding: 16px 11px; }
  .tda-sommeliers .tda-sommeliers__details h3 { font-size: clamp(13px, 3.4vw, 17px) !important; }
  .tda-sommeliers__price { font-size: 14px; }
  .tda-sommeliers__price::after { width: 18px; height: 18px; margin: 6px auto 9px; }
  .tda-sommeliers__description { -webkit-line-clamp: 5; font-size: clamp(11px, 2.65vw, 13px); line-height: 1.45; }
  .tda-sommeliers__product-link { margin: 13px auto 12px; font-size: 12px; }
  .tda-sommeliers__cart button { font-size: 11px; }
  .tda-sommeliers__word { display: none; }
  .tda-sommeliers__bottle { width: min(63vw, 280px); }
  .tda-sommeliers__bottle[data-slot="-3"],
  .tda-sommeliers__bottle[data-slot="-2"],
  .tda-sommeliers__bottle[data-slot="-1"],
  .tda-sommeliers__bottle[data-slot="1"],
  .tda-sommeliers__bottle[data-slot="2"],
  .tda-sommeliers__bottle[data-slot="3"] { opacity: 0; pointer-events: none; }
  .tda-sommeliers__bottle[data-slot="0"] { left: 12.5%; opacity: 1; transform: translate(-50%, -50%) scale(1.2); }
  .tda-sommeliers__arrow { top: auto; bottom: -67px; width: 44px; height: 44px; background-size: 44px; transform: none; }
  .tda-sommeliers__arrow--prev { left: calc(50% - 52px); }
  .tda-sommeliers__arrow--next { right: calc(50% - 52px); }
}

@media (max-width: 380px) {
  .tda-sommeliers__panel-content { width: 78%; margin-left: 14%; }
  .tda-sommeliers__description { -webkit-line-clamp: 4; }
  .tda-sommeliers__cart button { padding-inline: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .tda-sommeliers__bottle, .tda-sommeliers__panel-content, .tda-sommeliers__arrow { transition-duration: 0ms !important; }
}
