/* ==========================================================================
   CHÂTEAU LASTOURS — PRODUITS SIMILAIRES (fiche produit)
   --------------------------------------------------------------------------
   Section Elementor .lastours-product-related > .lastours-product-related-inner
     · Titre « D'autres expressions… »  classe .lastours-related-title
     · Loop Grid                          classe .lastours-related-grid
       (Loop Item de la Boutique : .lastours-wine-card)

   CHARGEMENT — plugin « Lastours — Produits similaires », uniquement sur les
   fiches produit (et dans l'éditeur Elementor). Ne pas le coller ailleurs.

   PÉRIMÈTRE — toutes les règles commencent par .lastours-product-related.
   Le CSS de la Boutique (lastours-shop.css, template « Archive de produits »)
   n'est pas chargé sur les fiches produit et n'est PAS modifié : la partie
   « CARTE » ci-dessous en est la copie fidèle (§4 et §5b), limitée à cette
   section. Toute retouche du design des cartes est à reporter dans les deux
   fichiers.

   NOMBRE DE CARTES — décidé en CSS (:has), donc sans décalage au chargement :
     1 à 3 cuvées  → grille statique, aucune flèche, aucun défilement
     4 cuvées et + → carrousel (défilement horizontal + flèches du JS)

   BREAKPOINTS (identiques au site) : desktop ≥ 1025px · tablette 768–1024px
   · mobile ≤ 767px. Colonnes visibles : 3 / 2 / 1.
   ========================================================================== */


/* ==========================================================================
   0. JETONS (valeurs de la Boutique)
   ========================================================================== */

.lastours-product-related {
  --ls-card: #FBF8F2;
  --ls-card-hover: #FFFDF9;
  --ls-card-line: rgba(128, 102, 52, 0.14);
  --ls-card-line-hover: rgba(128, 102, 52, 0.32);
  --ls-charcoal: #201C18;
  --ls-charcoal-soft: rgba(32, 28, 24, 0.68);
  --ls-brown: #806634;
  --ls-gold: #C2A36B;
  --ls-white: #FFFFFF;
  --ls-line: rgba(32, 28, 24, 0.12);
  --ls-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
  --ls-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ls-hover: 480ms;

  /* Grille / carrousel */
  --lr-cols: 1;                 /* cartes visibles (mobile) */
  --lr-gap: 20px;
  --lr-peek: 84%;               /* carrousel mobile : largeur d'une carte, la suivante dépasse */
  --lr-static-max: 460px;       /* mobile statique : cartes empilées, largeur de lecture */
  --lr-visual-ratio: 4 / 5;     /* zone bouteille (identique à la Boutique en tablette) */
  --lr-nav-reserve: 112px;      /* place réservée aux flèches à droite du titre */

  overflow-x: clip;             /* jamais de défilement horizontal de la page */
}

@media (min-width: 768px) {
  .lastours-product-related { --lr-cols: 2; --lr-gap: 20px; }
}
@media (min-width: 1025px) {
  /* 3 cartes de ~430px max dans le container de 1350px : zone bouteille carrée,
     la bouteille garde la même hauteur que sur les cartes larges de la Boutique. */
  .lastours-product-related { --lr-cols: 3; --lr-gap: 28px; --lr-visual-ratio: 1 / 1; }
}

.lastours-product-related :is(:is(.lastours-related-grid, .elementor-widget-loop-grid), .lastours-wine-card),
.lastours-product-related :is(:is(.lastours-related-grid, .elementor-widget-loop-grid), .lastours-wine-card) *,
.lastours-product-related :is(:is(.lastours-related-grid, .elementor-widget-loop-grid), .lastours-wine-card) *::before,
.lastours-product-related :is(:is(.lastours-related-grid, .elementor-widget-loop-grid), .lastours-wine-card) *::after {
  box-sizing: border-box;
}


/* ==========================================================================
   1. GRILLE STATIQUE (1 à 3 cuvées)
   Flex centré, comme la Boutique : 2 cuvées = 2 cartes de largeur normale
   au centre, jamais étirées. Tablette : 2 + 1 centrée. Mobile : empilées.
   ========================================================================== */

.lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid) {
  position: relative;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid) .elementor-loop-container {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: var(--lr-gap) !important;
  grid-template-columns: none !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid) .e-loop-item {
  display: flex;
  flex-direction: column;
  flex: 0 0 calc((100% - (var(--lr-cols) - 1) * var(--lr-gap)) / var(--lr-cols)) !important;
  width: calc((100% - (var(--lr-cols) - 1) * var(--lr-gap)) / var(--lr-cols)) !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 !important;
}
.lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid) .e-loop-item > .lastours-wine-card { flex: 1 1 auto; }

