/* =========================================================
   public-section.css : section « annonces » (accueil + page annonces)
   Nettoyé : formulaire regroupé en un seul endroit, mobile d'abord.
   ========================================================= */

.anpub{--navy:#071a38;--blue:#155eef;--cyan:#0e9bc2;--gold:#f5b942;--green:#43a700;
  padding:68px 0 76px;background:linear-gradient(180deg,#f7faff 0%,#fff 38%,#f8fbff 100%);
  position:relative;overflow:hidden}
.anpub:before{content:"";position:absolute;left:-170px;top:170px;width:390px;height:390px;
  border-radius:50%;background:rgba(21,94,239,.055)}
.anpub .container{position:relative;z-index:1}

/* ---------- En-tête ---------- */
.anpub-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;
  flex-wrap:wrap;margin-bottom:22px}
.anpub h2{margin:10px 0 6px;color:#08234c;font-size:clamp(26px,4vw,39px);font-weight:950;letter-spacing:-.035em}
.anpub-count{padding:12px 15px;border:1px solid #dce5f2;border-radius:15px;background:#fff;
  color:#1b335c;font-size:12px;font-weight:850;box-shadow:0 8px 25px rgba(18,50,98,.06)}

/* =========================================================
   FORMULAIRE DE RECHERCHE
   Mobile par défaut (1 colonne), puis tablette, puis desktop.
   ========================================================= */
.anpub-search{padding:18px;border:1px solid #dfe7f2;border-radius:22px;
  background:rgba(255,255,255,.94);box-shadow:0 18px 55px rgba(17,39,79,.09);margin-bottom:27px}

.anpub-search-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;
  width:100%;max-width:960px;margin-inline:auto;align-items:center}

.anpub-field{position:relative}
.anpub-field>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:2;
  color:#6f809a;pointer-events:none}
.anpub-field .form-control{height:50px;padding:0 13px 0 42px;border:1px solid #dce4ef;
  border-radius:13px;background:#f8fafd;color:#273955;font-size:12px;box-shadow:none}
.anpub-field .form-control:focus{border-color:#6da3ff;background:#fff;
  box-shadow:0 0 0 4px rgba(21,94,239,.09)}

.anpub-submit{width:100%;min-width:0;height:50px;border:0;border-radius:13px;padding:0 22px;
  background:linear-gradient(135deg,#155eef,#0b8ebc);color:#fff;font-size:12px;font-weight:900;
  box-shadow:0 10px 23px rgba(21,94,239,.2);white-space:nowrap}
.anpub-submit:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(21,94,239,.25)}

@media (max-width:620px){
  .anpub-search{padding:13px}
}
/* Tablette : 2 champs, bouton en dessous sur toute la largeur */
@media (min-width:621px){
  .anpub-search-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px}
  .anpub-submit{grid-column:1 / -1}
  .anpub-range{grid-column:1 / -1}
}
/* Desktop : 2 champs égaux + bouton de 190 px, bloc centré */
@media (min-width:1051px){
  .anpub-search-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(200px,.8fr) 170px;justify-content:center}
  .anpub-submit,.anpub-range{grid-column:auto}
}

/* =========================================================
   CARTES D'ANNONCES
   ========================================================= */
.anpub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.anpub-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #e1e8f2;
  border-radius:20px;background:#fff;box-shadow:0 15px 42px rgba(17,39,79,.09);transition:.22s ease}
.anpub-card:hover{transform:translateY(-5px);box-shadow:0 22px 55px rgba(17,39,79,.14)}

