.moser-sticky-ad {
    /* 1. Essential for sticking */
    position: -webkit-sticky; /* Safari support */
    position: sticky;
    
    /* 2. Offset from top */
    /* 110px is an estimate for NHRA's header height. Adjust as needed. */
    top: 150px; 
    
    /* 3. Layout behaviors */
    width: 100%;           /* Fills the sidebar width */
    z-index: 90;           /* High enough to float, low enough to stay under menu */
    margin-bottom: 20px;   /* Buffer space at bottom */
    text-align: center;
}

/* --- 1. The Container (Frame) --- */
.moser-sticky-wrapper {
  position: -webkit-sticky;
  position: sticky;
  top: 135px; /* Adjust if hitting your menu */
  z-index: 1000;
  width: 100%;
  background-color: #ffffff;
  border: 4px solid #333; /* Dark thick frame */
  box-shadow: 0 10px 20px rgba(0,0,0,0.15);
  margin-bottom: 30px;
  box-sizing: border-box; /* Ensures border doesn't widen page */
}

/* --- 2. The Header Bar --- */
.moser-frame-header {
  background-color: #333; /* Matches border */
  padding: 5px 10px;
  display: flex;
  justify-content: flex-end; /* Pushes button right */
  align-items: center;
}

/* --- 3. The Close Button --- */
.moser-close-btn {
  background-color: #ff0000; /* Red */
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 14px;
  font-weight: bold;
  text-transform: uppercase;
  padding: 5px 12px;
  cursor: pointer;
  border-radius: 3px;
  line-height: 1;
}
.moser-close-btn:hover { background-color: #cc0000; }

/* --- 4. Ad Content Area --- */
.moser-ad-content {
  padding: 15px 0;
  display: flex;
  justify-content: center;
  min-height: 90px;
  background: #f9f9f9;
}

/* --- MOBILE ADJUSTMENTS (Stricter fit) --- */
@media only screen and (max-width: 991px) {
  .moser-sticky-wrapper {
    top: 50px; /* Lower offset for mobile headers */
    border-width: 2px;
    margin-left: -30px; /* Counteract page padding if needed */
    width: 100vw;
  }
  .moser-ad-content {
    padding: 10px 0;
    min-height: 50px;
  }
  
}