/* Mobile statique : une carte par ligne, largeur de lecture */
@media (max-width: 767px) {
  .lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid) .e-loop-item {
    max-width: var(--lr-static-max) !important;
  }
}

/* Pas de pagination ni de message « rien trouvé » dans cette section */
.lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid) :is(.elementor-pagination, .e-load-more-anchor, .e-loop__load-more, .e-load-more-message) {
  display: none !important;
}


/* ==========================================================================
   2. CARROUSEL (4 cuvées et plus)
   Défilement horizontal natif avec aimantation (glissement tactile, trackpad,
   clavier via les liens), flèches ajoutées par le JS. Aucune bibliothèque.
   ========================================================================== */

.lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid):has(.e-loop-item ~ .e-loop-item ~ .e-loop-item ~ .e-loop-item) .elementor-loop-container {
  flex-wrap: nowrap !important;
  justify-content: flex-start !important;
  position: relative;            /* repère des positions de cartes (JS) */
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  /* Respiration sous les cartes : l'apparition (montée de 15px) n'est pas coupée */
  padding-bottom: 16px !important;
  margin-bottom: -16px !important;
}
.lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid):has(.e-loop-item ~ .e-loop-item ~ .e-loop-item ~ .e-loop-item) .elementor-loop-container::-webkit-scrollbar {
  display: none;
}
/* Pendant le glissement piloté par les flèches : aimantation suspendue */
.lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid) .elementor-loop-container.is-animating {
  scroll-snap-type: none !important;
}

.lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid):has(.e-loop-item ~ .e-loop-item ~ .e-loop-item ~ .e-loop-item) .e-loop-item {
  scroll-snap-align: start;
  scroll-snap-stop: always;      /* un glissement = une carte */
  max-width: none !important;
}

@media (max-width: 767px) {
  .lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid):has(.e-loop-item ~ .e-loop-item ~ .e-loop-item ~ .e-loop-item) .e-loop-item {
    flex-basis: var(--lr-peek) !important;
    width: var(--lr-peek) !important;
  }
  .lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid):has(.e-loop-item ~ .e-loop-item ~ .e-loop-item ~ .e-loop-item) .elementor-loop-container {
    scroll-snap-stop: normal;
  }
}


/* ==========================================================================
   3. FLÈCHES — à droite du titre « D'autres expressions de Lastours »
   La place est réservée en CSS dès le chargement (pas de décalage quand le
   JS ajoute les flèches). Sans classe .lastours-related-title sur le titre :
   barre au-dessus de la grille, alignée à droite.
   ========================================================================== */

.lastours-product-related:has(:is(.lastours-related-grid, .elementor-widget-loop-grid) .e-loop-item ~ .e-loop-item ~ .e-loop-item ~ .e-loop-item) .lastours-related-title {
  position: relative !important;
  padding-right: var(--lr-nav-reserve) !important;
}

/* Repli : titre non repéré → barre réservée au-dessus de la grille */
.lastours-product-related:not(:has(.lastours-related-title)) :is(.lastours-related-grid, .elementor-widget-loop-grid):has(.e-loop-item ~ .e-loop-item ~ .e-loop-item ~ .e-loop-item) {
  padding-top: 60px !important;
}

.lastours-product-related .lastours-related-navigation {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0;
  margin: 0;
  padding: 0;
}
.lastours-product-related .lastours-related-navigation.is-toolbar {
  top: 0;
  bottom: auto;
}

.lastours-product-related .lastours-related-navigation button.lastours-related-arrow,
.lastours-product-related .lastours-related-navigation button.lastours-related-arrow:hover,
.lastours-product-related .lastours-related-navigation button.lastours-related-arrow:focus,
.lastours-product-related .lastours-related-navigation button.lastours-related-arrow:active,
.lastours-product-related .lastours-related-navigation button.lastours-related-arrow:disabled {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}

.lastours-product-related .lastours-related-navigation button.lastours-related-arrow {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;          /* zone de clic confortable, icône fine de 24px */
  min-width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #17251F !important;
  line-height: 1 !important;
  cursor: pointer;
  opacity: 1;
  -webkit-tap-highlight-color: transparent;
  transition: color 0.35s var(--ls-ease), opacity 0.35s var(--ls-ease);
}
.lastours-product-related .lastours-related-navigation .lastours-related-arrow svg {
  display: block;
  width: 24px;
  height: 12px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.35s var(--ls-ease);
}

