/* Accueil : photos des soins et des packs, bandeau « moment sur mesure » (voir js/accueil-photos.js) */
.soin-icon.ap-photo { width: 64px; height: 64px; padding: 0; overflow: hidden; border: 2px solid #fff; box-shadow: 0 0 0 1px rgba(166,124,82,0.3), 0 6px 16px rgba(60,40,20,0.12); }
.soin-icon.ap-photo img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s ease; }
.soin-card:hover .soin-icon.ap-photo img { transform: scale(1.08); }

.pack-head.ap-head { position: relative; padding-right: 5.2rem; }
.ap-pack { position: absolute; right: 1.1rem; top: 50%; width: 56px; height: 56px; margin-top: -28px; border-radius: 50%; object-fit: cover;
  border: 2px solid rgba(255,255,255,0.9); box-shadow: 0 6px 16px rgba(60,40,20,0.18); transition: transform .5s ease; }
.pack-card:hover .ap-pack { transform: scale(1.08); }

/* Bandeau compact « moment sur mesure » */
.ap-sm { display: flex; align-items: center; gap: 0.9rem; flex-wrap: wrap; margin: 2rem auto 0; max-width: 980px; padding: 0.9rem 1.1rem;
  border-radius: 16px; background: #FBF5EC; border: 1px solid rgba(166,124,82,0.28); text-align: left; }
.ap-sm-photo { width: 52px; height: 52px; border-radius: 12px; object-fit: cover; flex: none; }
.ap-sm-corps { flex: 1 1 240px; min-width: 0; }
.ap-sm-titre { margin: 0; font-family: var(--serif); font-size: 1.15rem; color: #2B2118; line-height: 1.25; }
.ap-sm-texte { margin: 0.15rem 0 0; font-size: 0.82rem; color: #6B5B4B; line-height: 1.45; }
.ap-sm-actions { display: flex; gap: 0.45rem; flex-wrap: wrap; }
.ap-sm-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 0.95rem; border-radius: 999px;
  font-size: 0.8rem; font-weight: 600; text-decoration: none; white-space: nowrap; }
.ap-sm-tel { background: var(--accent); color: #fff; }
.ap-sm-wa { background: #fff; color: #1E7A47; border: 1px solid rgba(37,160,90,0.45); }
.ap-sm-mail { background: #fff; color: #7E5A36; border: 1px solid rgba(143,104,66,0.35); }
.ap-sm-btn:hover { filter: brightness(0.96); }
@media (max-width: 600px) {
  .ap-sm-actions { width: 100%; } .ap-sm-btn { flex: 1; padding: 0 0.5rem; }
  .pack-head.ap-head { padding-right: 4.6rem; } .ap-pack { width: 48px; height: 48px; margin-top: -24px; right: 0.9rem; }
}
