/* ---- Paris T’aime: pt-district-carousel ---- */
.pt-district-carousel{
  width:100%;
  margin:0 auto;
  box-sizing:border-box;
  padding:2.2rem 0 1.3rem 0;
  background:transparent;
  overflow:hidden;
}

/* ───────── Title + intro (alignés) ───────── */
.pt-districts-title{
  font-family:'Playfair Display', Georgia, serif;
  font-weight:700;
  font-size:2rem;               /* mobile first */
  color:#fff;
  line-height:1.3;
  margin:0 0 .6rem 0;
  text-align:left;
  padding:0 0.75rem;            /* ← même padding que la description */
  letter-spacing:-.5px;
}

.pt-lead-soft{
  font-family:Georgia, serif;
  font-style:italic;
  font-size:.95rem;
  color:#fef8f0;
  opacity:.9;
  line-height:1.6;
  text-align:left;
  margin:0 0 1.8rem 0;
  padding:0 0.75rem;            /* ← aligné avec le titre */
  max-width:95%;
}

/* Tablet & Desktop */
@media (min-width:768px){
  .pt-districts-title{font-size:1.8rem; padding:0 2rem; margin-bottom:.8rem;}
  .pt-lead-soft{font-size:1.05rem; padding:0 2rem; max-width:720px;}
}

/* ───────── Swiper container ───────── */
.pt-district-swiper{margin-left:.5rem; margin-right:.5rem;}
.pt-district-swiper .swiper-wrapper{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  gap:0 !important;
  margin:0 !important; padding:0 !important;
}

/* ───────── Slide sizing ───────── */
.pt-district-swiper .swiper-slide{
  width:100%;
  max-width:48vw;               /* ~2.1 par rang sur desktop large */
  min-width:230px;
  flex-shrink:0;
  scroll-snap-align:start;
  box-sizing:border-box;
  margin-right:0;
  display:flex; flex-direction:column; align-items:stretch;
  background:none; height:auto;
}
@media (max-width:1200px){ .pt-district-swiper .swiper-slide{max-width:49vw;} }
@media (max-width:900px){  .pt-district-swiper .swiper-slide{max-width:90vw;} }
@media (max-width:600px){
  .pt-district-swiper{width:100vw !important; margin-left:0 !important; margin-right:0 !important;}
  .pt-district-swiper .swiper-slide{max-width:96vw;}
}

/* ───────── District card (radius 3px partout) ───────── */
.pt-district-card{
  width:100%; height:100%;
  background:#03001e;
  border-radius:3px !important;
  overflow:hidden !important;
  box-shadow:0 3px 10px rgba(0,0,0,.25);
  display:flex; flex-direction:column;
  transition:box-shadow .3s ease;
}
.pt-district-card:hover{box-shadow:0 5px 14px rgba(0,0,0,.35);}

/* Image principale */
.pt-district-img-wrap{position:relative; border-radius:3px !important; overflow:hidden;}
.pt-district-img-wrap img{
  width:100%; aspect-ratio:16/9; object-fit:cover; display:block;
  border-radius:3px !important;
  margin:0;
}
.pt-district-img-wrap{margin-bottom:6px;}

/* Ruban (suit l’arrondi) */
.pt-district-label{
  position:absolute; left:0; bottom:0;
  background:#8B0000; color:#fff;
  padding:.33em 1.13em;
  font-family:'Playfair Display', serif;
  font-size:1.08rem; font-weight:700;
  text-shadow:0 1px 3px #000a;
  border-bottom-left-radius:3px !important;
  border-bottom-right-radius:3px !important;
}

/* ───────── Grille 2×2 des quartiers ───────── */
.pt-district-neigh-grid{
  display:grid; grid-template-columns:1fr 1fr;
  gap:6px !important;
  padding:0 !important; margin:0 !important; width:100%;
  background:none !important; border:none !important;
}
.pt-neigh-grid-item{
  background:none !important; border:none !important;
  border-radius:3px !important;
  box-shadow:none !important;
  text-align:center;
  padding:0 !important; margin:0 !important;
  display:flex; flex-direction:column; align-items:stretch;
  overflow:hidden;
}
.pt-neigh-img{
  width:100%; aspect-ratio:16/9; object-fit:cover; display:block;
  border-radius:3px !important;
}
.pt-neigh-name{
  font-size:.93rem; font-family:Georgia, serif; font-weight:500;
  line-height:1.13; color:#fff;
  margin:0 .09rem; padding:5px 0;
  background:#181c34;
  white-space:normal; overflow-wrap:break-word;
}

/* Hover doux (desktop) */
@media (hover:hover){
  .pt-district-img-wrap img, .pt-neigh-img{transition:transform .25s ease, opacity .25s ease;}
  .pt-district-img-wrap img:hover, .pt-neigh-img:hover{transform:scale(1.02); opacity:.98;}
}

/* ───────── Pagination ───────── */
.pt-district-carousel .swiper-pagination{
  margin-top:.5rem;
  --swiper-pagination-color:#fff;
  --swiper-pagination-bullet-inactive-color:#8B0000;
  --swiper-pagination-bullet-size:13px;
}