@media (hover: hover) {
  .lastours-product-related .lastours-related-navigation button.lastours-related-arrow:not(:disabled):hover {
    color: #806634 !important;
  }
  .lastours-product-related .lastours-related-navigation .lastours-related-prev:not(:disabled):hover svg { transform: translateX(-3px); }
  .lastours-product-related .lastours-related-navigation .lastours-related-next:not(:disabled):hover svg { transform: translateX(3px); }
}
.lastours-product-related .lastours-related-navigation button.lastours-related-arrow:focus { outline: none; }
.lastours-product-related .lastours-related-navigation button.lastours-related-arrow:focus-visible {
  color: #806634 !important;
  outline: 1px dashed currentColor !important;
  outline-offset: -6px;
}
/* Extrémités : bouton réellement désactivé et visiblement éteint */
.lastours-product-related .lastours-related-navigation button.lastours-related-arrow:disabled {
  color: #17251F !important;
  opacity: 0.22;
  cursor: default;
}


/* ==========================================================================
   4. CARTE CUVÉE — copie de lastours-shop.css §4, limitée à cette section.
   Valeurs « tablette » de la Boutique par défaut (cartes de 300 à 460px,
   c'est-à-dire la largeur des cartes ici sur mobile et tablette), valeurs
   « desktop » au-delà de 1025px.
   ========================================================================== */

.lastours-product-related .lastours-wine-card {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  gap: 0 !important;
  height: 100%;
  min-width: 0;
  padding: 20px 20px 24px !important;
  margin: 0 !important;
  border: 1px solid var(--ls-card-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: var(--ls-card) !important;
  color: var(--ls-charcoal);
  transition: background-color var(--ls-hover) var(--ls-ease), border-color var(--ls-hover) var(--ls-ease) !important;
}
.lastours-product-related .lastours-wine-card > .e-con-inner { display: contents !important; }
.lastours-product-related .lastours-wine-card .elementor-element.elementor-widget { margin: 0 !important; }

/* --- Haut : catégorie --- */
.lastours-product-related .lastours-wine-card-top {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: 0 !important;
  gap: 8px !important;
}
.lastours-product-related .lastours-wine-card-category,
.lastours-product-related .lastours-wine-card-category :is(.elementor-heading-title, p, a, span) {
  margin: 0 !important;
  color: var(--ls-brown) !important;
  font-size: 11px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase;
  text-decoration: none !important;
}

/* --- Visuel : zone constante, bouteille jamais coupée ni déformée --- */
.lastours-product-related .lastours-wine-card-visual,
.lastours-product-related .lastours-wine-card-image:not(.lastours-wine-card-visual .lastours-wine-card-image) {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: var(--lr-visual-ratio);
  max-height: var(--ls-visual-max, none);
  min-height: 0 !important;
  margin: 16px 0 20px !important;
  padding: 0 !important;
  overflow: visible !important;
}
.lastours-product-related .lastours-wine-card-image:not(.lastours-wine-card-visual .lastours-wine-card-image) :is(.elementor-widget-container, a, picture) {
  display: block;
  width: 100%;
  height: 100%;
}
.lastours-product-related .lastours-wine-card-visual > .e-con-inner { display: contents !important; }
.lastours-product-related .lastours-wine-card-visual :is(.lastours-wine-card-image, .elementor-widget-image) {
  position: absolute !important;
  inset: 4% 6%;
  width: auto !important;
  height: auto !important;
  max-width: none !important;
}
.lastours-product-related .lastours-wine-card-visual :is(.lastours-wine-card-image, .elementor-widget-image) :is(.elementor-widget-container, a, picture) {
  display: block;
  width: 100%;
  height: 100%;
}
.lastours-product-related :is(.lastours-wine-card-visual, .lastours-wine-card-image) img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  margin: 0 auto;
  object-fit: contain !important;
  object-position: center bottom;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: translateZ(0);
  transform-origin: 50% 100%;
  transition: transform var(--ls-hover) var(--ls-ease);
}

/* --- Infos --- */
.lastours-product-related .lastours-wine-card-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
  min-height: 0 !important;
  padding: 0 !important;
  flex: 1 1 auto !important;
}
.lastours-product-related .lastours-wine-card-title,
.lastours-product-related .lastours-wine-card-title :is(.elementor-heading-title, a) {
  margin: 0 !important;
  color: var(--ls-charcoal) !important;
  font-size: 20px !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  overflow-wrap: anywhere;
  hyphens: auto;
  text-wrap: balance;
}
.lastours-product-related .lastours-wine-card-subtitle,
.lastours-product-related .lastours-wine-card-subtitle :is(.elementor-heading-title, p) {
  margin: 0 !important;
  color: var(--ls-charcoal-soft) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  overflow-wrap: anywhere;
}
.lastours-product-related .lastours-wine-card-subtitle p:last-child { margin-bottom: 0; }

