/* Halm Ad Manager – front end */
.ham-block { clear: both; margin: 16px 0; max-width: 100%; overflow: hidden; }
.ham-block .ham-v { max-width: 100%; }
.ham-align-left { text-align: left; }
.ham-align-center { text-align: center; }
.ham-align-center .ham-v > ins, .ham-align-center .ham-v > iframe, .ham-align-center .ham-v > img { margin-left: auto; margin-right: auto; }
.ham-align-right { text-align: right; }
.ham-align-float_left { float: left; clear: none; margin: 4px 20px 12px 0; max-width: 50%; }
.ham-align-float_right { float: right; clear: none; margin: 4px 0 12px 20px; max-width: 50%; }
.ham-label { font-size: 11px; line-height: 1.4; letter-spacing: .06em; text-transform: uppercase; color: #8a8a8a; margin-bottom: 4px; text-align: center; }
.ham-between { clear: both; }

/* Sticky / floating slots */
.ham-sticky { position: fixed; z-index: 99990; box-sizing: border-box; }
.ham-sticky[hidden] { display: none !important; }
.ham-sticky .ham-block { margin: 0; }
.ham-sticky-bottom, .ham-sticky-top { left: 0; right: 0; display: flex; justify-content: center; background: rgba(255,255,255,.97); box-shadow: 0 0 12px rgba(0,0,0,.15); padding: 4px 32px; }
.ham-sticky-bottom { bottom: 0; }
.ham-sticky-top { top: 0; }
body.admin-bar .ham-sticky-top { top: 32px; }
.ham-sticky-left, .ham-sticky-right { top: 50%; transform: translateY(-50%); max-width: 300px; }
.ham-sticky-left { left: 8px; }
.ham-sticky-right { right: 8px; }
.ham-sticky-bottom-left, .ham-sticky-bottom-right { bottom: 12px; max-width: 340px; background: #fff; box-shadow: 0 4px 18px rgba(0,0,0,.2); border-radius: 6px; padding: 6px; }
.ham-sticky-bottom-left { left: 12px; }
.ham-sticky-bottom-right { right: 12px; }
@media (max-width: 1400px) { .ham-sticky-left, .ham-sticky-right { display: none; } }
@media (max-width: 782px) { body.admin-bar .ham-sticky-top { top: 46px; } }

.ham-close { position: absolute; top: -10px; right: -10px; width: 24px; height: 24px; padding: 0; border: 0; border-radius: 50%; background: #333; color: #fff; font: 700 16px/24px Arial, sans-serif; text-align: center; cursor: pointer; z-index: 2; }
.ham-sticky-bottom .ham-close, .ham-sticky-top .ham-close { top: 50%; right: 8px; transform: translateY(-50%); }
.ham-close:hover, .ham-close:focus { background: #000; }

.ham-sticky-widget { position: -webkit-sticky; position: sticky; top: 24px; }
body.admin-bar .ham-sticky-widget { top: 56px; }
li.ham-between { list-style: none; grid-column: 1 / -1; width: 100%; }

/* Ad-blocker notice */
.ham-ntc[hidden] { display: none !important; }
.ham-ntc-popup, .ham-ntc-blocking { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0,0,0,.55); }
.ham-ntc-blocking { background: rgba(0,0,0,.85); }
html.ham-ntc-open, html.ham-ntc-open body { overflow: hidden; }
.ham-ntc-box { max-width: 460px; width: 100%; background: #fff; color: #1d2327; border-radius: 10px; padding: 24px; box-shadow: 0 10px 40px rgba(0,0,0,.3); font: 15px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; text-align: center; }
.ham-ntc-box h2 { margin: 0 0 8px; font-size: 20px; line-height: 1.3; color: inherit; }
.ham-ntc-msg p { margin: 0 0 12px; }
.ham-ntc-actions { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; margin-top: 8px; }
.ham-ntc-actions button { border: 0; border-radius: 6px; padding: 9px 16px; font: 600 14px/1.2 inherit; cursor: pointer; background: #e5e5e5; color: #1d2327; }
.ham-ntc-actions .ham-ntc-reload { background: #d63638; color: #fff; }
.ham-ntc-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 999999; }
.ham-ntc-bar .ham-ntc-box { max-width: none; border-radius: 0; padding: 12px 16px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 4px 16px; text-align: left; box-shadow: 0 -4px 16px rgba(0,0,0,.2); }
.ham-ntc-bar h2 { font-size: 16px; margin: 0; }
.ham-ntc-bar .ham-ntc-msg p { margin: 0; }
.ham-ntc-bar .ham-ntc-actions { margin: 0; }
html.ham-adblock .ham-label { display: none; }
