/* Deferred shared Header interaction and hidden-UI presentation. */
.pmdh__action {
    transition: transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.pmdh__action:hover {
    transform: translateY(-1px);
    border-color: var(--pmdh-glass-border-hover);
    background: var(--pmdh-glass-background-hover);
    box-shadow: var(--pmdh-glass-shadow-hover);
}
.pmdh .pmdh__action:hover { color: #fff !important; text-decoration: none !important; }

/* Theme-neutral mouse states are interaction-only and do not belong to first paint. */
.pmdh .pmdh__breadcrumbs a:hover,
.pmdh .pmdh__breadcrumbs a:active {
    color: #fff !important;
    text-decoration: none !important;
    background: transparent !important;
    background-image: none !important;
    border-bottom-color: transparent !important;
    box-shadow: none !important;
    transform: none !important;
}

/* Detail-only interaction paint is safe here because this file is cacheable and non-blocking. */
.pmdh .pmdh-save:not(.is-active) .pmdh-save__trigger:is(:hover, :active),
.pmdh .pmdh-save:not(.is-active):has(.pmdh-save__menu:popover-open) .pmdh-save__trigger {
    border-color: var(--pmdh-glass-border-hover) !important;
    background-color: var(--pmdh-glass-background-hover) !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: var(--pmdh-glass-shadow-hover) !important;
}
.pmdh .pmdh-save.is-active .pmdh-save__trigger:is(:hover, :active),
.pmdh .pmdh-save.is-active:has(.pmdh-save__menu:popover-open) .pmdh-save__trigger {
    border-color: var(--pmdh-save-active-border) !important;
    background-color: var(--pmdh-save-active-background) !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: var(--pmdh-save-active-shadow) !important;
}
.pmdh .pmdh-save.is-active .pmdh-save__trigger:hover { background-color: var(--pmdh-save-active-background-hover) !important; }
.pmdh-map__image { transition: transform .18s ease; }
.pmdh-map__image-wrap[href]:hover .pmdh-map__image { transform: scale(1.012); }
.pmdh-map__cta { transition: color .18s ease; }
.pmdh-map__cta:hover { background: transparent; color: #fff !important; }
.pmdh__badge[href]:hover,
.pmdh__badge--button:hover {
    border-color: var(--pmdh-glass-border-hover);
    background: var(--pmdh-glass-background-hover);
    color: #fff !important;
    box-shadow: var(--pmdh-glass-shadow-hover);
    transform: translateY(-1px);
}
.pmdh__badge--polar:has(+ .pmdh-polar:popover-open) { opacity: 0; pointer-events: none; }

/* Topic identifier hover is interaction-only. */
.pmdh--taxonomy-topic .pmdh-idlink { transition: transform .15s ease, border-color .15s ease, background .15s ease; }
.pmdh--taxonomy-topic .pmdh-idlink:hover {
    transform: translateY(-1px);
    border-color: rgba(255,255,255,.92);
    background: rgba(255,255,255,.17);
    color: #fff !important;
}

@media (prefers-reduced-motion: reduce) {
    .pmdh *, .pmdh *::before, .pmdh *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* Status toast is hidden until an interaction asks for it. */
.pmdh-global-toast[popover] { display: none; }
.pmdh-global-toast:popover-open { display: block; }
.pmdh-global-toast {
    position: fixed;
    z-index: 2147483647;
    top: max(16px, env(safe-area-inset-top));
    left: 50%;
    max-width: min(92vw, 520px);
    margin: 0;
    padding: .8rem 1rem;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: var(--pmdh-radius);
    background: rgba(3,31,54,.96);
    color: #fff;
    font-family: var(--pmdh-font-family);
    font-size: var(--pmdh-font-size-md);
    font-weight: var(--pmdh-font-weight-semibold);
    line-height: var(--pmdh-line-height-snug);
    text-align: center;
    box-shadow: 0 14px 42px rgba(0,0,0,.28);
    transform: translate(-50%, -18px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}
.pmdh-global-toast:popover-open,
.pmdh-global-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.admin-bar .pmdh-global-toast { top: max(46px, calc(env(safe-area-inset-top) + 34px)); }
@media (max-width: 782px) {
    .admin-bar .pmdh-global-toast { top: max(60px, calc(env(safe-area-inset-top) + 48px)); }
}

/* Shared close control exists only in drawers/modals that are closed at first paint. */
button.pmdh-close {
    appearance:none;
    -webkit-appearance:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:42px;
    height:42px;
    flex:0 0 42px;
    border:1px solid var(--pmdh-glass-border) !important;
    border-radius:50%;
    background:var(--pmdh-glass-background) !important;
    color:#fff !important;
    box-shadow:none !important;
    cursor:pointer;
    text-decoration:none !important;
}
button.pmdh-close:hover {
    border-color:var(--pmdh-glass-border-hover) !important;
    background:var(--pmdh-glass-background-hover) !important;
    color:#fff !important;
    box-shadow:none !important;
    outline:2px solid var(--pmdh-glass-border-hover);
    outline-offset:2px;
}