/* --- Bas : prix + CTA --- */
.lastours-product-related .lastours-wine-card-bottom {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px 16px !important;
  min-height: 0 !important;
  min-width: 0;
  margin-top: 16px !important;
  padding: 16px 0 0 !important;
  border-top: 1px solid var(--ls-line);
}

.lastours-product-related .lastours-wine-card-price :is(.price, p, span.amount, bdi) {
  color: var(--ls-charcoal) !important;
  font-size: 15px !important;
  line-height: 1.35 !important;
  letter-spacing: 0.02em;
}
.lastours-product-related .lastours-wine-card-price .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 8px;
  margin: 0 !important;
}
.lastours-product-related .lastours-wine-card-price del,
.lastours-product-related .lastours-wine-card-price del :is(span, bdi) {
  color: var(--ls-charcoal-soft) !important;
  font-size: 12px !important;
  opacity: 1;
  text-decoration: line-through;
}
.lastours-product-related .lastours-wine-card-price ins,
.lastours-product-related .lastours-wine-card-price ins :is(span, bdi) {
  color: var(--ls-brown) !important;
  background: none !important;
  text-decoration: none !important;
  font-weight: inherit;
}
.lastours-product-related .lastours-wine-card-price .screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

/* Produit épuisé */
.lastours-product-related .e-loop-item.outofstock :is(.lastours-wine-card-visual, .lastours-wine-card-image) img { opacity: 0.55; filter: grayscale(0.35); }
.lastours-product-related .e-loop-item.outofstock :is(.lastours-wine-card-visual, .lastours-wine-card-image:not(.lastours-wine-card-visual .lastours-wine-card-image))::after {
  content: "Épuisé";
  position: absolute;
  top: 0;
  right: 0;
  color: var(--ls-charcoal-soft);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* Survol (pointeur fin uniquement) et focus clavier : identiques à la Boutique */
@media (hover: hover) and (pointer: fine) {
  .lastours-product-related .lastours-wine-card:hover { background-color: var(--ls-card-hover) !important; border-color: var(--ls-card-line-hover) !important; }
  .lastours-product-related .lastours-wine-card:hover :is(.lastours-wine-card-visual, .lastours-wine-card-image) img {
    transform: translate3d(0, -8px, 0) scale(1.025);
  }
}
.lastours-product-related .lastours-wine-card:has(:focus-visible) { background-color: var(--ls-card-hover) !important; border-color: var(--ls-card-line-hover) !important; }
.lastours-product-related .lastours-wine-card a:focus-visible { outline: 1px solid currentColor; outline-offset: 4px; border-radius: 0; }

/* Desktop : 3 colonnes */
@media (min-width: 1025px) {
  .lastours-product-related .lastours-wine-card { padding: 24px 24px 28px !important; }
  .lastours-product-related .lastours-wine-card-title,
  .lastours-product-related .lastours-wine-card-title :is(.elementor-heading-title, a) { font-size: 22px !important; }
}
@media (min-width: 1280px) {
  /* Cartes de 380 à 430px : espacements et titre de la Boutique desktop */
  .lastours-product-related .lastours-wine-card { padding: 28px 32px 32px !important; }
  .lastours-product-related .lastours-wine-card-title,
  .lastours-product-related .lastours-wine-card-title :is(.elementor-heading-title, a) { font-size: 24px !important; }
}


/* ==========================================================================
   5. BOUTON DE CARTE — copie de lastours-shop.css §5b (.lastours-wine-card-link)
   ========================================================================== */

.lastours-product-related .lastours-wine-card-link {
  width: auto !important;
  max-width: 100%;
  --ls-btn-text: var(--ls-charcoal);
  --ls-btn-hover: var(--ls-brown);
  --ls-btn-accent: var(--ls-gold);
}
.lastours-product-related .lastours-wine-card-link a {
  position: relative !important;
  display: inline-flex !important;
  align-items: center;
  gap: 16px;
  min-height: 44px;
  padding: 16px 26px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  color: var(--ls-btn-text) !important;
  font-family: "Lato", system-ui, sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap;
  transition: color 0.35s var(--ls-ease) !important;
}
.lastours-product-related .lastours-wine-card-link a::before,
.lastours-product-related .lastours-wine-card-link a::after {
  content: "" !important;
  position: absolute !important;
  left: 0;
  bottom: 0;
  display: block !important;
  background: var(--ls-btn-accent) !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: none;
}
.lastours-product-related .lastours-wine-card-link a::before { top: 0; width: 4px !important; height: auto !important; }
.lastours-product-related .lastours-wine-card-link a::after { top: auto; width: 16% !important; height: 4px !important; }

.lastours-product-related .lastours-wine-card-link .elementor-button-content-wrapper {
  display: inline-flex !important;
  align-items: center;
  gap: 16px !important;
}
.lastours-product-related .lastours-wine-card-link .elementor-button-icon {
  display: inline-flex;
  margin: 0 !important;
  color: currentColor !important;
  font-size: 14px;
  transition: transform 0.35s var(--ls-ease);
}
.lastours-product-related .lastours-wine-card-link .elementor-button-icon :is(svg, i) {
  width: 18px;
  height: auto;
  color: currentColor !important;
  fill: currentColor !important;
}

@media (hover: hover) {
  .lastours-product-related .lastours-wine-card-link a:hover,
  .lastours-product-related .lastours-wine-card:hover .lastours-wine-card-link a {
    color: var(--ls-btn-hover) !important;
  }
  .lastours-product-related .lastours-wine-card-link a:hover .elementor-button-icon,
  .lastours-product-related .lastours-wine-card:hover .lastours-wine-card-link .elementor-button-icon {
    transform: translateX(5px);
  }
}
.lastours-product-related .lastours-wine-card-link a:focus-visible {
  color: var(--ls-btn-hover) !important;
  outline: 1px dashed currentColor !important;
  outline-offset: 6px;
}

/* Desktop étroit (3 cartes de ~300px) : CTA resserré pour tenir sur une ligne */
@media (min-width: 1025px) and (max-width: 1279px) {
  .lastours-product-related .lastours-wine-card-link a {
    gap: 12px;
    padding: 14px 18px !important;
    letter-spacing: 0.16em !important;
  }
  .lastours-product-related .lastours-wine-card-link .elementor-button-content-wrapper { gap: 12px !important; }
}

/* Mobile : version compacte de l'accueil (carte pleine largeur) */
@media (max-width: 767px) {
  .lastours-product-related .lastours-wine-card-link a {
    gap: 10px;
    padding: 14px 0 14px 16px !important;
    font-size: 0.64rem !important;
    letter-spacing: 0.16em !important;
  }
  .lastours-product-related .lastours-wine-card-link .elementor-button-content-wrapper { gap: 10px !important; }
}


/* ==========================================================================
   6. APPARITION AU SCROLL — mêmes valeurs que la Boutique (§6)
   .lastours-related-reveal / .is-pending : posés par le JS uniquement.
   Sans JS, toutes les cartes sont visibles.
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) {
  .lastours-product-related .lastours-related-reveal {
    transition:
      opacity 0.5s var(--ls-ease),
      transform 0.5s var(--ls-ease-out);
    transition-delay: var(--lr-reveal-delay, 0ms);
  }
  .lastours-product-related .lastours-related-reveal.is-pending {
    opacity: 0;
    transform: translate3d(0, 15px, 0);
  }
}
@media print {
  .lastours-product-related .lastours-related-reveal.is-pending { opacity: 1 !important; transform: none !important; }
}
body.elementor-editor-active .lastours-product-related .lastours-related-reveal.is-pending { opacity: 1 !important; transform: none !important; }


/* ==========================================================================
   7. SÉCURITÉS
   ========================================================================== */

/* Si la section n'a pas été retirée côté serveur (cache, autre version du
   plugin), elle ne laisse jamais de bloc vide. Toujours visible dans l'éditeur. */
body:not(.elementor-editor-active) .lastours-product-related:not(:has(.e-loop-item)) {
  display: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .lastours-product-related .lastours-wine-card,
  .lastours-product-related :is(.lastours-wine-card-visual, .lastours-wine-card-image) img,
  .lastours-product-related .lastours-wine-card-link a,
  .lastours-product-related .lastours-wine-card-link .elementor-button-icon,
  .lastours-product-related .lastours-related-arrow,
  .lastours-product-related .lastours-related-arrow svg {
    transition-duration: 0.01s !important;
  }
  .lastours-product-related .lastours-wine-card:hover :is(.lastours-wine-card-visual, .lastours-wine-card-image) img { transform: none !important; }
  .lastours-product-related :is(.lastours-related-grid, .elementor-widget-loop-grid) .elementor-loop-container { scroll-snap-stop: normal; }
}
