/* Dog profile sheet on phones (public/js/dog-profile-sheet.js). Above
   Bootstrap modals (1055) and SweetAlert (1060). */
.dps { position: fixed; inset: 0; z-index: 2100; }
.dps[hidden] { display: none; }
.dps-backdrop { position: absolute; inset: 0; background: rgba(15, 23, 42, .45); opacity: 0; transition: opacity .2s ease; }
.dps-panel { position: absolute; inset-inline: 0; bottom: 0; top: max(24px, env(safe-area-inset-top));
    display: flex; flex-direction: column; background: var(--bs-body-bg, #fff); color: var(--bs-body-color, #212529);
    border-radius: 18px 18px 0 0; box-shadow: 0 -8px 30px rgba(0,0,0,.18);
    transform: translateY(100%); transition: transform .22s ease; }
.dps.is-open .dps-backdrop { opacity: 1; }
.dps.is-open .dps-panel { transform: translateY(0); }
.dps-head { display: flex; align-items: center; gap: 8px; padding: 12px 12px 10px; border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0,0,0,.08)); }
.dps-title { flex: 1; min-width: 0; margin: 0; font-size: 1.1rem; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dps-close { flex: 0 0 44px; height: 44px; border: 0; border-radius: 12px; background: var(--bs-tertiary-bg, #f1f3f5); color: inherit; font-size: 1.1rem; }
.dps-full { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 12px; font-size: .9rem; font-weight: 600;
    text-decoration: none; color: #0f766e; background: rgba(15, 118, 110, .1); white-space: nowrap; }
.dps-body { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    padding: 16px 16px calc(24px + env(safe-area-inset-bottom)); outline: none; }
.dps-loading { display: grid; place-items: center; padding: 48px 0; color: #0f766e; }
html.dps-open, html.dps-open body { overflow: hidden; }
@media (prefers-reduced-motion: reduce) { .dps-backdrop, .dps-panel { transition: none; } }
