/* =====================================================================
   RG Agenda — widget Elementor
   Toutes les classes sont préfixées rgag- pour pouvoir cohabiter avec
   un widget HTML existant sur la même page.
   ================================================================== */

.rgag{
  --rgag-cols:4;
  --rgag-gap:20px;
  --rgag-edge:0px;
  --rgag-font:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --rgag-display:"Cormorant","Cormorant Garamond",Georgia,serif;
  font-family:var(--rgag-font);
  line-height:1.6;
}
.rgag *,.rgag *::before,.rgag *::after{box-sizing:border-box}
.rgag p,.rgag h1,.rgag h2,.rgag h3,.rgag h4,.rgag ol,.rgag li{margin:0;padding:0}
.rgag ol{list-style:none}
.rgag a{text-decoration:none;color:inherit;box-shadow:none}
.rgag img,.rgag svg{display:block;max-width:100%}
.rgag button{font:inherit;color:inherit;background:none;margin:0}

/* Pleine largeur : sort des marges du conteneur Elementor. */
.rgag--bleed{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.rgag--bleed .rgag-head,
.rgag--bleed .rgag-foot{padding-inline:max(1.25rem,calc(50vw - 37rem))}
.rgag--bleed .rgag-rail{--rgag-edge:max(1.25rem,calc(50vw - 37rem))}

/* ------------------------------------------------------------ EN-TÊTE */
.rgag-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem 2rem;flex-wrap:wrap;margin-bottom:24px}
.rgag-title{font-family:var(--rgag-display);font-weight:300;font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.05;letter-spacing:-.01em}
.rgag-sub{margin-top:.35rem}

.rgag-nav{display:flex;align-items:center;gap:.6rem}
.rgag-nav[hidden]{display:none}
.rgag--arrows-desktop .rgag-nav{display:none}
@media (min-width:640px){.rgag--arrows-desktop .rgag-nav:not([hidden]){display:flex}}

.rgag-arrow{width:46px;height:46px;border-radius:50%;border:1.5px solid currentColor;cursor:pointer;
  display:grid;place-items:center;padding:0;transition:background-color .2s,color .2s,opacity .2s}
.rgag-arrow svg{width:18px;height:18px}
.rgag-arrow:disabled{opacity:.28;cursor:default}

/* --------------------------------------------------------- CARROUSEL */
.rgag-rail{
  display:grid;grid-auto-flow:column;
  gap:var(--rgag-gap);
  grid-auto-columns:calc((100% - (var(--rgag-cols) - 1) * var(--rgag-gap)) / var(--rgag-cols));
  overflow-x:auto;overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;scroll-padding-inline:var(--rgag-edge);
  padding:.35rem var(--rgag-edge) 1.25rem;
  scrollbar-width:none;
}
.rgag-rail::-webkit-scrollbar{display:none}
.rgag-ev{scroll-snap-align:start;min-width:0}

/* L'adaptation au nombre de cartes est écrite en ligne par PHP :
   voir Agenda_Widget::adaptive_css(). Les réglages d'Elementor
   génèrent des sélecteurs qu'une règle de classe ne peut pas surpasser. */

/* -------------------------------------------------------------- CARTE */
.rgag-link{display:flex;flex-direction:column;height:100%;overflow:hidden;
  background:#F4EFE5;border:1px solid #CBC1AC;border-radius:18px;
  transition:border-color .25s,box-shadow .3s cubic-bezier(.19,1,.22,1)}

.rgag-media{position:relative;aspect-ratio:1;background:#E3DBC9;overflow:hidden}
.rgag-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.19,1,.22,1)}
.rgag-ph{position:absolute;inset:0;display:grid;place-items:center;
  background:radial-gradient(110% 90% at 50% 35%,#F2EDE2 0%,#E3DBC9 100%)}
.rgag-ph svg{width:52%;height:auto}

.rgag-flag{position:absolute;left:.75rem;top:.75rem;padding:.3rem .7rem;border-radius:999px;
  background:#B23A2A;color:#FBF7EE;font-size:.78rem;font-weight:500;line-height:1.3}

.rgag-body{display:grid;gap:.7rem;padding:16px 16px 18px;flex:1;align-content:start}
.rgag-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}

.rgag-pill{display:inline-flex;align-items:center;min-height:28px;padding:.2rem .7rem;
  border-radius:999px;font-size:.8rem;line-height:1.2;white-space:nowrap;border:1px solid transparent}
.rgag-pill-label{background:#1A1714;color:#ECE6D8;overflow:hidden;text-overflow:ellipsis;min-width:0}
.rgag-pill-city{background:#E2B456;color:#1A1714;font-weight:500}
.rgag-pill-date{border-color:#1A1714;font-size:.95rem;min-height:34px;padding:.25rem .9rem}

.rgag-price{font-weight:500;font-size:1rem;font-variant-numeric:tabular-nums}

.rgag-evtitle{font:500 1.05rem/1.35 var(--rgag-font);padding-top:.8rem;
  border-top:1px solid #CBC1AC;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

.rgag-venue{display:flex;align-items:center;gap:.4rem;font-size:.925rem;margin-top:auto}
.rgag-venue svg{width:16px;height:16px;flex:none;display:none}

/* ------------------------------------------------------------- PIED */
.rgag-foot{margin-top:.75rem}
.rgag-footlink{font-weight:500;text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:.3em;text-decoration-color:#B23A2A}
.rgag-footlink:hover{text-decoration-thickness:2px}

/* ------------------------------------------------------- ACCESSIBILITÉ */
.rgag :focus-visible{outline:2px solid #B23A2A;outline-offset:3px;border-radius:3px}

@media (prefers-reduced-motion:reduce){
  .rgag *{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .rgag-rail{scroll-behavior:auto}
}
