/* Fase 4 — Fiche profil publique + reviews + contact form */

.apb-profil { max-width: 1100px; margin: 0 auto; padding: 24px; }

.apb-profil-hero { display:grid; grid-template-columns: 320px 1fr; gap:32px; margin-bottom:40px; align-items:center; }
@media (max-width: 800px) { .apb-profil-hero { grid-template-columns: 1fr; } }
.apb-profil-hero__cover { aspect-ratio: 1/1; overflow:hidden; border-radius:16px; background:#F7F8FA; }
.apb-profil-hero__img { width:100%; height:100%; object-fit:cover; display:block; }
.apb-profil-hero__img--placeholder { background: linear-gradient(135deg, #EBF3FB 0%, #F7F8FA 100%); }
.apb-profil-hero__title { margin:0 0 4px 0; color:#1A1A2E; font-size:2rem; }
.apb-profil-hero__slogan { margin:0 0 12px 0; color:#6B7280; font-size:1.1rem; }
.apb-profil-hero__meta { display:flex; gap:16px; flex-wrap:wrap; color:#6B7280; margin-bottom:12px; }
.apb-profil-hero__rating { color:#1A1A2E; }
.apb-profil-hero__count { color:#6B7280; }
.apb-profil-hero__actions { display:flex; gap:12px; align-items:center; margin-top:16px; }

.apb-profil-section { margin-bottom:40px; }
.apb-profil-section h2 { margin:0 0 16px 0; color:#185FA5; font-size:1.35rem; }
.apb-profil-description { line-height:1.7; color:#1A1A2E; }
.apb-profil-cats { display:flex; flex-wrap:wrap; gap:8px; }

.apb-profil-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap:16px; }
.apb-profil-info { background:#F7F8FA; border-radius:12px; padding:14px; }
.apb-profil-info strong { display:block; color:#6B7280; font-size:0.85rem; margin-bottom:4px; text-transform:uppercase; letter-spacing:0.5px; }

.apb-map { width:100%; }
.apb-map-fallback { padding:16px; background:#F7F8FA; border-radius:12px; color:#334155; }

.apb-reviews__title { color:#185FA5; font-size:1.35rem; display:flex; align-items:center; gap:12px; }
.apb-reviews__avg { color:#E6892A; font-weight:600; font-size:1rem; }
.apb-reviews__empty { color:#6B7280; }
.apb-reviews__list { list-style:none; padding:0; margin:0 0 24px 0; }
.apb-review { background:#FFFFFF; border:1px solid #E2E6EA; border-radius:12px; padding:16px; margin-bottom:12px; }
.apb-review__head { display:flex; gap:12px; align-items:center; margin-bottom:8px; font-size:0.9rem; }
.apb-review__rating { color:#E6892A; }
.apb-review__date { color:#6B7280; margin-left:auto; }
.apb-review__content { margin:0; line-height:1.6; }

.apb-review-form, .apb-contact-form { background:#F7F8FA; border-radius:16px; padding:20px; max-width:640px; }
.apb-review-form h4, .apb-contact-form h3 { margin:0 0 16px 0; color:#185FA5; }
.apb-field { display:flex; flex-direction:column; gap:4px; margin-bottom:12px; }
.apb-field span { font-size:0.85rem; color:#6B7280; }
.apb-field input, .apb-field select, .apb-field textarea { padding:10px 12px; border:1px solid #E2E6EA; border-radius:8px; font-family:inherit; font-size:0.95rem; background:#FFFFFF; }
.apb-field textarea { resize:vertical; }
.apb-review-form__msg, .apb-contact-form__msg { margin:12px 0 0 0; font-size:0.9rem; }
