/* Annonces Rencontre — styles front-end */

.ar-notice{padding:12px 16px;border-radius:8px;margin:0 0 16px;font-size:14px}
.ar-notice--success{background:#e7f6ec;color:#0a6b2e;border:1px solid #bfe6cd}
.ar-notice--error{background:#fdecec;color:#a11212;border:1px solid #f3c2c2}

.ar-btn{display:inline-block;background:#d6336c;color:#fff;border:0;padding:10px 18px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s}
.ar-btn:hover{background:#b02a58;color:#fff}
.ar-btn--ghost{background:transparent;color:#d6336c;border:1px solid #d6336c}
.ar-btn--ghost:hover{background:#d6336c;color:#fff}

.ar-card{background:#fff;border:1px solid #eaeaea;border-radius:12px;padding:24px;margin:0 0 20px;box-shadow:0 1px 3px rgba(0,0,0,.04)}

/* Auth */
.ar-auth{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media(max-width:640px){.ar-auth{grid-template-columns:1fr}}
.ar-auth label,.ar-form label{display:block;margin:0 0 14px;font-weight:600;font-size:14px}
.ar-auth input,.ar-form input,.ar-form textarea,.ar-form select{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:8px;font-size:15px;font-weight:400;margin-top:6px}
.ar-inline{display:flex;align-items:center;gap:8px;font-weight:400}
.ar-inline input{width:auto;margin:0}

/* Formulaire annonce */
.ar-form{background:#fff;border:1px solid #eaeaea;border-radius:12px;padding:24px;max-width:720px}
.ar-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
@media(max-width:640px){.ar-row{grid-template-columns:1fr}}
.ar-hint{font-size:13px;color:#777;font-style:italic}
.ar-current-photo img{border-radius:8px;margin:4px 0}

/* Dashboard */
.ar-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:2px solid #f0f0f0;margin-bottom:20px;padding-bottom:10px}
.ar-tabs a{text-decoration:none;color:#555;font-weight:600;padding:6px 10px;border-radius:6px}
.ar-tabs a.is-active{color:#d6336c;background:#fdeef3}
.ar-tabs .ar-logout{margin-left:auto;color:#a11212}
.ar-badge{background:#d6336c;color:#fff;border-radius:20px;padding:1px 8px;font-size:12px;margin-left:4px}

.ar-table{width:100%;border-collapse:collapse}
.ar-table th,.ar-table td{text-align:left;padding:12px 10px;border-bottom:1px solid #eee;font-size:14px}
.ar-actions .ar-link{margin-right:10px;text-decoration:none;color:#d6336c;font-weight:600}
.ar-link--danger{color:#a11212}
.ar-status{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:600}
.ar-status--publish{background:#e7f6ec;color:#0a6b2e}
.ar-status--pending{background:#fff4e0;color:#a15c00}
.ar-status--draft{background:#eee;color:#555}

/* Filtres + grille */
.ar-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;align-items:center}
.ar-filters input,.ar-filters select{padding:9px 12px;border:1px solid #ccc;border-radius:8px;font-size:14px}
.ar-filters input[type=number]{width:100px}

.ar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.ar-item{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.ar-item-thumb{display:block;aspect-ratio:4/3;background:#f4f4f4;overflow:hidden}
.ar-item-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.ar-noimg{display:flex;align-items:center;justify-content:center;height:100%;color:#aaa;font-size:14px}
.ar-item-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.ar-item-title{margin:0;font-size:17px}
.ar-item-title a{text-decoration:none;color:#222}
.ar-item-meta{color:#d6336c;font-size:13px;font-weight:600;margin:0}
.ar-item-excerpt{color:#666;font-size:14px;margin:0;flex:1}

.ar-pagination{margin:26px 0;display:flex;gap:6px;justify-content:center}
.ar-pagination .page-numbers{padding:8px 12px;border:1px solid #ddd;border-radius:8px;text-decoration:none;color:#555}
.ar-pagination .current{background:#d6336c;color:#fff;border-color:#d6336c}

/* Fiche annonce */
.ar-single-details{list-style:none;padding:0;margin:0 0 20px;display:flex;flex-wrap:wrap;gap:8px 20px}
.ar-single-details li{background:#fdeef3;padding:6px 12px;border-radius:8px;font-size:14px}

/* Contact / messagerie */
.ar-contact textarea,.ar-reply textarea{width:100%;padding:10px 12px;border:1px solid #ccc;border-radius:8px;margin-bottom:10px;font-size:15px}
.ar-threads{list-style:none;padding:0;margin:0}
.ar-threads li{border-bottom:1px solid #eee}
.ar-threads a{display:flex;flex-direction:column;gap:2px;padding:14px 4px;text-decoration:none;color:#333}
.ar-thread-name{font-weight:700}
.ar-thread-excerpt{color:#777;font-size:14px}

.ar-conversation{display:flex;flex-direction:column;gap:10px;margin:16px 0;max-height:480px;overflow-y:auto;padding:4px}
.ar-bubble{max-width:75%;padding:10px 14px;border-radius:14px;font-size:14px}
.ar-bubble-time{font-size:11px;opacity:.6;margin-top:4px}
.ar-bubble--me{align-self:flex-end;background:#d6336c;color:#fff;border-bottom-right-radius:4px}
.ar-bubble--them{align-self:flex-start;background:#f0f0f0;color:#222;border-bottom-left-radius:4px}

/* [annonces] sur les pages de villes */
.ar-city-ads .ar-empty{margin:0 0 12px;color:#555}
.ar-city-ads-more{margin:16px 0 0}
.ar-empty-card{border:1px solid #f0d4de;background:#fff7fa;border-radius:14px;padding:22px 24px;margin:0 0 12px;text-align:center}
.ar-empty-title{margin:0 0 8px;font-size:20px;line-height:1.3;color:#222}
.ar-empty-intro{margin:0 auto 14px;max-width:560px;color:#555}
.ar-empty-steps{list-style:none;counter-reset:ars;margin:0 auto 16px;padding:0;max-width:520px;text-align:left}
.ar-empty-steps li{counter-increment:ars;position:relative;padding:6px 0 6px 38px;color:#333;font-size:15px}
.ar-empty-steps li:before{content:counter(ars);position:absolute;left:0;top:5px;width:26px;height:26px;border-radius:50%;background:#d6336c;color:#fff;font-weight:700;font-size:14px;line-height:26px;text-align:center}
.ar-empty-cta{margin:0 0 8px}
.ar-empty-note{margin:0;font-size:12px;color:#777}
@media (max-width:480px){.ar-empty-card{padding:18px 14px}.ar-empty-title{font-size:18px}}

/* v1.2.2 : robustesse face aux styles de thème (liens, listes) */
.ar-empty-card a.ar-btn,.ar-empty-card a.ar-btn:visited,.ar-city-ads a.ar-btn,.ar-city-ads a.ar-btn:visited,a.ar-btn,a.ar-btn:visited{background:#d6336c!important;color:#fff!important;text-decoration:none!important;border:0!important;box-shadow:none!important}
a.ar-btn:hover,a.ar-btn:focus,.ar-empty-card a.ar-btn:hover{background:#b02a58!important;color:#fff!important;text-decoration:none!important}
a.ar-btn.ar-btn--ghost,a.ar-btn.ar-btn--ghost:visited{background:transparent!important;color:#d6336c!important;border:1px solid #d6336c!important}
a.ar-btn.ar-btn--ghost:hover,a.ar-btn.ar-btn--ghost:focus{background:#d6336c!important;color:#fff!important}
.ar-empty-card ol.ar-empty-steps{list-style:none!important;list-style-type:none!important;margin:0 auto 16px!important;padding:0!important}
.ar-empty-card ol.ar-empty-steps li{list-style:none!important;list-style-type:none!important;margin-left:0!important}
.ar-empty-card ol.ar-empty-steps li::marker{content:""!important;font-size:0!important}
.ar-empty-card .ar-empty-title{margin-top:0!important}
