/* TASK-N43 (ruling JG, 24-10-2026): post-launch build 2. Tokens only.
   1. The two home blocks: Festivals and events (article cards) and New on
      franco-media (profile cards). The .card and .sect rules come from home.css;
      the profile card rules are those of hub.css, scoped to the home block.
   3. Card buttons: hover and focus keep a readable label (L2-3). The article
      body rule ".abody a:hover" set the ink colour on the dark "View profile"
      button, so the label vanished on hover. Light label on the dark buttons,
      ink on the golden ones, contrast at least 4.95:1.
   5. The sidebar house ad is one link (whole card clickable). */

/* ---------- 1. Home blocks ---------- */

.home-fetes .cards{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.home-fetes .more,
.home-new .more{ margin:22px 0 0; }
.home-fetes .more a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family:var(--font-body);
  font-weight:var(--weight-bold);
  font-size:var(--size-body);
  color:var(--os-link);
  text-decoration:none;
}
.home-fetes .more a:hover{ color:var(--os-link-hover); text-decoration:underline; text-underline-offset:3px; }
.home-fetes .more a:focus-visible{ outline:3px solid var(--os-dark-teal); outline-offset:3px; }
.home-fetes .more svg{ stroke:currentColor; display:block; }

.home-new .pcards{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:var(--card-gap);
}
.home-new .pcard{
  background:var(--os-card);
  border:1px solid var(--os-line);
  border-radius:var(--radius-card);
  overflow:hidden;
  display:flex;
  flex-direction:column;
  min-width:0;
  color:inherit;
  text-decoration:none;
  transition:box-shadow var(--duration-base) var(--ease), transform var(--duration-base) var(--ease);
}
.home-new .pcard:hover{ box-shadow:var(--shadow-floating); transform:translateY(-2px); text-decoration:none; }
.home-new .pcard:focus-visible{ outline:3px solid var(--os-dark-teal); outline-offset:3px; }
.home-new .pcard .ph{ aspect-ratio:16 / 10; background:var(--os-sunken); overflow:hidden; }
.home-new .pcard .ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.home-new .pcard .body{ padding:14px 16px 16px; display:flex; flex-direction:column; gap:6px; }
.home-new .pcard h3{
  margin:0;
  font-family:var(--font-display);
  font-weight:var(--weight-display);
  font-size:var(--size-card-title);
  line-height:var(--lh-card-title);
  color:var(--os-heading);
  overflow-wrap:anywhere;
}
.home-new .pcard p{
  margin:0;
  font-family:var(--font-body);
  font-size:var(--size-small);
  line-height:var(--lh-body);
  color:var(--os-muted);
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-clamp:2;
  overflow:hidden;
}

@media (max-width:1024px){
  .home-fetes .cards,
  .home-new .pcards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:768px){
  .home-fetes .cards,
  .home-new .pcards{ grid-template-columns:1fr; gap:14px; }
}

/* ---------- 3. Card buttons: hover and focus ---------- */

.fiche .btn:hover,
.fiche .btn:focus-visible,
.ccard .cta:hover,
.ccard .cta:focus-visible,
.closing .cta:hover,
.closing .cta:focus-visible{
  background:var(--os-link-hover);
  color:var(--on-dark);
  text-decoration:none;
}
.pagehead .cta:hover,
.pagehead .cta:focus-visible,
.ratesband .btn:hover,
.ratesband .btn:focus-visible{
  background:var(--os-cta-hover);
  color:var(--os-cta-ink);
  text-decoration:none;
}
.fiche .btn:focus-visible,
.ccard .cta:focus-visible,
.closing .cta:focus-visible{ outline:3px solid var(--os-dark-teal); outline-offset:3px; }

/* ---------- 5. Sidebar house ad ---------- */

.slot .slot-link{
  display:flex;
  flex-direction:column;
  gap:10px;
  color:inherit;
  text-decoration:none;
}
.slot .slot-link:hover,
.slot .slot-link:focus{ color:inherit; text-decoration:none; }
.slot .slot-link:focus-visible{ outline:3px solid var(--os-dark-teal); outline-offset:3px; border-radius:var(--radius-sm); }