.anpub-cover{height:140px;position:relative;z-index:2;background:linear-gradient(135deg,#dcecff,#e7faf3)}
.anpub-media{position:absolute;inset:0;overflow:hidden}
.anpub-media>img{width:100%;height:100%;object-fit:cover}
.anpub-cover-empty{width:100%;height:100%;display:grid;place-items:center;color:#155eef;font-size:35px;
  background:radial-gradient(circle at 25% 20%,#f0f7ff,#dcecff 55%,#e6f9f3)}
.anpub-avatar{position:absolute;z-index:5;left:14px;bottom:-22px;width:50px;height:50px;
  border:4px solid #fff;border-radius:14px;overflow:hidden;background:#eef4ff;display:grid;
  place-items:center;color:#155eef;box-shadow:0 7px 18px rgba(16,41,80,.18)}
.anpub-avatar img{width:100%;height:100%;object-fit:cover}

.anpub-body{position:relative;z-index:1;padding:31px 14px 13px;flex:1;background:#fff}
.anpub-title{display:block;color:#0c2b58;font-size:14px;font-weight:950;line-height:1.4;
  text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.anpub-title:hover{color:#155eef}
.anpub-meta{display:flex;align-items:center;gap:6px;margin-top:7px;color:#6e7e96;font-size:11px}
.anpub-meta i{color:#f0a91b}
.anpub-rating{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
.anpub-rating i{color:#f59e0b;font-size:13px}
.anpub-desc{margin:10px 0 0;color:#718099;font-size:12px;line-height:1.55;display:-webkit-box;
  -webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}

/* Le style détaillé du pied de carte est dans public-section-kjd.css */
.anpub-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 13px}

.anpub-empty{padding:45px 20px;border:1px dashed #cfd9e8;border-radius:20px;background:#fff;
  text-align:center;color:#7c8aa0}
.anpub-empty i{display:block;font-size:34px;color:#b5c3d7;margin-bottom:12px}

/* ---------- Pagination ---------- */
.anpub-pager{display:flex;align-items:center;justify-content:center;gap:7px;flex-wrap:wrap;margin-top:27px}
.anpub-page{min-width:38px;height:38px;display:grid;place-items:center;border:1px solid #dce4ef;
  border-radius:11px;background:#fff;color:#52627a;text-decoration:none;font-size:10px;font-weight:900}
.anpub-page.active{background:#155eef;border-color:#155eef;color:#fff}
.anpub-page.disabled{opacity:.4;pointer-events:none}
.anpub-page.wide{padding:0 13px;width:auto}

/* ---------- Responsive des cartes ---------- */
@media (max-width:1100px){.anpub-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:780px){.anpub-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){
  .anpub{padding:50px 0}
  .anpub-grid{gap:11px}
  .anpub-card{border-radius:16px}
  .anpub-cover{height:112px}
  .anpub-body{padding:29px 11px 11px}
  .anpub-title{font-size:13px}
  .anpub-meta{font-size:10px}
  .anpub-desc{display:none}
  .anpub-footer{align-items:stretch;flex-direction:column}
}

/* =========================================================
   FORMULAIRE TRANSPARENT DANS LE HERO (page annonces uniquement)
   L'accueil garde le formulaire blanc, car il est sur un fond clair.
   ========================================================= */
.anlist-hero .anpub-search{
  background:transparent;border-color:transparent;box-shadow:none;margin-bottom:0;
}
.anlist-hero .anpub-field .form-control{
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.55);color:#fff;
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
}
.anlist-hero .anpub-field .form-control::placeholder{color:rgba(255,255,255,.85)}
.anlist-hero .anpub-field .form-control:focus{
  background:rgba(255,255,255,.26);border-color:#fff;box-shadow:0 0 0 4px rgba(255,255,255,.18);
}
.anlist-hero .anpub-field>i{color:#fff}

/* =========================================================
   Anciens styles « en tête de page » de l'accueil, rapatriés ici.
   Le <style> du template peut donc être supprimé.
   ========================================================= */
/* Marges latérales de la section, conservées après pagination AJAX */
#annonces.anpub > .container{
  box-sizing:border-box;width:100%;max-width:1320px;
  margin-inline:auto !important;padding-inline:clamp(16px,2.5vw,36px) !important;
}
/* Avatar sans fond, bordure ni ombre */
#annonces .anpub-card .anpub-avatar{
  background:transparent !important;border-color:transparent !important;box-shadow:none !important;
  backdrop-filter:none !important;-webkit-backdrop-filter:none !important;
}
/* Cartes de même hauteur, description qui pousse le pied de carte vers le bas */
.anpub-card{height:100%}
.anpub-body{display:flex;flex-direction:column}
.anpub-desc{flex-grow:1}

/* Carte des annonces proches (réactivée le 04/11/2026, règles reprises de la version du 20/10). */
.anpub-map-card{position:relative;width:100%;margin:-8px 0 28px;overflow:hidden;border:1px solid #dce5f1;border-radius:22px;background:#fff;box-shadow:0 18px 55px rgba(17,39,79,.11);isolation:isolate}
.anpub-map-card[hidden]{display:none!important}
.anpub-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;background:linear-gradient(135deg,#f5f9ff,#eefaf6)}
.anpub-map-head h3{margin:0;color:#0b2a58;font-size:18px;font-weight:950}
.anpub-map-head p{margin:5px 0 0;color:#697991;font-size:11px}
.anpub-map-close{width:36px;height:36px;display:grid;place-items:center;flex:0 0 36px;border:1px solid #d7e1ee;border-radius:12px;background:#fff;color:#61718a;cursor:pointer}
.anpub-map{position:relative;display:block;width:100%;height:clamp(310px,52vh,520px);min-height:310px;background:#e9f0f8;isolation:isolate}
.anpub-map .leaflet-container,.anpub-map.leaflet-container{width:100%!important;height:100%!important;min-height:inherit!important;z-index:1}
.anpub-map-message{position:absolute;z-index:500;left:50%;top:50%;transform:translate(-50%,-50%);width:min(88%,390px);padding:13px 15px;border:1px solid rgba(21,94,239,.14);border-radius:14px;background:rgba(255,255,255,.95);color:#52627b;text-align:center;font-size:11px;font-weight:800;box-shadow:0 12px 35px rgba(17,39,79,.12);pointer-events:none}
.anpub-map-message[hidden]{display:none!important}
.anpub-map-foot{padding:11px 17px;background:#f9fbfe;color:#65758d;font-size:10px}
.anpub-map-foot i{color:#15966a;margin-right:6px}
.anpub-map-popup h4{margin:0 0 5px;color:#102e5d;font-size:14px;font-weight:900}
.anpub-map-popup p{margin:4px 0;color:#60718a;font-size:11px;line-height:1.45}
.anpub-map-popup a{display:inline-flex;margin-top:7px;border-radius:9px;padding:7px 10px;background:#155eef;color:#fff!important;text-decoration:none;font-size:10px;font-weight:900}
.anpub-map.leaflet-container{display:block!important;width:100%!important;height:clamp(310px,52vh,520px)!important;min-height:310px!important;z-index:1}
@media(max-width:620px){.anpub-map-head{padding:15px}.anpub-map{height:420px!important;min-height:420px!important;max-height:none}.anpub-map-card{border-radius:17px}.anpub-map.leaflet-container{height:420px!important;min-height:420px!important;max-height:none}}

/* (article. : passe devant public-section-kjd.css, chargée après) Téléphone : carte compacte (photo + intitulé sur 2 lignes), toute la carte ouvre l'offre. Ordinateur inchangé. 04/11/2026. */
@media (max-width: 767.98px) {
    article.anpub-card { position: relative; }
    article.anpub-card .anpub-body { position: static !important; z-index: auto !important; }
    article.anpub-card .anpub-desc,
    article.anpub-card .anpub-footer { display: none !important; }
    article.anpub-card .anpub-title { display: -webkit-box !important; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; white-space: normal !important; }
    article.anpub-card .anpub-title::after { content: ""; position: absolute; inset: 0; z-index: 3; }
}
