/* La Petite Laverie — listing + fiche
   Styles extraits du DOM de production (cartes Divi et_pb_with_border) */
:root{--lpl-indigo:#393185;--lpl-cyan:#23a5da;--lpl-magenta:#f44ee4;--lpl-lien:#2ea3f2;--lpl-texte:#555;--lpl-bg:#f4f8fa;--lpl-janda:'Janda','Comic Sans MS',cursive;--lpl-overpass:'Overpass',Helvetica,Arial,sans-serif}

.lpl-app{padding:1rem 0 2rem}
.lpl-app .lpl-map{box-shadow:0 6px 24px rgba(0,0,30,.18)}

/* Filtres */
.lpl-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}
.lpl-search{padding:.6rem .9rem;border:1px solid var(--lpl-cyan);border-radius:999px;max-width:26rem;font-size:1rem}
.lpl-search:focus{outline:2px solid var(--lpl-cyan);border-color:transparent}
.lpl-filter-group{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}
.lpl-filter-label{font-family:var(--lpl-janda);font-size:.95rem;color:var(--lpl-indigo);margin-right:.4rem;min-width:7rem}
.lpl-pill{padding:.3rem .85rem;border:1px solid var(--lpl-cyan);border-radius:999px;background:#fff;color:var(--lpl-cyan);font-size:.85rem;font-weight:600;cursor:pointer;transition:all .15s}
.lpl-pill:hover{background:var(--lpl-bg)}
.lpl-pill.is-active{background:var(--lpl-cyan);color:#fff}
.lpl-count{font-size:.85rem;color:var(--lpl-texte);margin:.25rem 0 1rem}

/* Carte */
.lpl-map{height:22rem;border-radius:1rem;margin-bottom:1.5rem;z-index:0}

/* Grille de fiches */
.lpl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(17rem,1fr));gap:1.75rem}

/* Carte — extrait : radius 20px, pad 40px, border 4.8px rgba(57,49,133,.08), shadow 0 2px 18px rgba(0,0,0,.12) */
.lpl-card{background:#fff;border:4.8px solid rgba(57,49,133,.08);border-radius:20px;box-shadow:0 2px 18px rgba(0,0,0,.12);padding:40px;text-align:center;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.lpl-card:hover{transform:translateY(-3px);box-shadow:0 8px 26px rgba(57,49,133,.2)}
.lpl-card-body{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1}
.lpl-type{margin:0;font-family:var(--lpl-janda);font-size:19px;line-height:1.25;font-weight:400;color:var(--lpl-indigo)}
.lpl-street{margin:0;font-size:1.35rem;line-height:1.25;font-weight:700}
.lpl-street a{color:var(--lpl-indigo);text-decoration:none;text-transform:lowercase}
.lpl-cp{margin:0;font-weight:700;font-size:18px;color:var(--lpl-cyan)}
.lpl-hor{margin:0;font-size:.95rem;font-weight:700;color:var(--lpl-indigo)}
.lpl-terms{margin:.2rem 0;font-size:.85rem;font-weight:700;color:var(--lpl-indigo)}
.lpl-btn-wrap{margin-top:auto;padding-top:1rem}

/* Bouton "En Savoir +" — extrait : #f44ee4, radius 100px, Overpass 14px, pad 5.7px 19px */
.lpl-btn{display:inline-block;background:var(--lpl-magenta);color:#fff!important;text-decoration:none;padding:.36rem 1.2rem;border-radius:100px;font-family:var(--lpl-overpass);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;transition:background .15s}
.lpl-btn:hover{background:var(--lpl-indigo)}
.lpl-btn-big{padding:20px 30px}

/* Carte station de lavage — variante magenta inversée de l'original */
.lpl-card[data-type_etablissement~="station-de-lavage"]{background:var(--lpl-magenta);border-color:rgba(255,255,255,.25)}
.lpl-card[data-type_etablissement~="station-de-lavage"] .lpl-type{color:#fff}
.lpl-card[data-type_etablissement~="station-de-lavage"] .lpl-street a{color:#fff}
.lpl-card[data-type_etablissement~="station-de-lavage"] .lpl-cp{color:rgba(255,255,255,.9)}
.lpl-card[data-type_etablissement~="station-de-lavage"] .lpl-hor,
.lpl-card[data-type_etablissement~="station-de-lavage"] .lpl-terms{color:rgba(255,255,255,.85)}
.lpl-card[data-type_etablissement~="station-de-lavage"] .lpl-btn{background:#fff;color:var(--lpl-indigo)!important}
.lpl-card[data-type_etablissement~="station-de-lavage"] .lpl-btn:hover{background:var(--lpl-indigo);color:#fff!important}

/* Fiche unitaire */
.lpl-fiche{background:#fff;border:4.8px solid rgba(57,49,133,.08);border-radius:20px;box-shadow:0 2px 18px rgba(0,0,0,.12);padding:40px;margin-bottom:1.5rem}
.lpl-fiche .lpl-badges{display:flex;gap:.4rem;margin:0 0 .75rem;justify-content:center}
.lpl-infos{list-style:none;margin:0 0 .75rem;padding:0;text-align:center}
.lpl-infos li{padding:.25rem 0}
.lpl-infos .lpl-li-adr{font-weight:700;color:var(--lpl-cyan);font-size:1.05rem;text-transform:uppercase}
.lpl-fiche .lpl-terms{text-align:center}
.lpl-fiche .lpl-actions{text-align:center}
.lpl-hidden{display:none!important}
@media (max-width:40rem){.lpl-map{height:16rem}.lpl-filter-label{min-width:100%}.lpl-card{padding:28px}}
</content>
