/* Galeries Photos Pro v9.9 — présentation éditoriale mobile / tablette.
   Toutes les règles sont limitées au widget Elementor de cette extension. */
.lmcv4-wrapper .lmcv4-feature-category,
.lmcv4-wrapper .lmcv4-feature-date,
.lmcv4-wrapper .lmcv4-card-excerpt { display:none; }

/* En grand écran, on conserve les cartes multiples du widget. */
.lmcv4-wrapper .lmcv4-card-link { box-shadow:none; }
.lmcv4-wrapper .lmcv4-img-wrap { border-radius:var(--lmcv4-radius, 10px); }
.lmcv4-wrapper .lmcv4-card-footer { padding:12px 0; }
.lmcv4-wrapper .lmcv4-card-title { font-weight:750; }

/* JS applique cette classe suivant la largeur réelle du widget, y compris
   pour un widget dans une colonne Elementor étroite. */
.lmcv4-wrapper.lmcv4-compact {
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  --lmcv4-radius:20px;
}
.lmcv4-compact .lmcv4-row {
  display:block!important;
  position:relative;
  width:100%;
  min-width:0;
  overflow:visible;
}
.lmcv4-compact .lmcv4-outer {
  display:block!important;
  width:100%!important;
  min-width:0!important;
  overflow:hidden!important;
  border-radius:0;
}
.lmcv4-compact .lmcv4-track { align-items:stretch; }
.lmcv4-compact .lmcv4-card {
  box-sizing:border-box!important;
  margin:0!important;
  min-width:0!important;
  max-width:100%!important;
  display:flex!important;
  align-self:stretch!important;
}
.lmcv4-compact .lmcv4-card-link {
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  height:100%!important;
  min-height:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  color:#202220;
  text-decoration:none!important;
}
.lmcv4-compact .lmcv4-img-wrap {
  position:relative!important;
  width:100%!important;
  aspect-ratio:16 / 9!important;
  height:auto!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#ecebe7;
  isolation:isolate;
}
.lmcv4-compact .lmcv4-img-wrap > img {
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:none!important;
}
.lmcv4-compact .lmcv4-img-overlay { display:none!important; }
.lmcv4-compact .lmcv4-badge { display:none!important; }
.lmcv4-compact .lmcv4-feature-category {
  position:absolute;
  z-index:2;
  display:block;
  left:15px;
  top:15px;
  max-width:calc(100% - 135px);
  border:4px solid #fff;
  border-radius:999px;
  padding:7px 15px;
  background:var(--lmcv4-accent, #e87722);
  color:#fff;
  font-family:inherit;
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  box-sizing:border-box;
}
.lmcv4-compact .lmcv4-feature-date {
  position:absolute;
  z-index:2;
  bottom:13px;
  right:13px;
  width:86px;
  height:86px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:0;
  border:6px solid #fff;
  border-radius:50%;
  box-sizing:border-box;
  background:var(--lmcv4-accent, #e87722);
  color:#fff;
  box-shadow:0 3px 12px rgba(0,0,0,.1);
}
.lmcv4-compact .lmcv4-feature-date strong { color:inherit; font:800 28px/1.05 inherit; font-family:inherit; font-size:28px; line-height:1.05; font-weight:800; }
.lmcv4-compact .lmcv4-feature-date small { color:inherit; font:650 13px/1.1 inherit; font-family:inherit; font-size:13px; line-height:1.1; font-weight:650; }
.lmcv4-compact .lmcv4-card-footer {
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:9px!important;
  flex:1!important;
  min-height:122px!important;
  padding:16px 0 5px!important;
  background:#fff!important;
  box-sizing:border-box;
}
.lmcv4-compact .lmcv4-card-title {
  display:-webkit-box!important;
  overflow:hidden!important;
  text-overflow:ellipsis;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  white-space:normal!important;
  font-family:inherit!important;
  font-size:clamp(20px,3.2vw,28px)!important;
  line-height:1.18!important;
  letter-spacing:-.02em;
  color:#222423!important;
}
.lmcv4-compact .lmcv4-card-excerpt {
  display:-webkit-box!important;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-family:inherit;
  font-size:clamp(14px,2vw,17px);
  line-height:1.48;
  font-weight:450;
  color:#414541;
}
.lmcv4-compact .lmcv4-nav {
  position:absolute!important;
  z-index:6;
  top:var(--lmcv4-nav-top, 24%)!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:50px!important;
  height:50px!important;
  flex:0 0 50px!important;
  padding:0!important;
  background:#fff!important;
  color:var(--lmcv4-accent, #e87722)!important;
  border:0!important;
  border-radius:50%!important;
  box-shadow:0 2px 16px rgba(0,0,0,.07)!important;
  cursor:pointer;
  touch-action:manipulation;
}
.lmcv4-compact .lmcv4-nav svg { width:24px; height:24px; stroke-width:2.75; }
.lmcv4-compact .lmcv4-prev { left:-17px!important; right:auto!important; }
.lmcv4-compact .lmcv4-next { right:-17px!important; left:auto!important; }
.lmcv4-compact .lmcv4-nav:disabled { opacity:.45!important; }
.lmcv4-compact .lmcv4-nav[hidden],
.lmcv4-compact .lmcv4-dots[hidden] { display:none!important; }
.lmcv4-compact .lmcv4-dots {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:18px!important;
  padding:0 0 6px;
}
.lmcv4-compact .lmcv4-dot {
  width:9px;
  height:9px;
  min-width:9px;
  border-radius:999px;
  background:#d0d1cf;
  border:0;
  padding:0;
  cursor:pointer;
}
.lmcv4-compact .lmcv4-dot.active,
.lmcv4-compact .lmcv4-dot[aria-current="true"] {
  width:29px!important;
  background:var(--lmcv4-accent, #e87722);
}
.lmcv4-compact .lmcv4-nav:focus-visible,
.lmcv4-compact .lmcv4-dot:focus-visible,
.lmcv4-compact .lmcv4-card-link:focus-visible { outline:3px solid var(--lmcv4-accent,#e87722); outline-offset:3px; }
@media(max-width:600px) {
 .lmcv4-compact .lmcv4-img-wrap {border-radius:17px!important;}
 .lmcv4-compact .lmcv4-feature-category {left:10px;top:10px;max-width:calc(100% - 100px);font-size:11px;padding:6px 10px;border-width:3px;}
 .lmcv4-compact .lmcv4-feature-date {width:69px;height:69px;right:9px;bottom:9px;border-width:5px;}
 .lmcv4-compact .lmcv4-feature-date strong {font-size:23px;}
 .lmcv4-compact .lmcv4-feature-date small {font-size:10px;}
 .lmcv4-compact .lmcv4-nav {width:43px!important;height:43px!important;flex-basis:43px!important;}
 .lmcv4-compact .lmcv4-nav svg {width:22px;height:22px;}
 .lmcv4-compact .lmcv4-prev {left:-9px!important;}
 .lmcv4-compact .lmcv4-next {right:-9px!important;}
 .lmcv4-compact .lmcv4-card-footer {min-height:110px!important;padding-top:13px!important;}
 .lmcv4-compact .lmcv4-card-title {font-size:clamp(19px,5vw,24px)!important;}
 .lmcv4-compact .lmcv4-card-excerpt {font-size:14px;}
 .lmcv4-compact .lmcv4-dots {gap:9px;margin-top:14px!important;}
}
@media(prefers-reduced-motion:reduce) {
 .lmcv4-compact .lmcv4-track { transition:none!important; }
}

/* V10 — remove date circles from carousel and expand category pill. */
.lmcv4-feature-date{display:none!important}
.lmcv4-compact .lmcv4-feature-category{max-width:calc(100% - 26px)}
@media(max-width:600px){.lmcv4-compact .lmcv4-feature-category{max-width:calc(100% - 20px)}}
