
.prochains-concerts{
  padding:36px 0 92px;
}

.prochains-concerts-heading{
  margin-bottom:22px;
}

.prochains-concerts-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:24px;
  align-items:stretch;
}

.prochains-concerts-card{
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:28px 28px 24px;
  border:1px solid rgba(255,255,255,0.46);
  border-radius:28px;
  background:var(--surface-soft, #f5efe8);
  box-shadow:var(--shadow, 0 14px 30px rgba(53, 36, 25, 0.08));
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transition:box-shadow 240ms linear, background-color 240ms linear, border-color 240ms linear;
}

.prochains-concerts-card:hover,
.prochains-concerts-card:focus-within{
  box-shadow:0 18px 34px rgba(53, 36, 25, 0.10);
  background:rgba(249,243,237,0.98);
  border-color:rgba(93,77,67,0.10);
}

.prochains-concerts-topline{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:18px;
}

.prochains-concerts-date{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:0.38em;
  min-width:0;
  flex:1 1 auto;
  font-family:"Cormorant Garamond", serif;
  font-size:clamp(1.1rem, 1.35vw, 1.55rem);
  line-height:1.14;
  font-weight:600;
  letter-spacing:-0.01em;
  color:#b07157;
}

.prochains-concerts-date-line{
  white-space:nowrap;
}

.prochains-concerts-date-line + .prochains-concerts-date-line::before{
  content:"·";
  display:inline-block;
  margin-right:0.38em;
}

.prochains-concerts-tag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:fit-content;
  max-width:170px;
  padding:8px 14px;
  border-radius:999px;
  background:#eee4db;
  font-family:"Cormorant Garamond", serif;
  font-size:0.98rem;
  line-height:1;
  font-weight:600;
  color:#6a584e;
  text-align:right;
}

.prochains-concerts-title{
  margin:0 0 12px 0;
  font-family:"Cormorant Garamond", serif;
  font-size:clamp(1.95rem, 2.15vw, 2.7rem);
  line-height:0.98;
  letter-spacing:-0.03em;
  font-weight:600;
  color:#2f241f;
}


.prochains-concerts-place-row{
  margin:auto 0 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.prochains-concerts-place{
  margin:0;
  font-family:"Cormorant Garamond", serif;
  font-size:1.34rem;
  line-height:1.08;
  color:#5d4d43;
}

.prochains-concerts-inline-arrow{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:2rem;
  height:2rem;
  color:#8a746b;
  text-decoration:none;
  font-family:"Cormorant Garamond", serif;
  font-size:1.65rem;
  line-height:1;
  transition:transform 180ms ease, color 180ms ease, opacity 180ms ease;
  opacity:0.88;
}

.prochains-concerts-inline-arrow:hover,
.prochains-concerts-inline-arrow:focus-visible{
  color:#5f4b43;
  transform:translateX(2px) translateY(-1px);
  opacity:1;
  outline:none;
}

.prochains-concerts-linkline a{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  min-height:auto;
  padding:0;
  border:none;
  background:transparent;
  font-family:"Cormorant Garamond", serif;
  font-size:1.35rem;
  line-height:1;
  font-weight:600;
  color:#8a746b;
  text-decoration:none;
  white-space:nowrap;
  transition:color var(--transition-base), transform var(--transition-base), opacity var(--transition-base);
  text-indent:-9999px;
  overflow:hidden;
  width:1.9rem;
  position:relative;
}

.prochains-concerts-linkline a::after{
  content:"...";
  position:absolute;
  right:0;
  top:50%;
  transform:translateY(-50%);
  text-indent:0;
  letter-spacing:0.12em;
}

.prochains-concerts-card:hover .prochains-concerts-linkline a,
.prochains-concerts-card:focus-within .prochains-concerts-linkline a{
  color:#5f4b43;
  transform:translateX(1px);
}

.prochains-concerts-more{
  margin:22px 0 0;
}

.prochains-concerts-subtle-link{
  display:inline-flex;
  align-items:center;
  gap:0.44rem;
  font-family:"Cormorant Garamond", serif;
  font-size:1.14rem;
  line-height:1;
  font-weight:600;
  color:#8b695a;
  text-decoration:none;
  transition:color var(--transition-base);
}


.prochains-concerts-subtle-link:hover,
.prochains-concerts-subtle-link:focus-visible{
  color:#684d41;
  outline:none;
}


@media (max-width: 1280px){
  .prochains-concerts-grid{gap:20px;}
  .prochains-concerts-card{padding:24px 22px 22px;}
  .prochains-concerts-title{font-size:clamp(1.72rem, 1.95vw, 2.25rem);}
  .prochains-concerts-place{font-size:1.24rem;}
  .prochains-concerts-inline-arrow{font-size:1.55rem;}
}

@media (max-width: 980px){
  .prochains-concerts-grid{grid-template-columns:1fr;gap:18px;}
}

@media (max-width: 760px){
  .prochains-concerts{padding:28px 0 68px;}
  .prochains-concerts-card{padding:20px 20px 20px;border-radius:24px;}
  .prochains-concerts-topline{gap:10px;margin-bottom:14px;}
  .prochains-concerts-date{display:block;font-size:1rem;}
  .prochains-concerts-date-line{display:block;white-space:normal;}
  .prochains-concerts-date-line + .prochains-concerts-date-line::before{display:none;content:none;}
  .prochains-concerts-tag{padding:8px 13px;font-size:0.92rem;max-width:152px;}
  .prochains-concerts-title{font-size:1.92rem;}
  .prochains-concerts-place-row{gap:12px;}
  .prochains-concerts-place{font-size:1.16rem;}
  .prochains-concerts-inline-arrow{width:1.8rem;height:1.8rem;font-size:1.45rem;}
  .prochains-concerts-linkline a{
    width:2.55rem;
    min-height:2rem;
    border:1px solid rgba(93,77,67,0.12);
    border-radius:999px;
    background:rgba(255,255,255,0.42);
    color:#826d63;
    box-shadow:0 8px 18px rgba(63,42,28,0.03);
  }
  .prochains-concerts-linkline a::after{
    right:50%;
    top:50%;
    transform:translate(50%, -50%);
    letter-spacing:0.08em;
    font-size:1rem;
  }
  .prochains-concerts-card:hover .prochains-concerts-linkline a,
  .prochains-concerts-card:focus-within .prochains-concerts-linkline a{
    color:#5f4b43;
    transform:translateY(-1px);
  }
  .prochains-concerts-more{margin-top:18px;}
  .prochains-concerts-subtle-link{font-size:1.02rem;}
}
