/* TP-VERSION: 1.3.0 — small cauldron-door icon in the main and footer menus. Door follows the link colour; the light under it is Amber Glass. */
.tp-door-icon { height: 1.15em; width: auto; display: inline-block; vertical-align: -0.2em; margin-right: .4em; flex: 0 0 auto; overflow: visible; }
.tp-door-icon__glow { transition: filter .2s ease, opacity .2s ease; opacity: .85; }
a:hover > .tp-door-icon .tp-door-icon__glow, a:focus-visible > .tp-door-icon .tp-door-icon__glow,
.current-menu-item > a > .tp-door-icon .tp-door-icon__glow { opacity: 1; filter: drop-shadow(0 0 2px #B8783A); }
@media (prefers-reduced-motion: reduce) { .tp-door-icon__glow { transition: none; } }

/* The word is kept for screen readers and search engines, but not drawn */
.tp-door-label--hidden { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
.tp-door-icon:has(+ .tp-door-label--hidden) { margin-right: 0; height: 1.35em; vertical-align: -0.3em; }

/* Footer: a larger door. Change --tp-door-footer-size to taste (default 30px tall). */
.tp-footer-menu .tp-door-icon { --tp-door-footer-size: 30px; height: var(--tp-door-footer-size); vertical-align: middle; }
.tp-footer-menu > li:has(.tp-door-icon) { display: flex; align-items: center; }

/* Footer: social icons on their own row under the other links */
.tp-footer-menu:has(> .tp-social)::after { content: ""; order: 1; flex-basis: 100%; height: 0; }
.tp-footer-menu > li.tp-social { order: 2; }
.tp-footer-menu:has(> .tp-social) { row-gap: 1.1rem; }

/* Footer: the door on its own row, beneath the social icons (links, then social, then door).
   To keep the door in the social row instead, delete the next three rules. */
.tp-footer-menu:has(> .tp-social):has(.tp-door-icon)::before { content: ""; order: 3; flex-basis: 100%; height: 0; }
.tp-footer-menu:has(> .tp-social) > li:has(.tp-door-icon) { order: 4; }
.tp-footer-menu:has(> .tp-social):has(.tp-door-icon) { row-gap: 1.1rem; }
