/* ============================================================
   AFEBAS — 05-calendrier-opens.css
   Calendrier opens nationaux, Consolante et boutons d'actions
   ============================================================ */

/* ───────────────────────────────────────────────────────────
   Structure calendrier
   ─────────────────────────────────────────────────────────── */
.af-open-calendar{
  width:100%; margin:20px 0;
  border-radius:12px; overflow:hidden;
  background:#fff;
  box-shadow:0 4px 18px rgba(0,0,0,.06);
  font-size:14px;
  border:1px solid rgba(0,0,0,.08);
}

.af-open-header{
  display:grid;
  grid-template-columns:160px 1fr 260px;
  background:#0b2a5b; color:#fff;
  font-weight:800; text-transform:uppercase; font-size:12px;
  padding:12px 16px;
}
.af-open-header > div{ display:flex; align-items:center; }

.af-open-row{
  display:grid;
  grid-template-columns:160px 1fr 260px;
  align-items:center; padding:14px 16px;
  border-bottom:1px solid rgba(0,0,0,.06);
  transition:background .2s ease;
}
.af-open-row:nth-child(even){ background:#f8f9fc; }
.af-open-row:hover{ background:#eef2fa; }

.af-col-date{ font-weight:700; color:#0b2a5b; }

.af-col-main{ display:flex; gap:14px; align-items:center; }

.af-open-poster{
  width:72px; height:96px; object-fit:cover;
  border-radius:8px; box-shadow:0 6px 12px rgba(0,0,0,.12);
  flex:0 0 72px;
}

.af-open-title{
  font-weight:700; font-size:16px; color:#1d1d1d; text-decoration:none;
}
.af-open-title:hover{ text-decoration:underline; }

.af-open-location{ font-size:12px; font-weight:700; opacity:.7; margin-top:4px; }

.af-col-right{ text-align:right; }

.af-badge{ padding:4px 10px; border-radius:12px; font-size:12px; font-weight:800; }
.af-badge-cancel{ text-decoration:line-through; color:#9ca3af; }

/* ───────────────────────────────────────────────────────────
   Boutons d'action (agenda, carte, inscription, résultats)
   ─────────────────────────────────────────────────────────── */
.af-open-action{
  display:inline-flex; align-items:center; gap:8px;
  padding:7px 12px; border-radius:999px;
  font-size:12px; font-weight:800; letter-spacing:.01em; line-height:1;
  text-decoration:none; cursor:pointer;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 4px 12px rgba(0,0,0,.06);
  transition:all .2s ease;
  margin-left:6px;
}
.af-open-action:focus,.af-open-action:focus-visible{
  outline:3px solid rgba(11,42,91,.25); outline-offset:2px;
}

/* Icône pseudo-élément */
.af-open-action::before{
  content:""; width:16px; height:16px; flex:0 0 16px;
  display:inline-block; background-repeat:no-repeat;
  background-position:center; background-size:contain; opacity:.92;
}

/* Agenda */
.af-open-action[href*="calendar.google"]{
  background:#f1f5ff; color:#1a56db; border-color:rgba(26,86,219,.18);
}
.af-open-action[href*="calendar.google"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%231a56db' d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h1V3a1 1 0 0 1 1-1Zm13 8H4v9a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-9ZM6 6H5a1 1 0 0 0-1 1v1h16V7a1 1 0 0 0-1-1h-1v1a1 1 0 1 1-2 0V6H8v1a1 1 0 1 1-2 0V6Z'/%3E%3Cpath fill='%231a56db' d='M8 13h3v3H8z'/%3E%3C/svg%3E");
}
.af-open-action[href*="calendar.google"]:hover{ background:#1a56db; color:#fff; }
.af-open-action[href*="calendar.google"]:hover::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M7 2a1 1 0 0 1 1 1v1h8V3a1 1 0 1 1 2 0v1h1a3 3 0 0 1 3 3v12a3 3 0 0 1-3 3H5a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3h1V3a1 1 0 0 1 1-1Zm13 8H4v9a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-9ZM6 6H5a1 1 0 0 0-1 1v1h16V7a1 1 0 0 0-1-1h-1v1a1 1 0 1 1-2 0V6H8v1a1 1 0 1 1-2 0V6Z'/%3E%3Cpath fill='%23ffffff' d='M8 13h3v3H8z'/%3E%3C/svg%3E");
}

/* Itinéraire */
.af-open-action[href*="google.com/maps"]{
  background:#fef3f2; color:#c2410c; border-color:rgba(194,65,12,.18);
}
.af-open-action[href*="google.com/maps"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c2410c' d='M12 2a7 7 0 0 1 7 7c0 5.2-7 13-7 13S5 14.2 5 9a7 7 0 0 1 7-7Zm0 9.5A2.5 2.5 0 1 0 12 6.5a2.5 2.5 0 0 0 0 5Z'/%3E%3C/svg%3E");
}
.af-open-action[href*="google.com/maps"]:hover{ background:#c2410c; color:#fff; }
.af-open-action[href*="google.com/maps"]:hover::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M12 2a7 7 0 0 1 7 7c0 5.2-7 13-7 13S5 14.2 5 9a7 7 0 0 1 7-7Zm0 9.5A2.5 2.5 0 1 0 12 6.5a2.5 2.5 0 0 0 0 5Z'/%3E%3C/svg%3E");
}

/* Inscription */
.af-open-action[href*="inscription"]{
  background:#ecfdf5; color:#047857; border-color:rgba(4,120,87,.18);
}
.af-open-action[href*="inscription"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23047857' d='M4 6a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v3a2 2 0 0 0 0 4v3a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-3a2 2 0 0 0 0-4V6Zm5-1a1 1 0 0 0-1 1v1h2V6a1 1 0 0 0-1-1Zm0 12a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1Zm5-10h2v2h-2V7Zm0 4h2v2h-2v-2Zm0 4h2v2h-2v-2Z'/%3E%3C/svg%3E");
}
.af-open-action[href*="inscription"]:hover{ background:#047857; color:#fff; }
.af-open-action[href*="inscription"]:hover::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M4 6a3 3 0 0 1 3-3h10a3 3 0 0 1 3 3v3a2 2 0 0 0 0 4v3a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3v-3a2 2 0 0 0 0-4V6Zm5-1a1 1 0 0 0-1 1v1h2V6a1 1 0 0 0-1-1Zm0 12a1 1 0 0 0-1 1v1h2v-1a1 1 0 0 0-1-1Zm5-10h2v2h-2V7Zm0 4h2v2h-2v-2Zm0 4h2v2h-2v-2Z'/%3E%3C/svg%3E");
}

/* Résultats */
.af-open-action[href*="resultat-du-tournoi"]{
  background:#fff7ed; color:#c2410c; border-color:rgba(194,65,12,.18);
}
.af-open-action[href*="resultat-du-tournoi"]::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23c2410c' d='M7 2h10v3h3v3a6 6 0 0 1-6 6h-1v2h2v2H9v-2h2v-2H10A6 6 0 0 1 4 8V5h3V2Zm-1 5a4 4 0 0 0 4 4h4a4 4 0 0 0 4-4V7h-1a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3H6v0Z'/%3E%3C/svg%3E");
}
.af-open-action[href*="resultat-du-tournoi"]:hover{ background:#c2410c; color:#fff; }
.af-open-action[href*="resultat-du-tournoi"]:hover::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M7 2h10v3h3v3a6 6 0 0 1-6 6h-1v2h2v2H9v-2h2v-2H10A6 6 0 0 1 4 8V5h3V2Zm-1 5a4 4 0 0 0 4 4h4a4 4 0 0 0 4-4V7h-1a3 3 0 0 1-3 3H10a3 3 0 0 1-3-3H6v0Z'/%3E%3C/svg%3E");
}

/* Annulé */
.af-open-action.is-cancel{
  background:#f3f4f6; color:#9ca3af;
  border-color:rgba(156,163,175,.25); box-shadow:none; cursor:default;
}
.af-open-action.is-cancel::before{ content:none; }

/* Effet translateY au hover (toutes variantes) */
.af-open-action:hover{ transform:translateY(-1px); }

/* ───────────────────────────────────────────────────────────
   Responsive
   ─────────────────────────────────────────────────────────── */
@media (max-width:900px){
  .af-open-header{ display:none; }
  .af-open-row{ grid-template-columns:1fr; gap:10px; }
  .af-col-right{ text-align:left; border-top:1px dashed #ddd; padding-top:8px; }
  .af-col-main{ flex-direction:column; align-items:flex-start; }
  .af-open-poster{ width:100%; height:auto; aspect-ratio:16/9; }
}
@media (max-width:768px){
  .af-open-header{ display:none; }
  .af-open-row{ grid-template-columns:1fr; gap:6px; }
  .af-col-date{ font-size:14px; }
  .af-col-right{ text-align:left; margin-top:6px; display:flex; flex-wrap:wrap; gap:8px; }
  .af-open-action{ margin:0; }
}


.af-ava{
  position: relative;
  width: 40px;
  height: 40px;
  min-width: 40px;
  border-radius: 999px;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #0b2a5b;
  color: #fff;
  font-weight: 800;
}

.af-ava__img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.af-ava__ini{
  position: relative;
  z-index: 1;
  font-size: 13px;
  line-height: 1;
}

.af-ava.is-photo .af-ava__ini{
  display: none;
}