/* =========================================
   PARTENAIRES.CSS — Partenaires & pubs
   Desktop : positions absolues
   Mobile  : empilement fluide
========================================= */


/*============================
======= FICHIERS COMMUNS ========
=============================
   Styles généraux + layout desktop
=============================*/

/* ============ COMMUNS ============ */
* { margin: 0; padding: 0; box-sizing: border-box; }

.cesure {
  width: 100%;
  max-width: 350px;
  overflow-wrap: break-word;
  hyphens: auto;
  text-align: justify;
}

/* Indents (si utilisés ailleurs) */
.indent-40  { text-indent: 40px; }
.indent-45  { text-indent: 45px; }
.indent-50  { text-indent: 50px; }
.indent-55  { text-indent: 55px; }
.indent-60  { text-indent: 60px; }
.indent-65  { text-indent: 65px; }
.indent-70  { text-indent: 70px; }
.indent-75  { text-indent: 75px; }
.indent-80  { text-indent: 80px; }
.indent-85  { text-indent: 85px; }
.indent-90  { text-indent: 90px; }
.indent-95  { text-indent: 95px; }
.indent-100 { text-indent:100px; }
.indent-105 { text-indent:105px; }
.indent-110 { text-indent:110px; }
.indent-115 { text-indent:115px; }
.indent-120 { text-indent:120px; }
.indent-125 { text-indent:125px; }
.indent-200 { text-indent:200px; }
.indent-210 { text-indent:210px; }
.indent-215 { text-indent:215px; }
.indent-220 { text-indent:220px; }
.indent-225 { text-indent:225px; }
.indent-230 { text-indent:230px; }
.indent-235 { text-indent:235px; }
.indent-240 { text-indent:240px; }
.indent-290 { text-indent:290px; }
.indent-300 { text-indent:300px; }
.indent-400 { text-indent:400px; }

/* (reset répété dans ton code d’origine, conservé) */
* { margin:0; padding:0; box-sizing:border-box; }

/* ---------- Wrapper de la page ---------- */

.partenaires-container{
  position: relative;
  width: min(1600px, calc(100% - 40px));
  margin: 100px auto 80px;
  padding: 20px 20px 60px;
  background: #047303;
  border: none;
  border-radius: 10px;
  overflow: visible; /* contient les enfants en absolute */
}

/* ---------- Base commune des encarts ---------- */

.partenaires-container .mercipub,
.partenaires-container [class^="pub"]{
  position: absolute;     /* desktop : placement précis */
  display: block;
  overflow: hidden;
  border-radius: 10px;
  background: #047303;
}

/* L’image remplit exactement la box en desktop (sans déformer) */

.partenaires-container .mercipub img,
.partenaires-container [class^="pub"] img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;  /* mets cover si tu veux remplir quitte à rogner */
}

/* ==================================================
   DESKTOP (≥481px) — positions/tailles AU CAS PAR CAS
   (Valeurs reprises de ton dernier plan de calage)
================================================== */

/* Bandeau merci */
.mercipub      { left:  180px; top: 50px; width:1150px; height:187px; border:none; }

/* Mairies + CA */
.pubMairieThezac     { left:  75px; top:  300px; width: 650px; height: auto; }
.pubMairieMasquieres { left: 800px; top:  300px; width: 650px; height: auto; }
.pubCA               { left: 250px; top:  700px; width: 1000px; height: auto; }

/* Ligne 1 */
.pub01 { left:  0px; top: 1020px; width: 350px; height: auto; }
.pub02 { left: 385px; top: 1020px; width: 350px; height: auto; }
.pub03 { left: 775px; top: 1020px; width: 350px; height: auto; }
.pub05 { left:1160px; top: 1020px; width: 350px; height: auto; }

/* Ligne 2 */
.pub04 { left: 0px; top: 1390px; width: 735px; height: auto; border: none; }
.pub06 { left: 775px; top: 1390px; width: 350px; height: auto; }
.pub07 { left:1160px; top: 1390px; width: 350px; height: auto; }

/* Ligne 3 */
.pub08 { left:  0px; top: 1760px; width: 350px; height: auto; }
.pub09 { left:385px; top: 1760px; width: 350px; height: auto; }
.pub10 { left:775px; top: 1760px; width: 350px; height: auto; }
.pub12 { left:1160px; top: 1760px; width: 350px; height: auto; }

/* Ligne 4 */
.pub11 { left:  0px; top: 2130px; width: 735px; height: auto; }
.pub13 { left:775px; top: 2130px; width: 350px; height: auto; }
.pub14 { left:1160px; top: 2130px; width: 350px; height: auto; }
.pub15 { left:775px; top: 2490px; width: 350px; height: auto; }
.pub16 { left:1160px; top: 2490px; width: 350px; height: auto; }

/* Ligne 5 */
.pub17 { left: 775px; top: 2860px; width: 735px; height:auto; }
.pub18 { left:   0px; top: 2860px; width: 350px; height: auto; }
.pub19 { left: 385px; top: 2860px; width: 350px; height: auto; }
.pub20 { left:   0px; top: 3220px; width: 350px; height: auto; }
.pub21 { left: 385px; top: 3220px; width: 350px; height: auto; }
.pub22 { left:   0px; top: 3580px; width: 350px; height: auto;}
.pub23 { left: 385px; top: 3580px; width: 350px; height: auto; }

/* Ligne 6 */
.pub24 { left:   0px; top: 3940px; width: 350px; height: auto; }
.pub25 { left: 395px; top: 3940px; width: 350px; height: auto; }
.pub26 { left: 775px; top: 3940px; width: 350px; height: auto; }
.pub27 { left:1160px; top: 3940px; width: 350px; height: auto; }

