/* Personal pages use the same visual language as the overview. */
.back-link { display: inline-flex; align-items: center; min-height: 44px; margin: -.5rem 0 .75rem; font-size: .8125rem; text-decoration: none; }
.profile-header { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; align-items: center; gap: 1.25rem; padding: 1.75rem; background: var(--white); border: 1px solid var(--gray-200); border-radius: var(--radius); box-shadow: var(--shadow); }
.profile-photo { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; border: 3px solid rgb(1 87 153 / .12); }
.profile-info h1 { margin-top: .3rem; font-size: clamp(1.375rem, 3vw, 1.75rem); overflow-wrap: anywhere; }
.profile-summary { font-size: .875rem; color: var(--gray-600); margin-top: .5rem; max-width: 440px; }
.save-link { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; color: var(--gray-600); font-size: .75rem; text-decoration: none; }
.save-link:hover { color: var(--primary); text-decoration: underline; }
.action-btns { grid-column: 2 / -1; margin-top: -.25rem; }
.profile-details { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0 1.75rem; }
.detail-card { min-width: 0; padding: 1.5rem; border: 1px solid var(--gray-200); background: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); }
.contact-list > div { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: .75rem; align-items: center; }
.contact-list dt { font-size: .75rem; color: var(--gray-500); }
.contact-list dd { min-width: 0; }
.contact-list a { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; font-size: .8125rem; color: var(--gray-700); text-decoration: none; overflow-wrap: anywhere; }
.contact-list a:hover { color: var(--primary); text-decoration: underline; }
.contact-list .whatsapp-link { color: var(--primary); font-weight: 600; }
.appointment-link { display: flex; align-items: center; gap: .5rem; min-height: 44px; margin-top: .75rem; padding-top: .75rem; border-top: 1px solid var(--gray-200); font-size: .8125rem; text-decoration: none; }
.appointment-link svg:last-child { margin-left: auto; width: 16px; }
.qual-list { list-style: none; }
.qual-list li { position: relative; padding-left: 1rem; color: var(--gray-700); font-size: .875rem; margin: .6rem 0; }
.qual-list li::before { content: ''; position: absolute; left: 0; top: .6em; width: 5px; height: 5px; border-radius: 50%; background: var(--accent); }
.social-section { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .5rem 1.5rem; margin-top: 1.5rem; }
.social-section > p { font-size: .75rem; color: var(--gray-500); }
.social-links { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.social-link { min-height: 44px; display: inline-flex; align-items: center; gap: .35rem; font-size: .75rem; color: var(--gray-600); text-decoration: none; }
.social-link svg { width: 14px; height: 14px; }
@media (max-width: 900px) { .profile-header { grid-template-columns: 80px minmax(0, 1fr); } .profile-photo { width: 80px; height: 80px; } .save-link { grid-column: 2; grid-row: 2; } .action-btns { grid-column: 1 / -1; } }
@media (max-width: 640px) { .profile-details { grid-template-columns: minmax(0, 1fr); } .profile-header { padding: 1.25rem; gap: 1rem; grid-template-columns: 64px minmax(0, 1fr); } .profile-photo { width: 64px; height: 64px; } .save-link { grid-column: 1 / -1; grid-row: auto; } .action-btns { margin-top: -.5rem; } .action-btns .btn-primary { flex: 1 0 100%; } .action-btns .btn-secondary { flex: 1; } .detail-card { padding: 1.25rem; } }
@media (max-width: 380px) { .contact-list > div { grid-template-columns: minmax(0, 1fr); gap: 0; padding: .25rem 0; } }
