/* Public profile and the exact same presentation in PRO previews. */
.public-profile-page.container { max-width:1200px; }
.public-profile-page .listing-layout { display:block; }
.public-profile { --profile-accent:#4338ca; --profile-tint:#f0f3ff; --profile-line:#c7d2fe; display:grid; grid-template-columns:minmax(0,1fr); gap:1.5rem 2rem; padding:1.75rem; margin-bottom:2rem; border:1px solid var(--profile-line); border-top:3px solid #6366f1; border-radius:16px; background:var(--profile-tint); color:var(--text-primary); }
.public-profile-pro { background:var(--bg-primary); }
.public-profile-pro .public-profile-contact { background:var(--profile-tint); border-color:var(--profile-line); }
[data-theme="dark"] .public-profile { --profile-accent:#c7d2fe; --profile-tint:#1c2742; --profile-line:#465683; }
.public-profile-back { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; margin:0 0 .8rem; color:#4338ca; font-weight:600; text-decoration:none; }
.public-profile-back:hover { text-decoration:underline; text-underline-offset:3px; }
.public-profile-back:focus-visible { outline:2px solid #6366f1; outline-offset:3px; }
[data-theme="dark"] .public-profile-back { color:#c7d2fe; }
.public-profile:has(.public-profile-contact) { grid-template-columns:minmax(0,1fr) 260px; }
.public-profile-identity { grid-column:1 / -1; display:grid; grid-template-columns:80px minmax(0,1fr) auto; align-items:center; gap:1rem; min-width:0; }
.public-profile-avatar { width:80px; height:80px; border:3px solid var(--border-color); border-radius:50%; background:var(--bg-primary); flex:0 0 80px; display:grid; place-items:center; overflow:hidden; }
.public-profile-avatar .avatar, .public-profile-avatar img { width:100%; height:100%; border-radius:50%; object-fit:cover; border:0; box-shadow:none; transform:none; transition:none; font-size:32px; display:flex; justify-content:center; align-items:center; }
.public-profile-heading { min-width:0; flex:1; }
.public-profile-heading h1, .public-profile-heading h3 { margin:0; font-size:clamp(1.35rem,3vw,1.9rem); line-height:1.2; overflow-wrap:anywhere; }
.public-profile-badges { display:flex; gap:.45rem; flex-wrap:wrap; align-items:center; margin-top:.6rem; }
.public-profile-pro-badge { display:inline-flex; align-items:center; gap:.3rem; padding:.2rem .55rem; border-radius:6px; font-size:.75rem; font-weight:600; background:#047857; color:#fff; }
.public-profile .public-profile-company { font-size:1.1rem; font-weight:600; margin:.7rem 0 0; color:var(--text-primary); overflow-wrap:anywhere; }
.public-profile-meta { display:flex; gap:.5rem 1.2rem; flex-wrap:wrap; margin-top:.65rem; font-size:.875rem; color:var(--text-secondary); }
.public-profile-meta > span { display:inline-flex; align-items:center; gap:.35rem; }
.public-profile-share { display:inline-flex; gap:.5rem; align-items:center; justify-content:center; border:1px solid var(--profile-line); background:var(--bg-primary); border-radius:8px; padding:.6rem .8rem; min-height:44px; color:var(--profile-accent); font:inherit; font-size:.875rem; cursor:pointer; }
.public-profile-share:hover { border-color:var(--profile-accent); }
.public-profile-contact { grid-column:2; grid-row:2; display:flex; flex-direction:column; align-self:start; padding:1.1rem; gap:.5rem; background:var(--bg-secondary); border:1px solid var(--border-color); border-radius:12px; min-width:0; }
.public-profile .public-profile-contact-title { margin:0 0 .4rem; font-weight:600; color:var(--text-primary); overflow-wrap:anywhere; }
.public-profile-button { display:flex; justify-content:center; align-items:center; gap:.5rem; min-height:44px; padding:.6rem .75rem; border:1px solid var(--border-color); border-radius:8px; background:var(--bg-primary); color:var(--text-primary); font-weight:600; font-size:.9rem; text-decoration:none; line-height:1.4; }
.public-profile .public-profile-primary { background:#4f46e5; border-color:#4f46e5; color:#fff; }
.public-profile a.public-profile-primary:hover { background:#4338ca; color:#fff; }
.public-profile-domain { color:var(--text-secondary); font-size:.8rem; text-align:center; overflow-wrap:anywhere; margin-bottom:.25rem; }
.public-profile-presentation { grid-column:1; grid-row:2; min-width:0; max-width:72ch; }
.public-profile-presentation h2, .public-profile-presentation h4 { font-size:1.05rem; margin:0 0 .65rem; }
.public-profile-presentation p { font-size:1rem; line-height:1.65; margin:0; color:var(--text-secondary); overflow-wrap:anywhere; }
.public-profile-presentation p + h2 { margin-top:1.5rem; }
.public-profile-socials { display:flex; flex-wrap:wrap; gap:.4rem 1rem; margin-top:.6rem; }
.public-profile-socials a { display:inline-flex; align-items:center; gap:.4rem; min-height:44px; color:var(--text-secondary); }
.public-profile-owner { grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:.35rem 1.5rem; border-top:1px solid var(--border-color); padding-top:1rem; color:var(--text-secondary); font-size:.875rem; }
.public-profile-owner a, .public-profile-owner > span { display:inline-flex; gap:.4rem; align-items:center; min-height:44px; }
.public-profile-owner a { color:var(--text-primary); text-underline-offset:3px; }
.public-profile :is(a,button):focus-visible, .profile-catalog-search :is(input,button,a):focus-visible { outline:2px solid #6366f1; outline-offset:4px; }
.public-profile svg { flex-shrink:0; }
.public-profile-preview { margin:1rem 0 1.5rem; padding:1.25rem; }
.public-profile-example-label { margin:.75rem 0; font-size:.875rem; color:var(--text-secondary); }
.public-profile-preview .public-profile-heading h3 { font-size:1.25rem; }
.public-profile-page #profile-annonces { scroll-margin-top:110px; }
.public-profile-page .results-count { min-width:0; overflow-wrap:anywhere; color:var(--text-primary); font-size:1.2rem; }
.profile-catalog-count { display:inline-block; padding:.1rem .45rem; border-radius:6px; background:#e8edff; color:#4338ca; font-size:.9rem; font-weight:600; white-space:nowrap; }
[data-theme="dark"] .profile-catalog-count { background:#253253; color:#c7d2fe; }
.profile-catalog-search { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin:0 0 1.25rem; }
.profile-catalog-search label { flex-basis:100%; font-size:.9rem; font-weight:600; }
.profile-catalog-search input { flex:1; min-width:140px; max-width:440px; }
.profile-catalog-search button, .profile-catalog-search a { min-height:44px; display:inline-flex; align-items:center; gap:.4rem; }
@media(min-width:769px) { .public-profile-page .classifieds-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:700px) {
    .public-profile, .public-profile:has(.public-profile-contact) { grid-template-columns:minmax(0,1fr); padding:1.2rem; gap:1.25rem; }
    .public-profile-identity { grid-template-columns:64px minmax(0,1fr); gap:.85rem; align-items:start; }
    .public-profile-avatar { width:64px; height:64px; flex-basis:64px; }
    .public-profile-avatar .avatar { font-size:28px; }
    .public-profile-share { grid-column:1 / -1; justify-self:end; }
    .public-profile-contact { grid-column:1; grid-row:auto; }
    .public-profile-presentation { grid-row:auto; }
    .public-profile-preview { padding:1rem; }
    .public-profile-page .results-toolbar { gap:1rem; }
}

.public-profile-preview .public-profile-identity { grid-template-columns:80px minmax(0,1fr); }
@media(max-width:700px) { .public-profile-preview .public-profile-identity { grid-template-columns:64px minmax(0,1fr); } }
.public-profile-page .toolbar-actions { flex-wrap:wrap; max-width:100%; }
.public-profile-page .toolbar-sort { min-width:0; }
.public-profile-page .toolbar-select { max-width:100%; }
@media(max-width:400px) { .public-profile-page .toolbar-separator { display:none; } }
@media(min-width:701px) {
    .public-profile:has(.public-profile-contact) { grid-template-rows:min-content 1fr; }
    .public-profile:has(.public-profile-contact) .public-profile-identity { grid-column:1; grid-template-columns:80px minmax(0,1fr); align-items:start; }
    .public-profile:has(.public-profile-contact) .public-profile-share { grid-column:2; justify-self:start; }
    .public-profile-contact { grid-row:1 / span 2; }
}