/* Ligne 7 */
.pub28 { left:   0px; top: 4300px; width: 350px; height: auto; }
.pub29 { left: 395px; top: 4300px; width: 350px; height: auto; }
.pub30 { left: 775px; top: 4300px; width: 350px; height: auto; }
.pub31 { left:1160px; top: 4300px; width: 350px; height: auto; }

/* Ligne 8 */
.pub33 { left:   0px; top: 4660px; width: 745px; height: auto; }
.pub34 { left: 775px; top: 4665px; width: 350px; height: auto; }
.pub35 { left:1160px; top: 4665px; width: 350px; height: auto;}

/* Ligne 9 */
.pub32 { left:   0px; top: 5030px; width: 350px; height: auto; }
.pub36 { left: 395px; top: 5035px; width: 350px; height: auto; }
.pub37 { left: 775px; top: 5035px; width: 350px; height: auto; }
.pub38 { left:1160px; top: 5035px; width: 350px; height: auto; }

/* Ligne 10 */
.pub40 { left: 775px; top: 5400px; width: 735px; height: auto; }
.pub39 { left:   0px; top: 5400px; width: 350px; height: auto; }
.pub41 { left: 395px; top: 5400px; width: 350px; height: auto; }

/* Ligne 11 */
.pub42 { left:   0px; top: 5780px; width: 350px; height: auto; }
.pub43 { left: 395px; top: 5780px; width: 350px; height: auto; }
.pub44 { left: 775px; top: 5780px; width: 350px; height: auto; }
.pub45 { left:1160px; top: 5780px; width: 350px; height: auto; }

/* Ligne 12 */
.pub46 { left:   0px; top: 6150px; width: 350px; height: auto; }
.pub47 { left: 395px; top: 6150px; width: 350px; height: auto; }
.pub48 { left: 775px; top: 6150px; width: 350px; height: auto; }
.pub50 { left:1160px; top: 6150px; width: 350px; height: auto; }

/* Ligne 13 */
.pub51 { left:   0px; top: 6520px; width: 350px; height: auto; }
.pub52 { left: 395px; top: 6520px; width: 350px; height: auto; }
.pub59 { left: 775px; top: 6520px; width: 350px; height: auto; }
.pub54 { left:1160px; top: 6520px; width: 350px; height: auto; }

/* Ligne 14 */ 
.pub55 { left:   0px; top: 6880px; width: 350px; height: auto; }
.pub56 { left: 395px; top: 6880px; width: 350px; height: auto; }
.pub49 { left: 775px; top: 6880px; width: 735px; height: auto; }

/* Ligne 15 */ 
.pub70 { left:   0px; top: 7250px; width: 745px; height: auto; }
.pub57 { left: 775px; top: 7250px; width: 350px; height: auto; }
.pub58 { left:1160px; top: 7250px; width: 350px; height: auto; }



/*============================
====== FICHIERS PETITS FORMATS ======
=============================
   Smartphones portrait (≤480px)
=============================*/

/* ==================================================
   MOBILE (≤480px) — empilement fluide (1er bloc)
================================================== */
@media (max-width: 480px){

  .partenaires-container{
    width: calc(100% - 16px);
    margin: 12px auto 28px;
    padding: 10px 8px 16px;
    min-height: 0 !important;
  }

  /* Tous les encarts quittent le mode absolute */
  .partenaires-container .mercipub,
  .partenaires-container [class^="pub"]{
    position: static !important;
    left: auto !important;
    top:  auto !important;

    width: 88vw !important;
    max-width: 88vw !important;
    height: auto !important;
    margin: 10px auto !important;
    padding: 0 !important;
    border-radius: 10px;
    background-size: contain !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
  }

  /* Images internes : fluides & plafonnées en hauteur */
  .partenaires-container .mercipub img,
  .partenaires-container [class^="pub"] img{
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 55vh !important;
    object-fit: contain !important;
  }

  /* Bannières très larges un poil plus étroites */
  .partenaires-container .pub04,
  .partenaires-container .pub33,
  .partenaires-container .pub40,
  .partenaires-container .pub49,
  .partenaires-container .pub70{
    width: 92vw !important;
    max-width: 92vw !important;
  }

  /* moins d’air sous la dernière */
  .partenaires-container > :last-child{ margin-bottom: 0 !important; }
}

/* ===== Smartphone (≤480px) — centrage + pas de débordement (2e bloc) ===== */
@media (max-width: 480px){

  /* le wrapper occupe l’écran, sans débordement horizontal */
  .partenaires-container{
    width: 100%;
    margin: 12px 0 24px;
    padding: 0 12px 16px;
    box-sizing: border-box;
    overflow: hidden;
  }

  /* chaque encart redevient un bloc normal et se centre */
  .partenaires-container .mercipub,
  .partenaires-container [class^="pub"]{
    position: static !important;
    left: auto !important;
    top:  auto !important;

    width: 100% !important;
    max-width: 600px;
    height: auto !important;

    margin: 10px auto !important;
    padding: 0 !important;
  }

  /* les images suivent, sans jamais dépasser */
  .partenaires-container .mercipub img,
  .partenaires-container [class^="pub"] img{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* par sécurité : pas de scroll horizontal */
  html, body { overflow-x: hidden; }
}



/*============================
====== FICHIERS MOYENS FORMATS =====
=============================
   Smartphones paysage / tablettes
   (rien de spécifique pour l’instant)
=============================*/



/*============================
===== FICHIERS GRANDS FORMATS ======
=============================
   Tablettes paysage / petits ordis
   (layout desktop conservé)
=============================*/



/*============================
======= FICHIERS ORDINATEURS =======
=============================
   Mise en page absolue desktop
   (tout géré dans FICHIERS COMMUNS)
=============================*/
