/* Header login button / profile chip (TPL Accounts) */
.tpl-register-btn:not(.tpla-ready){visibility:hidden;animation:tplaReveal 0s 2s forwards}
@keyframes tplaReveal{to{visibility:visible}}
.tpla-chip-wrap{position:relative;display:inline-block;font-family:'Inter',sans-serif}
.tpla-chip{display:inline-flex!important;align-items:center;gap:8px;background:#111!important;color:#fff!important;border:2px solid #111!important;padding:4px 12px 4px 4px!important;cursor:pointer;font:800 11px 'Inter',sans-serif!important;letter-spacing:1px;text-transform:uppercase;border-radius:0!important;line-height:1!important;box-shadow:none!important;transition:all .2s}
.tpla-chip:hover,.tpla-chip-wrap.open .tpla-chip{background:#FFCC00!important;color:#111!important}
.tpla-chip-av{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:#FFCC00;color:#111;overflow:hidden;flex:none;font:900 14px 'Playfair Display',serif}
.tpla-chip-av img{width:100%;height:100%;object-fit:cover;display:block}
.tpla-chip-name{max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tpla-chip-caret{font-size:10px}
.tpla-chip-menu{display:none;position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:#fff;border:2px solid #111;box-shadow:6px 6px 0 #111;z-index:99999;text-align:left}
.tpla-chip-wrap.open .tpla-chip-menu{display:block}
.tpla-chip-who{padding:12px 14px;border-bottom:2px solid #111;font:700 15px 'Playfair Display',serif;color:#111}
.tpla-chip-who small{display:block;font:600 11px 'Inter',sans-serif;color:#666;margin-top:3px;letter-spacing:.5px}
.tpla-chip-menu a{display:block;padding:11px 14px;font:800 11px 'Inter',sans-serif;letter-spacing:1px;text-transform:uppercase;color:#111!important;text-decoration:none!important;border-bottom:1px solid #eee}
.tpla-chip-menu a:hover{background:#FFCC00}
.tpla-chip-menu a.tpla-chip-out{border-bottom:0;color:#b00!important}
@media (max-width:600px){.tpla-chip-name{display:none}.tpla-chip{padding:4px 8px 4px 4px!important}}

/* Floating WRITE button (verified writers only) */
a.tpla-fab{position:fixed!important;right:24px!important;bottom:24px!important;z-index:9990!important;width:66px!important;height:66px!important;border-radius:50%!important;background:#FFCC00!important;border:3px solid #111!important;box-shadow:5px 5px 0 #111!important;display:flex!important;align-items:center!important;justify-content:center!important;text-decoration:none!important;transition:transform .15s,box-shadow .15s!important;padding:0!important;margin:0!important}
a.tpla-fab:hover,a.tpla-fab:focus-visible{transform:translate(-2px,-2px)!important;box-shadow:7px 7px 0 #111!important;outline:none!important}
a.tpla-fab:active{transform:translate(3px,3px)!important;box-shadow:2px 2px 0 #111!important}
a.tpla-fab svg{display:block!important;margin-top:-2px}
a.tpla-fab .tpla-fab-label{position:absolute!important;right:76px!important;top:50%!important;transform:translateY(-50%)!important;background:#111!important;color:#FFCC00!important;font:800 12px/1 Inter,Arial,sans-serif!important;letter-spacing:.14em!important;padding:9px 12px!important;border:2px solid #111!important;white-space:nowrap!important;opacity:0!important;pointer-events:none!important;transition:opacity .15s!important}
a.tpla-fab:hover .tpla-fab-label,a.tpla-fab:focus-visible .tpla-fab-label{opacity:1!important}
body.tpla-modal-open a.tpla-fab{display:none!important}
@media (max-width:767px){a.tpla-fab{right:16px!important;bottom:calc(16px + env(safe-area-inset-bottom,0px))!important;width:58px!important;height:58px!important;box-shadow:4px 4px 0 #111!important}a.tpla-fab svg{width:30px;height:30px}}
@media print{a.tpla-fab{display:none!important}}

/* ===== Hover/focus contrast guard (beats the theme's link-hover colours) ===== */
.tpla-chip-menu a:not(#tpla-z):hover,.tpla-chip-menu a:not(#tpla-z):focus,.tpla-chip-menu a:not(#tpla-z):active{background:#FFCC00!important;color:#111!important}
.tpla-chip-menu a.tpla-chip-out:not(#tpla-z):hover,.tpla-chip-menu a.tpla-chip-out:not(#tpla-z):focus{background:#111!important;color:#FFCC00!important}
.tpla-chip:not(#tpla-z):hover,.tpla-chip:not(#tpla-z):focus,.tpla-chip-wrap.open .tpla-chip:not(#tpla-z){background:#FFCC00!important;color:#111!important}
.tpla-chip:not(#tpla-z):hover *,.tpla-chip:not(#tpla-z):focus *,.tpla-chip-wrap.open .tpla-chip:not(#tpla-z) *{color:#111!important}
.tpla-chip:not(#tpla-z):hover .tpla-chip-av,.tpla-chip-wrap.open .tpla-chip:not(#tpla-z) .tpla-chip-av{background:#111!important;color:#FFCC00!important}
.tpla-chip:not(#tpla-z):hover .tpla-chip-av span,.tpla-chip-wrap.open .tpla-chip:not(#tpla-z) .tpla-chip-av span{color:#FFCC00!important}
a.tpla-fab:not(#tpla-z):hover,a.tpla-fab:not(#tpla-z):focus{background:#FFCC00!important;color:#111!important}
a.tpla-fab:not(#tpla-z) .tpla-fab-label{background:#111!important;color:#FFCC00!important}

/* Promo slide-in (visitors/readers) */
.tpla-promo{position:fixed;right:24px;bottom:24px;z-index:9980;width:340px;max-width:calc(100vw - 32px);background:#fff;border:3px solid #111;box-shadow:8px 8px 0 #111;padding:22px 20px 20px;font-family:Inter,Arial,sans-serif;color:#111;transform:translateY(140%);opacity:0;transition:transform .35s ease,opacity .35s ease;pointer-events:none}
.tpla-promo.on{transform:none;opacity:1;pointer-events:auto}
.tpla-promo-x{position:absolute!important;top:6px!important;right:8px!important;background:transparent!important;border:0!important;color:#111!important;font:400 26px/1 Inter,Arial,sans-serif!important;cursor:pointer!important;padding:4px 8px!important;box-shadow:none!important}
.tpla-promo-x:hover,.tpla-promo-x:focus{background:#FFCC00!important;color:#111!important}
.tpla-promo-tag{display:inline-block;background:#111;color:#FFCC00;font:800 10px Inter,Arial,sans-serif;letter-spacing:2px;padding:5px 8px;margin-bottom:10px}
.tpla-promo-h{font:900 24px/1.15 'Playfair Display',Georgia,serif;text-transform:uppercase;margin:0 0 8px;color:#111}
.tpla-promo-h em{font-style:normal;background:#FFCC00;padding:0 4px}
.tpla-promo-p{font-size:14px;line-height:1.5;margin:0 0 14px;color:#333}
.tpla-promo-btns{display:flex;gap:10px;flex-wrap:wrap}
a.tpla-promo-btn{flex:1;text-align:center;background:#FFCC00!important;color:#111!important;border:2px solid #111!important;box-shadow:3px 3px 0 #111;padding:11px 10px!important;font:800 12px Inter,Arial,sans-serif!important;letter-spacing:1px;text-transform:uppercase;text-decoration:none!important}
a.tpla-promo-btn.tpla-promo-btn2{background:#111!important;color:#FFCC00!important}
a.tpla-promo-btn:not(#tpla-z):hover,a.tpla-promo-btn:not(#tpla-z):focus{background:#fff!important;color:#111!important}
@media (max-width:600px){.tpla-promo{left:12px;right:12px;bottom:12px;width:auto;padding:18px 16px 16px}.tpla-promo-h{font-size:20px}}
/* Banner on open forms */
.tpla-banner{max-width:1100px;margin:24px auto 8px;padding:0 16px;font-family:Inter,Arial,sans-serif}
.tpla-banner-in{display:flex;align-items:center;gap:14px 18px;flex-wrap:wrap;background:#111;color:#fff;border:3px solid #111;box-shadow:6px 6px 0 #FFCC00;padding:16px 18px}
.tpla-banner-tag{display:inline-flex;align-items:center;gap:6px;background:#FFCC00;color:#111;font:800 11px Inter,Arial,sans-serif;letter-spacing:1.5px;padding:6px 9px}
.tpla-banner-txt{flex:1 1 320px;font-size:15px;line-height:1.5;color:#eee}
.tpla-banner-txt b{color:#FFCC00}
a.tpla-banner-btn{background:#FFCC00!important;color:#111!important;border:2px solid #FFCC00!important;padding:10px 18px!important;font:800 12px Inter,Arial,sans-serif!important;letter-spacing:1px;text-transform:uppercase;text-decoration:none!important}
a.tpla-banner-btn:not(#tpla-z):hover,a.tpla-banner-btn:not(#tpla-z):focus{background:#fff!important;color:#111!important;border-color:#fff!important}
a.tpla-banner-link{color:#ccc!important;font-size:13px;text-decoration:underline!important}
a.tpla-banner-link:not(#tpla-z):hover{color:#FFCC00!important;background:transparent!important}

/* 1.5.5: the site header/search bar are 100vw wide, which on desktop browsers with a classic scrollbar adds a few px of sideways scroll. Clip it (no effect on sticky headers). */
body{overflow-x:clip}
